--- /dev/null
+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