Update to 3.2.19
Drop patches included in it. Defer an ABI change in mmc for now. For the PREEMPT_RT featureset, revert one conflicting change in 3.2.19. svn path=/dists/sid/linux-2.6/; revision=19047
This commit is contained in:
parent
ca018e7e12
commit
681f694b3a
|
@ -1,4 +1,22 @@
|
|||
linux-2.6 (3.2.18-2) UNRELEASED; urgency=low
|
||||
linux-2.6 (3.2.19-1) UNRELEASED; urgency=low
|
||||
|
||||
* New upstream stable update:
|
||||
http://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.2.19
|
||||
- hpsa: Fix problem with MSA2xxx devices (Closes: #661057)
|
||||
- IB/core: Fix mismatch between locked and pinned pages
|
||||
- iommu: Fix off by one in dmar_get_fault_reason()
|
||||
- vfs: make AIO use the proper rw_verify_area() area helpers
|
||||
- HID: logitech: read all 32 bits of report type bitfield (Closes: #671292)
|
||||
- USB: Remove races in devio.c
|
||||
- ext{3,4}: Fix error handling on inode bitmap corruption
|
||||
- uvcvideo: Fix ENUMINPUT handling
|
||||
- dl2k: Clean up rio_ioctl (CVE-2012-2313)
|
||||
- [x86] MCE: Fix vm86 handling for 32bit mce handler
|
||||
- [x86] mce: Fix check for processor context when machine check was taken.
|
||||
- ethtool: Null-terminate filename passed to ethtool_ops::flash_device
|
||||
- NFSv4: Fix buffer overflows in ACL support (CVE-2012-2375)
|
||||
+ Avoid reading past buffer when calling GETACL
|
||||
+ Avoid beyond bounds copy while caching ACL
|
||||
|
||||
[ Ben Hutchings ]
|
||||
* be2net: Backport most changes up to Linux 3.5-rc1, thanks to
|
||||
|
|
|
@ -1,53 +0,0 @@
|
|||
From: Ben Hutchings <bhutchings@solarflare.com>
|
||||
Date: Wed, 1 Feb 2012 09:32:25 +0000
|
||||
Subject: [PATCH] ethtool: Null-terminate filename passed to
|
||||
ethtool_ops::flash_device
|
||||
|
||||
commit 786f528119722f564a22ad953411374e06116333 upstream.
|
||||
|
||||
The parameters for ETHTOOL_FLASHDEV include a filename, which ought to
|
||||
be null-terminated. Currently the only driver that implements
|
||||
ethtool_ops::flash_device attempts to add a null terminator if
|
||||
necessary, but does it wrongly. Do it in the ethtool core instead.
|
||||
|
||||
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
|
||||
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
---
|
||||
drivers/net/ethernet/emulex/benet/be_ethtool.c | 6 +-----
|
||||
net/core/ethtool.c | 2 ++
|
||||
2 files changed, 3 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/ethernet/emulex/benet/be_ethtool.c b/drivers/net/ethernet/emulex/benet/be_ethtool.c
|
||||
index 6db6b6a..802e5dd 100644
|
||||
--- a/drivers/net/ethernet/emulex/benet/be_ethtool.c
|
||||
+++ b/drivers/net/ethernet/emulex/benet/be_ethtool.c
|
||||
@@ -716,12 +716,8 @@ static int
|
||||
be_do_flash(struct net_device *netdev, struct ethtool_flash *efl)
|
||||
{
|
||||
struct be_adapter *adapter = netdev_priv(netdev);
|
||||
- char file_name[ETHTOOL_FLASH_MAX_FILENAME];
|
||||
|
||||
- file_name[ETHTOOL_FLASH_MAX_FILENAME - 1] = 0;
|
||||
- strcpy(file_name, efl->data);
|
||||
-
|
||||
- return be_load_fw(adapter, file_name);
|
||||
+ return be_load_fw(adapter, efl->data);
|
||||
}
|
||||
|
||||
static int
|
||||
diff --git a/net/core/ethtool.c b/net/core/ethtool.c
|
||||
index 369b418..3f79db1 100644
|
||||
--- a/net/core/ethtool.c
|
||||
+++ b/net/core/ethtool.c
|
||||
@@ -1190,6 +1190,8 @@ static noinline_for_stack int ethtool_flash_device(struct net_device *dev,
|
||||
if (!dev->ethtool_ops->flash_device)
|
||||
return -EOPNOTSUPP;
|
||||
|
||||
+ efl.data[ETHTOOL_FLASH_MAX_FILENAME - 1] = 0;
|
||||
+
|
||||
return dev->ethtool_ops->flash_device(dev, &efl);
|
||||
}
|
||||
|
||||
--
|
||||
1.7.10
|
||||
|
|
@ -1,107 +0,0 @@
|
|||
From: Avi Kivity <avi@redhat.com>
|
||||
Date: Mon, 5 Mar 2012 14:23:29 +0200
|
||||
Subject: [PATCH] KVM: Ensure all vcpus are consistent with in-kernel irqchip
|
||||
settings
|
||||
|
||||
commit 3e515705a1f46beb1c942bb8043c16f8ac7b1e9e upstream.
|
||||
|
||||
If some vcpus are created before KVM_CREATE_IRQCHIP, then
|
||||
irqchip_in_kernel() and vcpu->arch.apic will be inconsistent, leading
|
||||
to potential NULL pointer dereferences.
|
||||
|
||||
Fix by:
|
||||
- ensuring that no vcpus are installed when KVM_CREATE_IRQCHIP is called
|
||||
- ensuring that a vcpu has an apic if it is installed after KVM_CREATE_IRQCHIP
|
||||
|
||||
This is somewhat long winded because vcpu->arch.apic is created without
|
||||
kvm->lock held.
|
||||
|
||||
Based on earlier patch by Michael Ellerman.
|
||||
|
||||
Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
|
||||
Signed-off-by: Avi Kivity <avi@redhat.com>
|
||||
---
|
||||
arch/ia64/kvm/kvm-ia64.c | 5 +++++
|
||||
arch/x86/kvm/x86.c | 8 ++++++++
|
||||
include/linux/kvm_host.h | 7 +++++++
|
||||
virt/kvm/kvm_main.c | 4 ++++
|
||||
4 files changed, 24 insertions(+)
|
||||
|
||||
diff --git a/arch/ia64/kvm/kvm-ia64.c b/arch/ia64/kvm/kvm-ia64.c
|
||||
index d8ddbba..f5104b7 100644
|
||||
--- a/arch/ia64/kvm/kvm-ia64.c
|
||||
+++ b/arch/ia64/kvm/kvm-ia64.c
|
||||
@@ -1172,6 +1172,11 @@ out:
|
||||
|
||||
#define PALE_RESET_ENTRY 0x80000000ffffffb0UL
|
||||
|
||||
+bool kvm_vcpu_compatible(struct kvm_vcpu *vcpu)
|
||||
+{
|
||||
+ return irqchip_in_kernel(vcpu->kcm) == (vcpu->arch.apic != NULL);
|
||||
+}
|
||||
+
|
||||
int kvm_arch_vcpu_init(struct kvm_vcpu *vcpu)
|
||||
{
|
||||
struct kvm_vcpu *v;
|
||||
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
|
||||
index 03a1fd4..9477dc6 100644
|
||||
--- a/arch/x86/kvm/x86.c
|
||||
+++ b/arch/x86/kvm/x86.c
|
||||
@@ -3199,6 +3199,9 @@ long kvm_arch_vm_ioctl(struct file *filp,
|
||||
r = -EEXIST;
|
||||
if (kvm->arch.vpic)
|
||||
goto create_irqchip_unlock;
|
||||
+ r = -EINVAL;
|
||||
+ if (atomic_read(&kvm->online_vcpus))
|
||||
+ goto create_irqchip_unlock;
|
||||
r = -ENOMEM;
|
||||
vpic = kvm_create_pic(kvm);
|
||||
if (vpic) {
|
||||
@@ -6107,6 +6110,11 @@ void kvm_arch_check_processor_compat(void *rtn)
|
||||
kvm_x86_ops->check_processor_compatibility(rtn);
|
||||
}
|
||||
|
||||
+bool kvm_vcpu_compatible(struct kvm_vcpu *vcpu)
|
||||
+{
|
||||
+ return irqchip_in_kernel(vcpu->kvm) == (vcpu->arch.apic != NULL);
|
||||
+}
|
||||
+
|
||||
int kvm_arch_vcpu_init(struct kvm_vcpu *vcpu)
|
||||
{
|
||||
struct page *page;
|
||||
diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h
|
||||
index 355e445..e42d85a 100644
|
||||
--- a/include/linux/kvm_host.h
|
||||
+++ b/include/linux/kvm_host.h
|
||||
@@ -805,6 +805,13 @@ static inline bool kvm_vcpu_is_bsp(struct kvm_vcpu *vcpu)
|
||||
{
|
||||
return vcpu->kvm->bsp_vcpu_id == vcpu->vcpu_id;
|
||||
}
|
||||
+
|
||||
+bool kvm_vcpu_compatible(struct kvm_vcpu *vcpu);
|
||||
+
|
||||
+#else
|
||||
+
|
||||
+static inline bool kvm_vcpu_compatible(struct kvm_vcpu *vcpu) { return true; }
|
||||
+
|
||||
#endif
|
||||
|
||||
#ifdef __KVM_HAVE_DEVICE_ASSIGNMENT
|
||||
diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
|
||||
index e4431ad..94e148e 100644
|
||||
--- a/virt/kvm/kvm_main.c
|
||||
+++ b/virt/kvm/kvm_main.c
|
||||
@@ -1651,6 +1651,10 @@ static int kvm_vm_ioctl_create_vcpu(struct kvm *kvm, u32 id)
|
||||
goto vcpu_destroy;
|
||||
|
||||
mutex_lock(&kvm->lock);
|
||||
+ if (!kvm_vcpu_compatible(vcpu)) {
|
||||
+ r = -EINVAL;
|
||||
+ goto unlock_vcpu_destroy;
|
||||
+ }
|
||||
if (atomic_read(&kvm->online_vcpus) == KVM_MAX_VCPUS) {
|
||||
r = -EINVAL;
|
||||
goto unlock_vcpu_destroy;
|
||||
--
|
||||
1.7.10
|
||||
|
|
@ -1,80 +0,0 @@
|
|||
From: Alex Williamson <alex.williamson@redhat.com>
|
||||
Date: Tue, 17 Apr 2012 21:46:44 -0600
|
||||
Subject: [PATCH] KVM: lock slots_lock around device assignment
|
||||
|
||||
commit 21a1416a1c945c5aeaeaf791b63c64926018eb77 upstream.
|
||||
|
||||
As pointed out by Jason Baron, when assigning a device to a guest
|
||||
we first set the iommu domain pointer, which enables mapping
|
||||
and unmapping of memory slots to the iommu. This leaves a window
|
||||
where this path is enabled, but we haven't synchronized the iommu
|
||||
mappings to the existing memory slots. Thus a slot being removed
|
||||
at that point could send us down unexpected code paths removing
|
||||
non-existent pinnings and iommu mappings. Take the slots_lock
|
||||
around creating the iommu domain and initial mappings as well as
|
||||
around iommu teardown to avoid this race.
|
||||
|
||||
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
|
||||
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
|
||||
---
|
||||
virt/kvm/iommu.c | 23 +++++++++++++++--------
|
||||
1 file changed, 15 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/virt/kvm/iommu.c b/virt/kvm/iommu.c
|
||||
index fec1723..e9fff98 100644
|
||||
--- a/virt/kvm/iommu.c
|
||||
+++ b/virt/kvm/iommu.c
|
||||
@@ -240,9 +240,13 @@ int kvm_iommu_map_guest(struct kvm *kvm)
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
+ mutex_lock(&kvm->slots_lock);
|
||||
+
|
||||
kvm->arch.iommu_domain = iommu_domain_alloc(&pci_bus_type);
|
||||
- if (!kvm->arch.iommu_domain)
|
||||
- return -ENOMEM;
|
||||
+ if (!kvm->arch.iommu_domain) {
|
||||
+ r = -ENOMEM;
|
||||
+ goto out_unlock;
|
||||
+ }
|
||||
|
||||
if (!allow_unsafe_assigned_interrupts &&
|
||||
!iommu_domain_has_cap(kvm->arch.iommu_domain,
|
||||
@@ -253,17 +257,16 @@ int kvm_iommu_map_guest(struct kvm *kvm)
|
||||
" module option.\n", __func__);
|
||||
iommu_domain_free(kvm->arch.iommu_domain);
|
||||
kvm->arch.iommu_domain = NULL;
|
||||
- return -EPERM;
|
||||
+ r = -EPERM;
|
||||
+ goto out_unlock;
|
||||
}
|
||||
|
||||
r = kvm_iommu_map_memslots(kvm);
|
||||
if (r)
|
||||
- goto out_unmap;
|
||||
-
|
||||
- return 0;
|
||||
+ kvm_iommu_unmap_memslots(kvm);
|
||||
|
||||
-out_unmap:
|
||||
- kvm_iommu_unmap_memslots(kvm);
|
||||
+out_unlock:
|
||||
+ mutex_unlock(&kvm->slots_lock);
|
||||
return r;
|
||||
}
|
||||
|
||||
@@ -340,7 +343,11 @@ int kvm_iommu_unmap_guest(struct kvm *kvm)
|
||||
if (!domain)
|
||||
return 0;
|
||||
|
||||
+ mutex_lock(&kvm->slots_lock);
|
||||
kvm_iommu_unmap_memslots(kvm);
|
||||
+ kvm->arch.iommu_domain = NULL;
|
||||
+ mutex_unlock(&kvm->slots_lock);
|
||||
+
|
||||
iommu_domain_free(domain);
|
||||
return 0;
|
||||
}
|
||||
--
|
||||
1.7.10
|
||||
|
|
@ -1,85 +0,0 @@
|
|||
From: Marcelo Tosatti <mtosatti@redhat.com>
|
||||
Date: Fri, 18 May 2012 17:58:45 -0300
|
||||
Subject: KVM: mmu_notifier: Flush TLBs before releasing mmu_lock
|
||||
|
||||
From: Takuya Yoshikawa <yoshikawa.takuya@oss.ntt.co.jp>
|
||||
|
||||
(cherry picked from commit 565f3be2174611f364405bbea2d86e153c2e7e78
|
||||
|
||||
Other threads may process the same page in that small window and skip
|
||||
TLB flush and then return before these functions do flush.
|
||||
|
||||
Signed-off-by: Takuya Yoshikawa <yoshikawa.takuya@oss.ntt.co.jp>
|
||||
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
|
||||
Signed-off-by: Avi Kivity <avi@redhat.com>
|
||||
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
|
||||
---
|
||||
virt/kvm/kvm_main.c | 19 ++++++++++---------
|
||||
1 files changed, 10 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
|
||||
index e401c1b..9ffac2e 100644
|
||||
--- a/virt/kvm/kvm_main.c
|
||||
+++ b/virt/kvm/kvm_main.c
|
||||
@@ -289,15 +289,15 @@ static void kvm_mmu_notifier_invalidate_page(struct mmu_notifier *mn,
|
||||
*/
|
||||
idx = srcu_read_lock(&kvm->srcu);
|
||||
spin_lock(&kvm->mmu_lock);
|
||||
+
|
||||
kvm->mmu_notifier_seq++;
|
||||
need_tlb_flush = kvm_unmap_hva(kvm, address) | kvm->tlbs_dirty;
|
||||
- spin_unlock(&kvm->mmu_lock);
|
||||
- srcu_read_unlock(&kvm->srcu, idx);
|
||||
-
|
||||
/* we've to flush the tlb before the pages can be freed */
|
||||
if (need_tlb_flush)
|
||||
kvm_flush_remote_tlbs(kvm);
|
||||
|
||||
+ spin_unlock(&kvm->mmu_lock);
|
||||
+ srcu_read_unlock(&kvm->srcu, idx);
|
||||
}
|
||||
|
||||
static void kvm_mmu_notifier_change_pte(struct mmu_notifier *mn,
|
||||
@@ -335,12 +335,12 @@ static void kvm_mmu_notifier_invalidate_range_start(struct mmu_notifier *mn,
|
||||
for (; start < end; start += PAGE_SIZE)
|
||||
need_tlb_flush |= kvm_unmap_hva(kvm, start);
|
||||
need_tlb_flush |= kvm->tlbs_dirty;
|
||||
- spin_unlock(&kvm->mmu_lock);
|
||||
- srcu_read_unlock(&kvm->srcu, idx);
|
||||
-
|
||||
/* we've to flush the tlb before the pages can be freed */
|
||||
if (need_tlb_flush)
|
||||
kvm_flush_remote_tlbs(kvm);
|
||||
+
|
||||
+ spin_unlock(&kvm->mmu_lock);
|
||||
+ srcu_read_unlock(&kvm->srcu, idx);
|
||||
}
|
||||
|
||||
static void kvm_mmu_notifier_invalidate_range_end(struct mmu_notifier *mn,
|
||||
@@ -378,13 +378,14 @@ static int kvm_mmu_notifier_clear_flush_young(struct mmu_notifier *mn,
|
||||
|
||||
idx = srcu_read_lock(&kvm->srcu);
|
||||
spin_lock(&kvm->mmu_lock);
|
||||
- young = kvm_age_hva(kvm, address);
|
||||
- spin_unlock(&kvm->mmu_lock);
|
||||
- srcu_read_unlock(&kvm->srcu, idx);
|
||||
|
||||
+ young = kvm_age_hva(kvm, address);
|
||||
if (young)
|
||||
kvm_flush_remote_tlbs(kvm);
|
||||
|
||||
+ spin_unlock(&kvm->mmu_lock);
|
||||
+ srcu_read_unlock(&kvm->srcu, idx);
|
||||
+
|
||||
return young;
|
||||
}
|
||||
|
||||
--
|
||||
1.7.6.4
|
||||
|
||||
--
|
||||
To unsubscribe from this list: send the line "unsubscribe stable" in
|
||||
the body of a message to majordomo@vger.kernel.org
|
||||
More majordomo info at http://vger.kernel.org/majordomo-info.html
|
||||
|
||||
|
|
@ -1,71 +0,0 @@
|
|||
From: Marcelo Tosatti <mtosatti@redhat.com>
|
||||
Date: Fri, 18 May 2012 17:58:50 -0300
|
||||
Subject: KVM: s390: do store status after handling STOP_ON_STOP bit
|
||||
|
||||
From: Jens Freimann <jfrei@linux.vnet.ibm.com>
|
||||
|
||||
(cherry picked from commit 9e0d5473e2f0ba2d2fe9dab9408edef3060b710e)
|
||||
|
||||
In handle_stop() handle the stop bit before doing the store status as
|
||||
described for "Stop and Store Status" in the Principles of Operation.
|
||||
We have to give up the local_int.lock before calling kvm store status
|
||||
since it calls gmap_fault() which might sleep. Since local_int.lock
|
||||
only protects local_int.* and not guest memory we can give up the lock.
|
||||
|
||||
Signed-off-by: Jens Freimann <jfrei@linux.vnet.ibm.com>
|
||||
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
|
||||
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
|
||||
Signed-off-by: Avi Kivity <avi@redhat.com>
|
||||
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
|
||||
---
|
||||
arch/s390/kvm/intercept.c | 20 ++++++++++++--------
|
||||
1 files changed, 12 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/arch/s390/kvm/intercept.c b/arch/s390/kvm/intercept.c
|
||||
index 0243454..a5f6eff 100644
|
||||
--- a/arch/s390/kvm/intercept.c
|
||||
+++ b/arch/s390/kvm/intercept.c
|
||||
@@ -133,13 +133,6 @@ static int handle_stop(struct kvm_vcpu *vcpu)
|
||||
|
||||
vcpu->stat.exit_stop_request++;
|
||||
spin_lock_bh(&vcpu->arch.local_int.lock);
|
||||
- if (vcpu->arch.local_int.action_bits & ACTION_STORE_ON_STOP) {
|
||||
- vcpu->arch.local_int.action_bits &= ~ACTION_STORE_ON_STOP;
|
||||
- rc = kvm_s390_vcpu_store_status(vcpu,
|
||||
- KVM_S390_STORE_STATUS_NOADDR);
|
||||
- if (rc >= 0)
|
||||
- rc = -EOPNOTSUPP;
|
||||
- }
|
||||
|
||||
if (vcpu->arch.local_int.action_bits & ACTION_RELOADVCPU_ON_STOP) {
|
||||
vcpu->arch.local_int.action_bits &= ~ACTION_RELOADVCPU_ON_STOP;
|
||||
@@ -155,7 +148,18 @@ static int handle_stop(struct kvm_vcpu *vcpu)
|
||||
rc = -EOPNOTSUPP;
|
||||
}
|
||||
|
||||
- spin_unlock_bh(&vcpu->arch.local_int.lock);
|
||||
+ if (vcpu->arch.local_int.action_bits & ACTION_STORE_ON_STOP) {
|
||||
+ vcpu->arch.local_int.action_bits &= ~ACTION_STORE_ON_STOP;
|
||||
+ /* store status must be called unlocked. Since local_int.lock
|
||||
+ * only protects local_int.* and not guest memory we can give
|
||||
+ * up the lock here */
|
||||
+ spin_unlock_bh(&vcpu->arch.local_int.lock);
|
||||
+ rc = kvm_s390_vcpu_store_status(vcpu,
|
||||
+ KVM_S390_STORE_STATUS_NOADDR);
|
||||
+ if (rc >= 0)
|
||||
+ rc = -EOPNOTSUPP;
|
||||
+ } else
|
||||
+ spin_unlock_bh(&vcpu->arch.local_int.lock);
|
||||
return rc;
|
||||
}
|
||||
|
||||
--
|
||||
1.7.6.4
|
||||
|
||||
--
|
||||
To unsubscribe from this list: send the line "unsubscribe stable" in
|
||||
the body of a message to majordomo@vger.kernel.org
|
||||
More majordomo info at http://vger.kernel.org/majordomo-info.html
|
||||
|
||||
|
|
@ -1,43 +0,0 @@
|
|||
From: Marcelo Tosatti <mtosatti@redhat.com>
|
||||
Date: Fri, 18 May 2012 17:58:51 -0300
|
||||
Subject: KVM: s390: Sanitize fpc registers for KVM_SET_FPU
|
||||
|
||||
From: Christian Borntraeger <borntraeger@de.ibm.com>
|
||||
|
||||
(cherry picked from commit 851755871c1f3184f4124c466e85881f17fa3226)
|
||||
|
||||
commit 7eef87dc99e419b1cc051e4417c37e4744d7b661 (KVM: s390: fix
|
||||
register setting) added a load of the floating point control register
|
||||
to the KVM_SET_FPU path. Lets make sure that the fpc is valid.
|
||||
|
||||
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
|
||||
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
|
||||
Signed-off-by: Avi Kivity <avi@redhat.com>
|
||||
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
|
||||
---
|
||||
arch/s390/kvm/kvm-s390.c | 2 +-
|
||||
1 files changed, 1 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/arch/s390/kvm/kvm-s390.c b/arch/s390/kvm/kvm-s390.c
|
||||
index d1c44573..d3cb86c 100644
|
||||
--- a/arch/s390/kvm/kvm-s390.c
|
||||
+++ b/arch/s390/kvm/kvm-s390.c
|
||||
@@ -418,7 +418,7 @@ int kvm_arch_vcpu_ioctl_get_sregs(struct kvm_vcpu *vcpu,
|
||||
int kvm_arch_vcpu_ioctl_set_fpu(struct kvm_vcpu *vcpu, struct kvm_fpu *fpu)
|
||||
{
|
||||
memcpy(&vcpu->arch.guest_fpregs.fprs, &fpu->fprs, sizeof(fpu->fprs));
|
||||
- vcpu->arch.guest_fpregs.fpc = fpu->fpc;
|
||||
+ vcpu->arch.guest_fpregs.fpc = fpu->fpc & FPC_VALID_MASK;
|
||||
restore_fp_regs(&vcpu->arch.guest_fpregs);
|
||||
return 0;
|
||||
}
|
||||
--
|
||||
1.7.6.4
|
||||
|
||||
--
|
||||
To unsubscribe from this list: send the line "unsubscribe stable" in
|
||||
the body of a message to majordomo@vger.kernel.org
|
||||
More majordomo info at http://vger.kernel.org/majordomo-info.html
|
||||
|
||||
|
|
@ -1,43 +0,0 @@
|
|||
From: Marcelo Tosatti <mtosatti@redhat.com>
|
||||
Date: Fri, 18 May 2012 17:58:48 -0300
|
||||
Subject: KVM: nVMX: Fix erroneous exception bitmap check
|
||||
|
||||
From: Nadav Har'El <nyh@math.technion.ac.il>
|
||||
|
||||
(cherry picked from commit 9587190107d0c0cbaccbf7bf6b0245d29095a9ae)
|
||||
|
||||
The code which checks whether to inject a pagefault to L1 or L2 (in
|
||||
nested VMX) was wrong, incorrect in how it checked the PF_VECTOR bit.
|
||||
Thanks to Dan Carpenter for spotting this.
|
||||
|
||||
Signed-off-by: Nadav Har'El <nyh@il.ibm.com>
|
||||
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
|
||||
Signed-off-by: Avi Kivity <avi@redhat.com>
|
||||
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
|
||||
---
|
||||
arch/x86/kvm/vmx.c | 2 +-
|
||||
1 files changed, 1 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
|
||||
index 4ea7678..7ac5993 100644
|
||||
--- a/arch/x86/kvm/vmx.c
|
||||
+++ b/arch/x86/kvm/vmx.c
|
||||
@@ -1677,7 +1677,7 @@ static int nested_pf_handled(struct kvm_vcpu *vcpu)
|
||||
struct vmcs12 *vmcs12 = get_vmcs12(vcpu);
|
||||
|
||||
/* TODO: also check PFEC_MATCH/MASK, not just EB.PF. */
|
||||
- if (!(vmcs12->exception_bitmap & PF_VECTOR))
|
||||
+ if (!(vmcs12->exception_bitmap & (1u << PF_VECTOR)))
|
||||
return 0;
|
||||
|
||||
nested_vmx_vmexit(vcpu);
|
||||
--
|
||||
1.7.6.4
|
||||
|
||||
--
|
||||
To unsubscribe from this list: send the line "unsubscribe stable" in
|
||||
the body of a message to majordomo@vger.kernel.org
|
||||
More majordomo info at http://vger.kernel.org/majordomo-info.html
|
||||
|
||||
|
|
@ -1,40 +0,0 @@
|
|||
From: Marcelo Tosatti <mtosatti@redhat.com>
|
||||
Date: Fri, 18 May 2012 17:58:49 -0300
|
||||
Subject: KVM: VMX: vmx_set_cr0 expects kvm->srcu locked
|
||||
|
||||
(cherry picked from commit 7a4f5ad051e02139a9f1c0f7f4b1acb88915852b)
|
||||
|
||||
vmx_set_cr0 is called from vcpu run context, therefore it expects
|
||||
kvm->srcu to be held (for setting up the real-mode TSS).
|
||||
|
||||
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
|
||||
Signed-off-by: Avi Kivity <avi@redhat.com>
|
||||
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
|
||||
---
|
||||
arch/x86/kvm/vmx.c | 2 ++
|
||||
1 files changed, 2 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
|
||||
index 7ac5993..7315488 100644
|
||||
--- a/arch/x86/kvm/vmx.c
|
||||
+++ b/arch/x86/kvm/vmx.c
|
||||
@@ -3915,7 +3915,9 @@ static int vmx_vcpu_reset(struct kvm_vcpu *vcpu)
|
||||
vmcs_write16(VIRTUAL_PROCESSOR_ID, vmx->vpid);
|
||||
|
||||
vmx->vcpu.arch.cr0 = X86_CR0_NW | X86_CR0_CD | X86_CR0_ET;
|
||||
+ vcpu->srcu_idx = srcu_read_lock(&vcpu->kvm->srcu);
|
||||
vmx_set_cr0(&vmx->vcpu, kvm_read_cr0(vcpu)); /* enter rmode */
|
||||
+ srcu_read_unlock(&vcpu->kvm->srcu, vcpu->srcu_idx);
|
||||
vmx_set_cr4(&vmx->vcpu, 0);
|
||||
vmx_set_efer(&vmx->vcpu, 0);
|
||||
vmx_fpu_activate(&vmx->vcpu);
|
||||
--
|
||||
1.7.6.4
|
||||
|
||||
--
|
||||
To unsubscribe from this list: send the line "unsubscribe stable" in
|
||||
the body of a message to majordomo@vger.kernel.org
|
||||
More majordomo info at http://vger.kernel.org/majordomo-info.html
|
||||
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
From: Ben Hutchings <ben@decadent.org.uk>
|
||||
Date: Thu, 31 May 2012 04:04:55 +0100
|
||||
Subject: [PATCH] mmc: Avoid ABI change in 3.2.19
|
||||
|
||||
---
|
||||
include/linux/mmc/host.h | 5 ++++-
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/include/linux/mmc/host.h b/include/linux/mmc/host.h
|
||||
index deb6282..20caeb0 100644
|
||||
--- a/include/linux/mmc/host.h
|
||||
+++ b/include/linux/mmc/host.h
|
||||
@@ -303,7 +303,6 @@ struct mmc_host {
|
||||
|
||||
unsigned int sdio_irqs;
|
||||
struct task_struct *sdio_irq_thread;
|
||||
- bool sdio_irq_pending;
|
||||
atomic_t sdio_irq_thread_abort;
|
||||
|
||||
mmc_pm_flag_t pm_flags; /* requested pm features */
|
||||
@@ -315,6 +314,10 @@ struct mmc_host {
|
||||
#ifdef CONFIG_REGULATOR
|
||||
bool regulator_enabled; /* regulator state */
|
||||
#endif
|
||||
+#if !(defined(__GENKSYMS__) && defined(CONFIG_REGULATOR))
|
||||
+ /* Use the hole after regulator_enabled to avoid an ABI change */
|
||||
+ bool sdio_irq_pending;
|
||||
+#endif
|
||||
|
||||
struct dentry *debugfs_root;
|
||||
|
||||
--
|
||||
1.7.10
|
||||
|
35
debian/patches/features/all/rt/revert-workqueue-skip-nr_running-sanity-check-in-wor.patch
vendored
Normal file
35
debian/patches/features/all/rt/revert-workqueue-skip-nr_running-sanity-check-in-wor.patch
vendored
Normal file
|
@ -0,0 +1,35 @@
|
|||
From: Ben Hutchings <ben@decadent.org.uk>
|
||||
Date: Thu, 31 May 2012 02:58:44 +0100
|
||||
Subject: [PATCH] Revert "workqueue: skip nr_running sanity check in
|
||||
worker_enter_idle() if trustee is active"
|
||||
|
||||
This reverts commit 5d79c6f64a904afc92a329f80abe693e3ae105fe.
|
||||
It conflicts with, and appears to be unnecessary for, the PREEMPT_RT
|
||||
series.
|
||||
---
|
||||
kernel/workqueue.c | 9 ++-------
|
||||
1 file changed, 2 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/kernel/workqueue.c b/kernel/workqueue.c
|
||||
index 7947e16..bb425b1 100644
|
||||
--- a/kernel/workqueue.c
|
||||
+++ b/kernel/workqueue.c
|
||||
@@ -1215,13 +1215,8 @@ static void worker_enter_idle(struct worker *worker)
|
||||
} else
|
||||
wake_up_all(&gcwq->trustee_wait);
|
||||
|
||||
- /*
|
||||
- * Sanity check nr_running. Because trustee releases gcwq->lock
|
||||
- * between setting %WORKER_ROGUE and zapping nr_running, the
|
||||
- * warning may trigger spuriously. Check iff trustee is idle.
|
||||
- */
|
||||
- WARN_ON_ONCE(gcwq->trustee_state == TRUSTEE_DONE &&
|
||||
- gcwq->nr_workers == gcwq->nr_idle &&
|
||||
+ /* sanity check nr_running */
|
||||
+ WARN_ON_ONCE(gcwq->nr_workers == gcwq->nr_idle &&
|
||||
atomic_read(get_gcwq_nr_running(gcwq->cpu)));
|
||||
}
|
||||
|
||||
--
|
||||
1.7.10
|
||||
|
|
@ -1,41 +0,0 @@
|
|||
From: Chris Bagwell <chris@cnpbagwell.com>
|
||||
Date: Wed, 26 Oct 2011 22:28:34 -0700
|
||||
Subject: Input: wacom - relax Bamboo stylus ID check
|
||||
|
||||
commit c5981411f60c31f0dff6f0f98d2d3711384badaf upstream.
|
||||
|
||||
Bit 0x02 always means tip versus eraser. Bit 0x01 is something related
|
||||
to version of stylus and different values are starting to be used.
|
||||
|
||||
Relaxing proximity check is required to be used with 3rd generation
|
||||
Bamboo Pen and Touch tablets.
|
||||
|
||||
Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>
|
||||
Acked-by: Ping Cheng <pingc@wacom.com>
|
||||
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
|
||||
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
|
||||
---
|
||||
drivers/input/tablet/wacom_wac.c | 7 +------
|
||||
1 file changed, 1 insertion(+), 6 deletions(-)
|
||||
|
||||
diff --git a/drivers/input/tablet/wacom_wac.c b/drivers/input/tablet/wacom_wac.c
|
||||
index 2ee47d01a3b4..f00c70e1adb0 100644
|
||||
--- a/drivers/input/tablet/wacom_wac.c
|
||||
+++ b/drivers/input/tablet/wacom_wac.c
|
||||
@@ -843,12 +843,7 @@ static int wacom_bpt_pen(struct wacom_wac *wacom)
|
||||
unsigned char *data = wacom->data;
|
||||
int prox = 0, x = 0, y = 0, p = 0, d = 0, pen = 0, btn1 = 0, btn2 = 0;
|
||||
|
||||
- /*
|
||||
- * Similar to Graphire protocol, data[1] & 0x20 is proximity and
|
||||
- * data[1] & 0x18 is tool ID. 0x30 is safety check to ignore
|
||||
- * 2 unused tool ID's.
|
||||
- */
|
||||
- prox = (data[1] & 0x30) == 0x30;
|
||||
+ prox = (data[1] & 0x20) == 0x20;
|
||||
|
||||
/*
|
||||
* All reports shared between PEN and RUBBER tool must be
|
||||
--
|
||||
1.7.10.1
|
||||
|
|
@ -189,23 +189,14 @@
|
|||
+ debian/skbuff-avoid-ABI-change-in-3.2.17.patch
|
||||
+ debian/usb-hcd-avoid-ABI-change-in-3.2.17.patch
|
||||
+ debian/fork-avoid-ABI-change-in-3.2.18.patch
|
||||
+ debian/mmc-Avoid-ABI-change-in-3.2.19.patch
|
||||
|
||||
+ bugfix/all/ext4-Report-max_batch_time-option-correctly.patch
|
||||
|
||||
# KVM fixes queued for 3.2.19
|
||||
+ bugfix/all/kvm-mmu_notifier-flush-tlbs-before-releasing-mmu_lock.patch
|
||||
+ bugfix/all/kvm-ensure-all-vcpus-are-consistent-with-in-kernel-irqchip.patch
|
||||
+ bugfix/all/kvm-lock-slots_lock-around-device-assignment.patch
|
||||
+ bugfix/x86/kvm-nvmx-fix-erroneous-exception-bitmap-check.patch
|
||||
+ bugfix/x86/kvm-vmx-vmx_set_cr0-expects-kvm-srcu-locked.patch
|
||||
+ bugfix/s390/kvm-s390-do-store-status-after-handling-stop_on_stop-bit.patch
|
||||
+ bugfix/s390/kvm-s390-sanitize-fpc-registers-for-kvm_set_fpu.patch
|
||||
|
||||
# Update wacom driver to 3.5ish
|
||||
+ features/all/wacom/0001-Input-wacom-cleanup-feature-report-for-bamboos.patch
|
||||
+ features/all/wacom/0002-Input-wacom-remove-unused-bamboo-HID-parsing.patch
|
||||
+ features/all/wacom/0003-Input-wacom-add-some-comments-to-wacom_parse_hid.patch
|
||||
+ features/all/wacom/0004-Input-wacom-relax-Bamboo-stylus-ID-check.patch
|
||||
+ features/all/wacom/0005-Input-wacom-read-3rd-gen-Bamboo-Touch-HID-data.patch
|
||||
+ features/all/wacom/0006-Input-wacom-3rd-gen-Bamboo-P-Touch-packet-support.patch
|
||||
+ features/all/wacom/0007-Input-wacom-ignore-unwanted-bamboo-packets.patch
|
||||
|
@ -234,7 +225,6 @@
|
|||
+ features/all/rt2x00-add-rt5372-chipset-support.patch
|
||||
|
||||
+ bugfix/all/acpi-battery-only-refresh-the-sysfs-files-when-pertinent.patch
|
||||
+ bugfix/all/ethtool-null-terminate-filename-passed-to.patch
|
||||
|
||||
# Update be2net driver to 3.5ish
|
||||
+ features/all/be2net/0001-sweep-the-floors-and-convert-some-.get_drvinfo-routi.patch
|
||||
|
|
|
@ -222,6 +222,7 @@
|
|||
+ features/all/rt/0223-workqueue-use-get-cpu-light.patch.patch featureset=rt
|
||||
+ features/all/rt/0224-epoll.patch.patch featureset=rt
|
||||
+ features/all/rt/0225-mm-vmalloc.patch.patch featureset=rt
|
||||
+ features/all/rt/revert-workqueue-skip-nr_running-sanity-check-in-wor.patch featureset=rt
|
||||
+ features/all/rt/0226-workqueue-Fix-cpuhotplug-trainwreck.patch featureset=rt
|
||||
+ features/all/rt/0227-workqueue-Fix-PF_THREAD_BOUND-abuse.patch featureset=rt
|
||||
+ features/all/rt/0228-workqueue-Use-get_cpu_light-in-flush_gcwq.patch featureset=rt
|
||||
|
|
Loading…
Reference in New Issue