From: Greg Kroah-Hartman Date: Wed, 22 Jul 2015 03:20:32 +0000 (-0700) Subject: 4.0-stable patches X-Git-Tag: v4.1.4~51 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7cf27894fb0adbcc63029581dd383801154b8fe0;p=thirdparty%2Fkernel%2Fstable-queue.git 4.0-stable patches added patches: arch-x86-kvm-mmu.c-work-around-gcc-4.4.4-bug.patch --- 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 index 00000000000..4ea2e12b442 --- /dev/null +++ b/queue-4.0/arch-x86-kvm-mmu.c-work-around-gcc-4.4.4-bug.patch @@ -0,0 +1,56 @@ +From 5ec45a192fe6e287f0fc06d5ca4f3bd446d94803 Mon Sep 17 00:00:00 2001 +From: Andrew Morton +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 + +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 +Cc: Paolo Bonzini +Cc: Davidlohr Bueso +Signed-off-by: Andrew Morton +Signed-off-by: Linus Torvalds +Cc: Donald Parsons +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..03f70c84e05 --- /dev/null +++ b/queue-4.0/series @@ -0,0 +1 @@ +arch-x86-kvm-mmu.c-work-around-gcc-4.4.4-bug.patch