+++ /dev/null
-From 19be0eaffa3ac7d8eb6784ad9bdbc7d67ed8e619 Mon Sep 17 00:00:00 2001
-From: Linus Torvalds <torvalds@linux-foundation.org>
-Date: Thu, 13 Oct 2016 13:07:36 -0700
-Subject: mm: remove gup_flags FOLL_WRITE games from __get_user_pages()
-
-This is an ancient bug that was actually attempted to be fixed once
-(badly) by me eleven years ago in commit 4ceb5db9757a ("Fix
-get_user_pages() race for write access") but that was then undone due to
-problems on s390 by commit f33ea7f404e5 ("fix get_user_pages bug").
-
-In the meantime, the s390 situation has long been fixed, and we can now
-fix it by checking the pte_dirty() bit properly (and do it better). The
-s390 dirty bit was implemented in abf09bed3cce ("s390/mm: implement
-software dirty bits") which made it into v3.9. Earlier kernels will
-have to look at the page state itself.
-
-Also, the VM has become more scalable, and what used a purely
-theoretical race back then has become easier to trigger.
-
-To fix it, we introduce a new internal FOLL_COW flag to mark the "yes,
-we already did a COW" rather than play racy games with FOLL_WRITE that
-is very fundamental, and then use the pte dirty flag to validate that
-the FOLL_COW flag is still valid.
-
-Reported-and-tested-by: Phil "not Paul" Oester <kernel@linuxace.com>
-Acked-by: Hugh Dickins <hughd@google.com>
-Reviewed-by: Michal Hocko <mhocko@suse.com>
-Cc: Andy Lutomirski <luto@kernel.org>
-Cc: Kees Cook <keescook@chromium.org>
-Cc: Oleg Nesterov <oleg@redhat.com>
-Cc: Willy Tarreau <w@1wt.eu>
-Cc: Nick Piggin <npiggin@gmail.com>
-Cc: Greg Thelen <gthelen@google.com>
-Cc: stable@vger.kernel.org
-Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
----
- include/linux/mm.h | 1 +
- mm/memory.c | 15 ++++++++++++--
- 2 files changed, 14 insertions(+), 2 deletions(-)
-
-diff --git a/include/linux/mm.h b/include/linux/mm.h
-index e9caec6..ed85879 100644
---- a/include/linux/mm.h
-+++ b/include/linux/mm.h
-@@ -1971,6 +1971,7 @@ static inline struct page *follow_page(struct vm_area_struct *vma,
- #define FOLL_NUMA 0x200 /* force NUMA hinting page fault */
- #define FOLL_MIGRATION 0x400 /* wait for page to replace migration entry */
- #define FOLL_TRIED 0x800 /* a retry, previous pass started an IO */
-+#define FOLL_COW 0x4000 /* internal GUP flag */
-
- typedef int (*pte_fn_t)(pte_t *pte, pgtable_t token, unsigned long addr,
- void *data);
-diff --git a/mm/memory.c b/mm/memory.c
-index fce5131..f62b9f7 100644
---- a/mm/memory.c
-+++ b/mm/memory.c
-@@ -1467,6 +1467,17 @@ int zap_vma_ptes(struct vm_area_struct *vma, unsigned long address,
- }
- EXPORT_SYMBOL_GPL(zap_vma_ptes);
-
-+/*
-+ * FOLL_FORCE can write to even unwritable pte's, but only
-+ * after we've gone through a COW cycle and they are dirty.
-+ */
-+static inline bool can_follow_write_pte(pte_t pte, unsigned int flags)
-+{
-+ return pte_write(pte) ||
-+ ((flags & FOLL_FORCE) && (flags & FOLL_COW) && pte_dirty(pte));
-+}
-+
-+
- /**
- * follow_page_mask - look up a page descriptor from a user-virtual address
- * @vma: vm_area_struct mapping @address
-@@ -1588,7 +1599,7 @@ split_fallthrough:
- }
- if ((flags & FOLL_NUMA) && pte_numa(pte))
- goto no_page;
-- if ((flags & FOLL_WRITE) && !pte_write(pte))
-+ if ((flags & FOLL_WRITE) && !can_follow_write_pte(pte, flags))
- goto unlock;
-
- page = vm_normal_page(vma, address, pte);
-@@ -1900,7 +1911,7 @@ long __get_user_pages(struct task_struct *tsk, struct mm_struct *mm,
- */
- if ((ret & VM_FAULT_WRITE) &&
- !(vma->vm_flags & VM_WRITE))
-- foll_flags &= ~FOLL_WRITE;
-+ foll_flags |= FOLL_COW;
-
- cond_resched();
- }
RELEASE=3.4
KERNEL_VER=3.10.0
-PKGREL=50
+PKGREL=51
# also include firmware of previous versrion into
# the fw package: fwlist-2.6.32-PREV-pve
-KREL=21
+KREL=22
-RHKVER=327.36.2.el7
+RHKVER=514.el7
KERNELSRCRPM=kernel-${KERNEL_VER}-${RHKVER}.src.rpm
KERNEL_CFG_ORG=${RHKERSRCDIR}/kernel-${KERNEL_VER}-x86_64.config
FW_VER=1.1
-FW_REL=5
+FW_REL=6
FW_DEB=pve-firmware_${FW_VER}-${FW_REL}_all.deb
-E1000EDIR=e1000e-3.3.5
+E1000EDIR=e1000e-3.3.5.3
E1000ESRC=${E1000EDIR}.tar.gz
-IGBDIR=igb-5.3.5.3
+IGBDIR=igb-5.3.5.4
IGBSRC=${IGBDIR}.tar.gz
-IXGBEDIR=ixgbe-4.3.15
+IXGBEDIR=ixgbe-4.5.4
IXGBESRC=${IXGBEDIR}.tar.gz
-I40EDIR=i40e-1.5.22
+I40EDIR=i40e-1.5.25
I40ESRC=${I40EDIR}.tar.gz
# does not compile with RHEL 7.2 (=327.3.1.el7)
#cd ${KERNEL_SRC}; patch -p1 <../do-not-use-barrier-on-ext3.patch
cd ${KERNEL_SRC}; patch -p1 <../bridge-patch.diff
cd ${KERNEL_SRC}; patch -p1 <../bridge-forward-ipv6-neighbor-solicitation.patch
- cd ${KERNEL_SRC}; patch -p1 <../kvmstealtime.patch
#cd ${KERNEL_SRC}; patch -p1 <../kvm-fix-invalid-secondary-exec-controls.patch
#cd ${KERNEL_SRC}; patch -p1 <../fix-aspm-policy.patch
#cd ${KERNEL_SRC}; patch -p1 <../kbuild-generate-mudules-builtin.patch
#cd ${KERNEL_SRC}; patch -p1 <../add-tiocgdev-ioctl.patch
#cd ${KERNEL_SRC}; patch -p1 <../fix-nfs-block-count.patch
#cd ${KERNEL_SRC}; patch -p1 <../fix-idr-header-for-drbd-compilation.patch
- cd ${KERNEL_SRC}; patch -p1 <../add-empty-ndo_poll_controller-to-veth.patch
+ #cd ${KERNEL_SRC}; patch -p1 <../add-empty-ndo_poll_controller-to-veth.patch
# cd ${KERNEL_SRC}; patch -p1 <../override_for_missing_acs_capabilities.patch
- cd ${KERNEL_SRC}; patch -p1 <../vhost-net-extend-device-allocation-to-vmalloc.patch
cp ${KERNEL_SRC}/drivers/vhost/scsi.c ${KERNEL_SRC}/drivers/vhost/scsi.c.backup
# vhost-scsi compile fixes
cd ${KERNEL_SRC}; patch -p1 <../vhost-scsi-fixes.patch
- cd ${KERNEL_SRC}; patch -p1 <../CVE-2016-5195.patch
+ # nbd compile fix
+ cd ${KERNEL_SRC}; patch -p1 <../nbd-rename-REQ_TYPE_SPECIAL.patch
sed -i ${KERNEL_SRC}/Makefile -e 's/^EXTRAVERSION.*$$/EXTRAVERSION=${EXTRAVERSION}/'
touch $@
brcm/brcmfmac43430-sdio.bin
brcm/brcmfmac43340-sdio.txt
+mrvl/sd8997_uapsta.bin
+mrvl/usb8997_uapsta.bin
+cxgb4/t6fw.bin
+wil6210.brd
+ath10k/QCA6174/hw3.0/firmware-5.bin
+ath10k/QCA6174/hw2.1/firmware-4.bin
+ath10k/QCA988X/hw2.0/board-2.bin
+ath10k/QCA988X/hw2.0/firmware-3.bin
+ath10k/QCA988X/hw2.0/firmware-2.bin
+iwlwifi-6000g2b-IWL6000G2B_UCODE_API_MAX.ucode
+iwlwifi-6000-6.ucode
+iwlwifi-8000C--21.ucode
+iwlwifi-9260-th-a0-lc-a0--21.ucode
+iwlwifi-9260-th-a0-jf-a0--21.ucode
+iwlwifi-9000-pu-a0-lc-a0--21.ucode
+brcm/brcmfmac4356-sdio.bin
+brcm/brcmfmac4366c-pcie.bin
+brcm/brcmfmac4365b-pcie.bin
+brcm/brcmfmac4359-pcie.bin
+brcm/brcmfmac4358-pcie.bi
+brcm/brcmfmac4358-pcie.bin
)) {
$skip->{$fw} = 1;
+pve-kernel-3.10.0 (3.10.0-51) unstable; urgency=low
+
+ * update to kernel-3.10.0-514.el7.src.rpm
+
+ * bump api to 22-pve
+
+ * remove kvmstealtime.patch (upstream)
+
+ * remove vhost-net-extend-device-allocation-to-vmalloc.patch (upstream)
+
+ * remove CVE-2016-5195.patch (upstream)
+
+ * disabled add-empty-ndo_poll_controller-to-veth.patch (does not apply)
+
+ * ndb: nbd-rename-REQ_TYPE_SPECIAL.patch (fix compile error)
+
+ * update e1000e to 3.3.5.3
+
+ * update igb to 5.3.5.4
+
+ * update i40e to 1.5.25
+
+ * update ixgbe to 4.5.4
+
+ -- Proxmox Support Team <support@proxmox.com> Sun, 18 Dec 2016 14:56:16 +0100
+
pve-kernel-3.10.0 (3.10.0-50) unstable; urgency=low
* update to kernel-3.10.0-327.36.2.el7.src.rpm
+pve-firmware (1.1-6) unstable; urgency=low
+
+ * updates for latest 3.10.0 kernel
+
+ -- Proxmox Support Team <support@proxmox.com> Mon, 19 Dec 2016 06:47:50 +0100
+
pve-firmware (1.1-4) unstable; urgency=medium
* updates for latest 3.10.0 kernel
---- rh-kernel-src/kernel-3.10.0-x86_64.config 2015-03-14 10:29:17.996963858 +0100
-+++ config-3.10.0.new 2015-03-14 11:28:50.364833361 +0100
+--- rh-kernel-src/kernel-3.10.0-x86_64.config 2016-12-18 14:59:46.000000000 +0100
++++ config-3.10.0.new 2016-12-18 15:14:10.000000000 +0100
@@ -1,7 +1,6 @@
-# x86_64
#
#
CONFIG_64BIT=y
CONFIG_X86_64=y
-@@ -264,8 +263,8 @@
+@@ -274,8 +273,8 @@
CONFIG_HAVE_CC_STACKPROTECTOR=y
CONFIG_CC_STACKPROTECTOR=y
# CONFIG_CC_STACKPROTECTOR_NONE is not set
CONFIG_HAVE_CONTEXT_TRACKING=y
CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
-@@ -289,16 +288,7 @@
+@@ -302,16 +301,7 @@
# CONFIG_MODULE_FORCE_UNLOAD is not set
CONFIG_MODVERSIONS=y
CONFIG_MODULE_SRCVERSION_ALL=y
CONFIG_STOP_MACHINE=y
CONFIG_BLOCK=y
CONFIG_BLK_DEV_BSG=y
-@@ -595,9 +585,9 @@
+@@ -621,9 +611,9 @@
CONFIG_CPU_FREQ_GOV_COMMON=y
CONFIG_CPU_FREQ_STAT=m
CONFIG_CPU_FREQ_STAT_DETAILS=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
CONFIG_CPU_FREQ_GOV_POWERSAVE=y
-@@ -1146,10 +1136,10 @@
+@@ -1195,10 +1185,10 @@
CONFIG_L2TP_V3=y
CONFIG_L2TP_IP=m
CONFIG_L2TP_ETH=m
CONFIG_BRIDGE_IGMP_SNOOPING=y
CONFIG_BRIDGE_VLAN_FILTERING=y
CONFIG_HAVE_NET_DSA=y
-@@ -1157,7 +1147,7 @@
+@@ -1206,7 +1196,7 @@
CONFIG_VLAN_8021Q_GVRP=y
CONFIG_VLAN_8021Q_MVRP=y
# CONFIG_DECNET is not set
# CONFIG_LLC2 is not set
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
-@@ -1456,10 +1446,11 @@
+@@ -1594,10 +1584,11 @@
# CONFIG_BLK_DEV_UMEM is not set
# CONFIG_BLK_DEV_COW_COMMON is not set
CONFIG_BLK_DEV_LOOP=m
+CONFIG_BLK_DEV_DRBD=m
+# CONFIG_DRBD_FAULT_INJECTION is not set
+CONFIG_BLK_DEV_NBD=m
- CONFIG_BLK_DEV_NVME=m
CONFIG_BLK_DEV_OSD=m
CONFIG_BLK_DEV_SX8=m
-@@ -1554,10 +1545,10 @@
+ CONFIG_BLK_DEV_RAM=m
+@@ -1702,10 +1693,10 @@
#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=m
CONFIG_CHR_DEV_SCH=m
-@@ -1775,9 +1766,12 @@
+@@ -1922,9 +1913,12 @@
CONFIG_MD_RAID456=m
# CONFIG_MD_MULTIPATH is not set
CONFIG_MD_FAULTY=m
# CONFIG_DM_MQ_DEFAULT is not set
CONFIG_DM_DEBUG=y
CONFIG_DM_BUFIO=m
-@@ -1863,7 +1857,7 @@
+@@ -2015,7 +2009,7 @@
# CAIF transport drivers
#
CONFIG_VHOST_NET=m
-# CONFIG_VHOST_SCSI is not set
+CONFIG_VHOST_SCSI=m
CONFIG_VHOST_RING=m
-
- #
-@@ -1970,7 +1964,8 @@
+ CONFIG_VHOST=m
+ # CONFIG_VHOST_CROSS_ENDIAN_LEGACY is not set
+@@ -2140,7 +2134,8 @@
CONFIG_MYRI10GE_DCA=y
# CONFIG_FEALNX is not set
# CONFIG_NET_VENDOR_NATSEMI is not set
CONFIG_NET_VENDOR_OKI=y
CONFIG_PCH_GBE=m
CONFIG_ETHOC=m
-@@ -4377,7 +4372,7 @@
- CONFIG_VFIO_IOMMU_TYPE1=m
+@@ -4860,7 +4855,7 @@
CONFIG_VFIO=m
+ CONFIG_VFIO_NOIOMMU=y
CONFIG_VFIO_PCI=m
-# CONFIG_VFIO_PCI_VGA is not set
+CONFIG_VFIO_PCI_VGA=y
- # CONFIG_VIRT_DRIVERS is not set
- CONFIG_VIRTIO=m
-
-@@ -4596,7 +4591,11 @@
+ CONFIG_VFIO_PCI_MMAP=y
+ CONFIG_VFIO_PCI_INTX=y
+ CONFIG_IRQ_BYPASS_MANAGER=m
+@@ -5105,7 +5100,11 @@
# CONFIG_JBD2_DEBUG is not set
CONFIG_FS_MBCACHE=m
# CONFIG_REISERFS_FS is not set
CONFIG_XFS_FS=m
CONFIG_XFS_QUOTA=y
CONFIG_XFS_POSIX_ACL=y
-@@ -4686,8 +4685,8 @@
+@@ -5196,8 +5195,8 @@
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_ECRYPT_FS is not set
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
-@@ -4824,7 +4823,7 @@
+@@ -5340,7 +5339,7 @@
CONFIG_NLS_MAC_INUIT=m
CONFIG_NLS_MAC_ROMANIAN=m
CONFIG_NLS_MAC_TURKISH=m
CONFIG_DLM=m
CONFIG_DLM_DEBUG=y
-@@ -5017,8 +5016,8 @@
+@@ -5537,8 +5536,8 @@
CONFIG_KEYS=y
CONFIG_PERSISTENT_KEYRINGS=y
CONFIG_BIG_KEYS=y
CONFIG_KEYS_DEBUG_PROC_KEYS=y
# CONFIG_SECURITY_DMESG_RESTRICT is not set
CONFIG_SECURITY=y
-@@ -5030,9 +5029,8 @@
+@@ -5550,9 +5549,8 @@
CONFIG_INTEL_TXT=y
CONFIG_LSM_MMAP_MIN_ADDR=65535
CONFIG_SECURITY_SELINUX=y
CONFIG_SECURITY_SELINUX_DEVELOP=y
CONFIG_SECURITY_SELINUX_AVC_STATS=y
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1
-@@ -5053,8 +5051,9 @@
+@@ -5573,8 +5571,9 @@
CONFIG_EVM=y
CONFIG_EVM_HMAC_VERSION=2
CONFIG_DEFAULT_SECURITY_SELINUX=y
CONFIG_XOR_BLOCKS=m
CONFIG_ASYNC_CORE=m
CONFIG_ASYNC_MEMCPY=m
-@@ -5126,7 +5125,7 @@
+@@ -5650,7 +5649,7 @@
CONFIG_CRYPTO_CRC32C_INTEL=m
CONFIG_CRYPTO_CRC32=m
CONFIG_CRYPTO_CRC32_PCLMUL=m
CONFIG_CRYPTO_CRCT10DIF_PCLMUL=m
CONFIG_CRYPTO_GHASH=m
CONFIG_CRYPTO_MD4=m
-@@ -5252,7 +5251,7 @@
+@@ -5785,7 +5784,7 @@
CONFIG_CMPXCHG_LOCKREF=y
CONFIG_CRC_CCITT=m
CONFIG_CRC16=y
CONFIG_CRC_ITU_T=m
CONFIG_CRC32=y
# CONFIG_CRC32_SELFTEST is not set
-@@ -5301,6 +5300,7 @@
- CONFIG_DQL=y
- CONFIG_NLATTR=y
- CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y
-+CONFIG_LRU_CACHE=m
- CONFIG_AVERAGE=y
- CONFIG_CLZ_TAB=y
- CONFIG_CORDIC=m
+++ /dev/null
-Return-Path: kvm-owner@vger.kernel.org
-Received: from mailpro.odiso.net (LHLO mailpro.odiso.net) (10.1.31.112) by
- mailpro.odiso.net with LMTP; Thu, 15 Oct 2015 00:33:53 +0200 (CEST)
-Received: from localhost (localhost [127.0.0.1])
- by mailpro.odiso.net (Postfix) with ESMTP id 1F3454439326A
- for <aderumier@oxygem.tv>; Thu, 15 Oct 2015 00:33:53 +0200 (CEST)
-X-Virus-Scanned: amavisd-new at mailpro.odiso.com
-X-Spam-Flag: NO
-X-Spam-Score: 0.971
-X-Spam-Level:
-X-Spam-Status: No, score=0.971 tagged_above=-10 required=4
- tests=[HEADER_FROM_DIFFERENT_DOMAINS=0.001,
- KAM_LAZY_DOMAIN_SECURITY=1, RCVD_IN_MSPIKE_H3=-0.01,
- RCVD_IN_MSPIKE_WL=-0.01, T_RP_MATCHES_RCVD=-0.01]
- autolearn=no autolearn_force=no
-Received: from mailpro.odiso.net ([127.0.0.1])
- by localhost (mailpro.odiso.net [127.0.0.1]) (amavisd-new, port 10024)
- with ESMTP id hMmmKVYj2S2m for <aderumier@oxygem.tv>;
- Thu, 15 Oct 2015 00:33:47 +0200 (CEST)
-Received: from vger.kernel.org (vger.kernel.org [209.132.180.67])
- by mailpro.odiso.net (Postfix) with ESMTP id 09D3D4439324A
- for <aderumier@odiso.com>; Thu, 15 Oct 2015 00:33:46 +0200 (CEST)
-Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
- id S1754065AbbJNWdh (ORCPT <rfc822;aderumier@odiso.com>);
- Wed, 14 Oct 2015 18:33:37 -0400
-Received: from mx1.redhat.com ([209.132.183.28]:48432 "EHLO mx1.redhat.com"
- rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP
- id S1753882AbbJNWdg (ORCPT <rfc822;kvm@vger.kernel.org>);
- Wed, 14 Oct 2015 18:33:36 -0400
-Received: from int-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24])
- by mx1.redhat.com (Postfix) with ESMTPS id 35096C0BFD02
- for <kvm@vger.kernel.org>; Wed, 14 Oct 2015 22:33:36 +0000 (UTC)
-Received: from amt.cnet (vpn1-4-185.ams2.redhat.com [10.36.4.185])
- by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id t9EMXYFs002263;
- Wed, 14 Oct 2015 18:33:35 -0400
-Received: from amt.cnet (localhost [127.0.0.1])
- by amt.cnet (Postfix) with ESMTP id ADFE61009C7;
- Wed, 14 Oct 2015 19:33:15 -0300 (BRT)
-Received: (from marcelo@localhost)
- by amt.cnet (8.14.7/8.14.7/Submit) id t9EMXCRq014112;
- Wed, 14 Oct 2015 19:33:12 -0300
-Date: Wed, 14 Oct 2015 19:33:09 -0300
-From: Marcelo Tosatti <mtosatti@redhat.com>
-To: kvm@vger.kernel.org
-Cc: Rik van Riel <riel@redhat.com>,
- "Dr. David Alan Gilbert" <dgilbert@redhat.com>,
- Paolo Bonzini <pbonzini@redhat.com>,
- Amit Shah <amit.shah@redhat.com>
-Subject: [PATCH] KVM: x86: move steal time initialization to vcpu entry time
-Message-ID: <20151014223309.GA13900@amt.cnet>
-MIME-Version: 1.0
-Content-Type: text/plain; charset=us-ascii
-Content-Disposition: inline
-User-Agent: Mutt/1.5.21 (2010-09-15)
-X-Scanned-By: MIMEDefang 2.68 on 10.5.11.24
-Sender: kvm-owner@vger.kernel.org
-Precedence: bulk
-List-ID: <kvm.vger.kernel.org>
-X-Mailing-List: kvm@vger.kernel.org
-
-
-As reported at https://bugs.launchpad.net/qemu/+bug/1494350,
-it is possible to have vcpu->arch.st.last_steal initialized
-from a thread other than vcpu thread, say the iothread, via
-KVM_SET_MSRS.
-
-Which can cause an overflow later (when subtracting from vcpu threads
-sched_info.run_delay).
-
-To avoid that, move steal time accumulation to vcpu entry time,
-before copying steal time data to guest.
-
-Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
-
-diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
-index 8f0f6ec..0e0332e 100644
---- a/arch/x86/kvm/x86.c
-+++ b/arch/x86/kvm/x86.c
-@@ -2030,6 +2030,8 @@ static void accumulate_steal_time(struct kvm_vcpu *vcpu)
-
- static void record_steal_time(struct kvm_vcpu *vcpu)
- {
-+ accumulate_steal_time(vcpu);
-+
- if (!(vcpu->arch.st.msr_val & KVM_MSR_ENABLED))
- return;
-
-@@ -2182,12 +2184,6 @@ int kvm_set_msr_common(struct kvm_vcpu *vcpu, struct msr_data *msr_info)
- if (!(data & KVM_MSR_ENABLED))
- break;
-
-- vcpu->arch.st.last_steal = current->sched_info.run_delay;
--
-- preempt_disable();
-- accumulate_steal_time(vcpu);
-- preempt_enable();
--
- kvm_make_request(KVM_REQ_STEAL_UPDATE, vcpu);
-
- break;
-@@ -2830,7 +2826,6 @@ void kvm_arch_vcpu_load(struct kvm_vcpu *vcpu, int cpu)
- vcpu->cpu = cpu;
- }
-
-- accumulate_steal_time(vcpu);
- kvm_make_request(KVM_REQ_STEAL_UPDATE, vcpu);
- }
-
---
-To unsubscribe from this list: send the line "unsubscribe kvm" in
-the body of a message to majordomo@vger.kernel.org
-More majordomo info at http://vger.kernel.org/majordomo-info.html
--- /dev/null
+diff --git a/drivers/block/nbd.c b/drivers/block/nbd.c
+index 39e5f7f..9cf52ac 100644
+--- a/drivers/block/nbd.c
++++ b/drivers/block/nbd.c
+@@ -592,7 +592,7 @@ static int __nbd_ioctl(struct block_device *bdev, struct nbd_device *nbd,
+ fsync_bdev(bdev);
+ mutex_lock(&nbd->tx_lock);
+ blk_rq_init(NULL, &sreq);
+- sreq.cmd_type = REQ_TYPE_SPECIAL;
++ sreq.cmd_type = REQ_TYPE_DRV_PRIV;
+ nbd_cmd(&sreq) = NBD_CMD_DISC;
+
+ /* Check again after getting mutex back. */
+++ /dev/null
-vhost-net: extend device allocation to vmalloc
-
-Backport upstream commit 23cc5a991c7a9fb7e6d6550e65cee4f4173111c5 to
-3.10 kernel.
-In upstream, this code is modified later in patch
-d04257b07f2362d4eb550952d5bf5f4241a8046d, but it's unapplicable in 3.10
-because there's still no open-coded kvfree() function (appeared in
-v3.15-rc5).
-
-Should fix bug reported in forum
-http://forum.proxmox.com/threads/19194-VM-start-problem-with-virtio-net
-
-diff -r -U 3 -p a/drivers/vhost/net.c b/drivers/vhost/net.c
---- a/drivers/vhost/net.c 2014-07-16 22:25:31.000000000 +0400
-+++ b/drivers/vhost/net.c 2014-09-04 13:56:20.101952635 +0400
-@@ -18,6 +18,7 @@
- #include <linux/rcupdate.h>
- #include <linux/file.h>
- #include <linux/slab.h>
-+#include <linux/vmalloc.h>
-
- #include <linux/net.h>
- #include <linux/if_packet.h>
-@@ -706,18 +707,30 @@ static void handle_rx_net(struct vhost_w
- handle_rx(net);
- }
-
-+static void vhost_net_free(void *addr)
-+{
-+ if (is_vmalloc_addr(addr))
-+ vfree(addr);
-+ else
-+ kfree(addr);
-+}
-+
- static int vhost_net_open(struct inode *inode, struct file *f)
- {
-- struct vhost_net *n = kmalloc(sizeof *n, GFP_KERNEL);
-+ struct vhost_net *n;
- struct vhost_dev *dev;
- struct vhost_virtqueue **vqs;
- int r, i;
-
-- if (!n)
-- return -ENOMEM;
-+ n = kmalloc(sizeof *n, GFP_KERNEL | __GFP_NOWARN | __GFP_REPEAT);
-+ if (!n) {
-+ n = vmalloc(sizeof *n);
-+ if (!n)
-+ return -ENOMEM;
-+ }
- vqs = kmalloc(VHOST_NET_VQ_MAX * sizeof(*vqs), GFP_KERNEL);
- if (!vqs) {
-- kfree(n);
-+ vhost_net_free(n);
- return -ENOMEM;
- }
-
-@@ -736,7 +749,7 @@ static int vhost_net_open(struct inode *
- }
- r = vhost_dev_init(dev, vqs, VHOST_NET_VQ_MAX);
- if (r < 0) {
-- kfree(n);
-+ vhost_net_free(n);
- kfree(vqs);
- return r;
- }
-@@ -841,7 +854,7 @@ static int vhost_net_release(struct inod
- * since jobs can re-queue themselves. */
- vhost_net_flush(n);
- kfree(n->dev.vqs);
-- kfree(n);
-+ vhost_net_free(n);
- return 0;
- }
-