]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
4.0-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 22 Jul 2015 03:20:32 +0000 (20:20 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 22 Jul 2015 03:20:32 +0000 (20:20 -0700)
added patches:
arch-x86-kvm-mmu.c-work-around-gcc-4.4.4-bug.patch

queue-4.0/arch-x86-kvm-mmu.c-work-around-gcc-4.4.4-bug.patch [new file with mode: 0644]
queue-4.0/series [new file with mode: 0644]

diff --git a/queue-4.0/arch-x86-kvm-mmu.c-work-around-gcc-4.4.4-bug.patch b/queue-4.0/arch-x86-kvm-mmu.c-work-around-gcc-4.4.4-bug.patch
new file mode 100644 (file)
index 0000000..4ea2e12
--- /dev/null
@@ -0,0 +1,56 @@
+From 5ec45a192fe6e287f0fc06d5ca4f3bd446d94803 Mon Sep 17 00:00:00 2001
+From: Andrew Morton <akpm@linux-foundation.org>
+Date: Wed, 10 Jun 2015 11:15:02 -0700
+Subject: arch/x86/kvm/mmu.c: work around gcc-4.4.4 bug
+
+From: Andrew Morton <akpm@linux-foundation.org>
+
+commit 5ec45a192fe6e287f0fc06d5ca4f3bd446d94803 upstream.
+
+Fix this compile issue with gcc-4.4.4:
+
+   arch/x86/kvm/mmu.c: In function 'kvm_mmu_pte_write':
+   arch/x86/kvm/mmu.c:4256: error: unknown field 'cr0_wp' specified in initializer
+   arch/x86/kvm/mmu.c:4257: error: unknown field 'cr4_pae' specified in initializer
+   arch/x86/kvm/mmu.c:4257: warning: excess elements in union initializer
+   ...
+
+gcc-4.4.4 (at least) has issues when using anonymous unions in
+initializers.
+
+Fixes: edc90b7dc4ceef6 ("KVM: MMU: fix SMAP virtualization")
+Cc: Xiao Guangrong <guangrong.xiao@linux.intel.com>
+Cc: Paolo Bonzini <pbonzini@redhat.com>
+Cc: Davidlohr Bueso <dave@stgolabs.net>
+Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+Cc: Donald Parsons <dparsons@brightdsl.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/x86/kvm/mmu.c |   14 +++++++-------
+ 1 file changed, 7 insertions(+), 7 deletions(-)
+
+--- a/arch/x86/kvm/mmu.c
++++ b/arch/x86/kvm/mmu.c
+@@ -4215,13 +4215,13 @@ void kvm_mmu_pte_write(struct kvm_vcpu *
+       u64 entry, gentry, *spte;
+       int npte;
+       bool remote_flush, local_flush, zap_page;
+-      union kvm_mmu_page_role mask = (union kvm_mmu_page_role) {
+-              .cr0_wp = 1,
+-              .cr4_pae = 1,
+-              .nxe = 1,
+-              .smep_andnot_wp = 1,
+-              .smap_andnot_wp = 1,
+-      };
++      union kvm_mmu_page_role mask = { };
++
++      mask.cr0_wp = 1;
++      mask.cr4_pae = 1;
++      mask.nxe = 1;
++      mask.smep_andnot_wp = 1;
++      mask.smap_andnot_wp = 1;
+       /*
+        * If we don't have indirect shadow pages, it means no page is
diff --git a/queue-4.0/series b/queue-4.0/series
new file mode 100644 (file)
index 0000000..03f70c8
--- /dev/null
@@ -0,0 +1 @@
+arch-x86-kvm-mmu.c-work-around-gcc-4.4.4-bug.patch