]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.0-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 12 Sep 2013 17:10:54 +0000 (10:10 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 12 Sep 2013 17:10:54 +0000 (10:10 -0700)
added patches:
kvm-s390-move-kvm_guest_enter-exit-closer-to-sie.patch
m32r-add-memcpy-for-config_kernel_gzip-y.patch
m32r-consistently-use-suffix.patch
m32r-make-memset-global-for-config_kernel_bzip2-y.patch
parisc-include-linux-prefetch.h-in-drivers-parisc-iommu-helpers.h.patch
pci-frv-architecture-needs-generic-setup-bus-infrastructure.patch

queue-3.0/kvm-s390-move-kvm_guest_enter-exit-closer-to-sie.patch [new file with mode: 0644]
queue-3.0/m32r-add-memcpy-for-config_kernel_gzip-y.patch [new file with mode: 0644]
queue-3.0/m32r-consistently-use-suffix.patch [new file with mode: 0644]
queue-3.0/m32r-make-memset-global-for-config_kernel_bzip2-y.patch [new file with mode: 0644]
queue-3.0/parisc-include-linux-prefetch.h-in-drivers-parisc-iommu-helpers.h.patch [new file with mode: 0644]
queue-3.0/pci-frv-architecture-needs-generic-setup-bus-infrastructure.patch [new file with mode: 0644]
queue-3.0/series

diff --git a/queue-3.0/kvm-s390-move-kvm_guest_enter-exit-closer-to-sie.patch b/queue-3.0/kvm-s390-move-kvm_guest_enter-exit-closer-to-sie.patch
new file mode 100644 (file)
index 0000000..7a81cd0
--- /dev/null
@@ -0,0 +1,67 @@
+From 2b29a9fdcb92bfc6b6f4c412d71505869de61a56 Mon Sep 17 00:00:00 2001
+From: Dominik Dingel <dingel@linux.vnet.ibm.com>
+Date: Fri, 26 Jul 2013 15:04:00 +0200
+Subject: KVM: s390: move kvm_guest_enter,exit closer to sie
+
+From: Dominik Dingel <dingel@linux.vnet.ibm.com>
+
+commit 2b29a9fdcb92bfc6b6f4c412d71505869de61a56 upstream.
+
+Any uaccess between guest_enter and guest_exit could trigger a page fault,
+the page fault handler would handle it as a guest fault and translate a
+user address as guest address.
+
+Signed-off-by: Dominik Dingel <dingel@linux.vnet.ibm.com>
+Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
+Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
+[bwh: Backported to 3.2: adjust context and add the rc variable]
+Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
+Reviewed-by: Dominik Dingel <dingel@linux.vnet.ibm.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/s390/kvm/kvm-s390.c |   17 +++++++++++------
+ 1 file changed, 11 insertions(+), 6 deletions(-)
+
+--- a/arch/s390/kvm/kvm-s390.c
++++ b/arch/s390/kvm/kvm-s390.c
+@@ -445,6 +445,8 @@ int kvm_arch_vcpu_ioctl_set_mpstate(stru
+ static void __vcpu_run(struct kvm_vcpu *vcpu)
+ {
++      int rc;
++
+       memcpy(&vcpu->arch.sie_block->gg14, &vcpu->arch.guest_gprs[14], 16);
+       if (need_resched())
+@@ -455,21 +457,24 @@ static void __vcpu_run(struct kvm_vcpu *
+       kvm_s390_deliver_pending_interrupts(vcpu);
++      VCPU_EVENT(vcpu, 6, "entering sie flags %x",
++                 atomic_read(&vcpu->arch.sie_block->cpuflags));
++
+       vcpu->arch.sie_block->icptcode = 0;
+       local_irq_disable();
+       kvm_guest_enter();
+       local_irq_enable();
+-      VCPU_EVENT(vcpu, 6, "entering sie flags %x",
+-                 atomic_read(&vcpu->arch.sie_block->cpuflags));
+-      if (sie64a(vcpu->arch.sie_block, vcpu->arch.guest_gprs)) {
++      rc = sie64a(vcpu->arch.sie_block, vcpu->arch.guest_gprs);
++      local_irq_disable();
++      kvm_guest_exit();
++      local_irq_enable();
++
++      if (rc) {
+               VCPU_EVENT(vcpu, 3, "%s", "fault in sie instruction");
+               kvm_s390_inject_program_int(vcpu, PGM_ADDRESSING);
+       }
+       VCPU_EVENT(vcpu, 6, "exit sie icptcode %d",
+                  vcpu->arch.sie_block->icptcode);
+-      local_irq_disable();
+-      kvm_guest_exit();
+-      local_irq_enable();
+       memcpy(&vcpu->arch.guest_gprs[14], &vcpu->arch.sie_block->gg14, 16);
+ }
diff --git a/queue-3.0/m32r-add-memcpy-for-config_kernel_gzip-y.patch b/queue-3.0/m32r-add-memcpy-for-config_kernel_gzip-y.patch
new file mode 100644 (file)
index 0000000..d11ef4e
--- /dev/null
@@ -0,0 +1,49 @@
+From a8abbca6617e1caa2344d2d38d0a35f3e5928b79 Mon Sep 17 00:00:00 2001
+From: Geert Uytterhoeven <geert@linux-m68k.org>
+Date: Tue, 17 Jul 2012 15:48:04 -0700
+Subject: m32r: add memcpy() for CONFIG_KERNEL_GZIP=y
+
+From: Geert Uytterhoeven <geert@linux-m68k.org>
+
+commit a8abbca6617e1caa2344d2d38d0a35f3e5928b79 upstream.
+
+Fix the m32r link error:
+
+    LD      arch/m32r/boot/compressed/vmlinux
+  arch/m32r/boot/compressed/misc.o: In function `zlib_updatewindow':
+  misc.c:(.text+0x190): undefined reference to `memcpy'
+  misc.c:(.text+0x190): relocation truncated to fit: R_M32R_26_PLTREL against undefined symbol `memcpy'
+  make[5]: *** [arch/m32r/boot/compressed/vmlinux] Error 1
+
+by adding our own implementation of memcpy().
+
+Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
+Cc: Hirokazu Takata <takata@linux-m32r.org>
+Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+Cc: Ben Hutchings <ben@decadent.org.uk>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/m32r/boot/compressed/misc.c |   10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+--- a/arch/m32r/boot/compressed/misc.c
++++ b/arch/m32r/boot/compressed/misc.c
+@@ -39,6 +39,16 @@ static void *memset(void *s, int c, size
+ #endif
+ #ifdef CONFIG_KERNEL_GZIP
++void *memcpy(void *dest, const void *src, size_t n)
++{
++      char *d = dest;
++      const char *s = src;
++      while (n--)
++              *d++ = *s++;
++
++      return dest;
++}
++
+ #define BOOT_HEAP_SIZE             0x10000
+ #include "../../../../lib/decompress_inflate.c"
+ #endif
diff --git a/queue-3.0/m32r-consistently-use-suffix.patch b/queue-3.0/m32r-consistently-use-suffix.patch
new file mode 100644 (file)
index 0000000..ed3ed3e
--- /dev/null
@@ -0,0 +1,45 @@
+From df12aef6a19bb2d69859a94936bda0e6ccaf3327 Mon Sep 17 00:00:00 2001
+From: Geert Uytterhoeven <geert@linux-m68k.org>
+Date: Tue, 17 Jul 2012 15:48:02 -0700
+Subject: m32r: consistently use "suffix-$(...)"
+
+From: Geert Uytterhoeven <geert@linux-m68k.org>
+
+commit df12aef6a19bb2d69859a94936bda0e6ccaf3327 upstream.
+
+Commit a556bec9955c ("m32r: fix arch/m32r/boot/compressed/Makefile")
+changed "$(suffix_y)" to "$(suffix-y)", but didn't update any location
+where "suffix_y" is set, causing:
+
+  make[5]: *** No rule to make target `arch/m32r/boot/compressed/vmlinux.bin.', needed by `arch/m32r/boot/compressed/piggy.o'.  Stop.
+  make[4]: *** [arch/m32r/boot/compressed/vmlinux] Error 2
+  make[3]: *** [zImage] Error 2
+
+Correct the other locations to fix this.
+
+Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
+Cc: Hirokazu Takata <takata@linux-m32r.org>
+Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+Cc: Ben Hutchings <ben@decadent.org.uk>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/m32r/boot/compressed/Makefile |    6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+--- a/arch/m32r/boot/compressed/Makefile
++++ b/arch/m32r/boot/compressed/Makefile
+@@ -43,9 +43,9 @@ endif
+ OBJCOPYFLAGS += -R .empty_zero_page
+-suffix_$(CONFIG_KERNEL_GZIP)  = gz
+-suffix_$(CONFIG_KERNEL_BZIP2) = bz2
+-suffix_$(CONFIG_KERNEL_LZMA)  = lzma
++suffix-$(CONFIG_KERNEL_GZIP)  = gz
++suffix-$(CONFIG_KERNEL_BZIP2) = bz2
++suffix-$(CONFIG_KERNEL_LZMA)  = lzma
+ $(obj)/piggy.o: $(obj)/vmlinux.scr $(obj)/vmlinux.bin.$(suffix-y) FORCE
+       $(call if_changed,ld)
diff --git a/queue-3.0/m32r-make-memset-global-for-config_kernel_bzip2-y.patch b/queue-3.0/m32r-make-memset-global-for-config_kernel_bzip2-y.patch
new file mode 100644 (file)
index 0000000..1e1901a
--- /dev/null
@@ -0,0 +1,39 @@
+From 9a75c6e5240f7edc5955e8da5b94bde6f96070b3 Mon Sep 17 00:00:00 2001
+From: Geert Uytterhoeven <geert@linux-m68k.org>
+Date: Tue, 17 Jul 2012 15:48:05 -0700
+Subject: m32r: make memset() global for CONFIG_KERNEL_BZIP2=y
+
+From: Geert Uytterhoeven <geert@linux-m68k.org>
+
+commit 9a75c6e5240f7edc5955e8da5b94bde6f96070b3 upstream.
+
+Fix the m32r compile error:
+
+  arch/m32r/boot/compressed/misc.c:31:14: error: static declaration of 'memset' follows non-static declaration
+  make[5]: *** [arch/m32r/boot/compressed/misc.o] Error 1
+  make[4]: *** [arch/m32r/boot/compressed/vmlinux] Error 2
+
+by removing the static keyword.
+
+Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
+Cc: Hirokazu Takata <takata@linux-m32r.org>
+Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+Cc: Ben Hutchings <ben@decadent.org.uk>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/m32r/boot/compressed/misc.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/arch/m32r/boot/compressed/misc.c
++++ b/arch/m32r/boot/compressed/misc.c
+@@ -28,7 +28,7 @@ static unsigned long free_mem_ptr;
+ static unsigned long free_mem_end_ptr;
+ #ifdef CONFIG_KERNEL_BZIP2
+-static void *memset(void *s, int c, size_t n)
++void *memset(void *s, int c, size_t n)
+ {
+       char *ss = s;
diff --git a/queue-3.0/parisc-include-linux-prefetch.h-in-drivers-parisc-iommu-helpers.h.patch b/queue-3.0/parisc-include-linux-prefetch.h-in-drivers-parisc-iommu-helpers.h.patch
new file mode 100644 (file)
index 0000000..ddf3739
--- /dev/null
@@ -0,0 +1,32 @@
+From 650275dbfb2f4c12bc91420ad5a99f955eabec98 Mon Sep 17 00:00:00 2001
+From: Cong Wang <xiyou.wangcong@gmail.com>
+Date: Fri, 3 Feb 2012 15:34:16 +0800
+Subject: PARISC: include <linux/prefetch.h> in drivers/parisc/iommu-helpers.h
+
+From: Cong Wang <xiyou.wangcong@gmail.com>
+
+commit 650275dbfb2f4c12bc91420ad5a99f955eabec98 upstream.
+
+drivers/parisc/iommu-helpers.h:62: error: implicit declaration of function 'prefetchw'
+make[3]: *** [drivers/parisc/sba_iommu.o] Error 1
+
+drivers/parisc/iommu-helpers.h needs to #include <linux/prefetch.h>
+where prefetchw is declared.
+
+Signed-off-by: WANG Cong <xiyou.wangcong@gmail.com>
+Signed-off-by: James Bottomley <JBottomley@Parallels.com>
+Cc: Ben Hutchings <ben@decadent.org.uk>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/parisc/iommu-helpers.h |    2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/drivers/parisc/iommu-helpers.h
++++ b/drivers/parisc/iommu-helpers.h
+@@ -1,3 +1,5 @@
++#include <linux/prefetch.h>
++
+ /**
+  * iommu_fill_pdir - Insert coalesced scatter/gather chunks into the I/O Pdir.
+  * @ioc: The I/O Controller.
diff --git a/queue-3.0/pci-frv-architecture-needs-generic-setup-bus-infrastructure.patch b/queue-3.0/pci-frv-architecture-needs-generic-setup-bus-infrastructure.patch
new file mode 100644 (file)
index 0000000..d8196ea
--- /dev/null
@@ -0,0 +1,39 @@
+From cd0a2bfb77a3edeecd652081e0b1a163d3b0696b Mon Sep 17 00:00:00 2001
+From: Paul Gortmaker <paul.gortmaker@windriver.com>
+Date: Wed, 18 Apr 2012 17:17:19 -0400
+Subject: pci: frv architecture needs generic setup-bus infrastructure
+
+From: Paul Gortmaker <paul.gortmaker@windriver.com>
+
+commit cd0a2bfb77a3edeecd652081e0b1a163d3b0696b upstream.
+
+Otherwise we get this link failure for frv's defconfig:
+
+   LD      .tmp_vmlinux1
+ drivers/built-in.o: In function `pci_assign_resource':
+ (.text+0xbf0c): undefined reference to `pci_cardbus_resource_alignment'
+ drivers/built-in.o: In function `pci_setup':
+ pci.c:(.init.text+0x174): undefined reference to `pci_realloc_get_opt'
+ pci.c:(.init.text+0x1a0): undefined reference to `pci_realloc_get_opt'
+ make[1]: *** [.tmp_vmlinux1] Error 1
+
+Cc: David Howells <dhowells@redhat.com>
+Acked-by: Bjorn Helgaas <bhelgaas@google.com>
+Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
+Cc: Ben Hutchings <ben@decadent.org.uk>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/pci/Makefile |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/pci/Makefile
++++ b/drivers/pci/Makefile
+@@ -46,6 +46,7 @@ obj-$(CONFIG_UNICORE32) += setup-bus.o s
+ obj-$(CONFIG_PARISC) += setup-bus.o
+ obj-$(CONFIG_SUPERH) += setup-bus.o setup-irq.o
+ obj-$(CONFIG_PPC) += setup-bus.o
++obj-$(CONFIG_FRV) += setup-bus.o
+ obj-$(CONFIG_MIPS) += setup-bus.o setup-irq.o
+ obj-$(CONFIG_X86_VISWS) += setup-irq.o
+ obj-$(CONFIG_MN10300) += setup-bus.o
index d1dea26d375c2548de5afc3fc10f052933cc369a..4416dda57c81589e900150fd2ab6942450e10372 100644 (file)
@@ -11,3 +11,9 @@ ipv6-don-t-depend-on-per-socket-memory-for-neighbour-discovery-messages.patch
 net-bridge-convert-mldv2-query-mrc-into-msecs_to_jiffies-for-max_delay.patch
 icmpv6-treat-dest-unreachable-codes-5-and-6-as-eacces-not-eproto.patch
 tipc-fix-lockdep-warning-during-bearer-initialization.patch
+parisc-include-linux-prefetch.h-in-drivers-parisc-iommu-helpers.h.patch
+pci-frv-architecture-needs-generic-setup-bus-infrastructure.patch
+m32r-consistently-use-suffix.patch
+m32r-add-memcpy-for-config_kernel_gzip-y.patch
+m32r-make-memset-global-for-config_kernel_bzip2-y.patch
+kvm-s390-move-kvm_guest_enter-exit-closer-to-sie.patch