]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.4-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 16 Aug 2013 12:41:27 +0000 (05:41 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 16 Aug 2013 12:41:27 +0000 (05:41 -0700)
added patches:
mips-rewrite-pfn_valid-to-work-in-modules-too.patch
sparc32-add-ucmpdi2.o-to-obj-y-instead-of-lib-y.patch
sparc32-add-ucmpdi2.patch

queue-3.4/mips-rewrite-pfn_valid-to-work-in-modules-too.patch [new file with mode: 0644]
queue-3.4/series
queue-3.4/sparc32-add-ucmpdi2.o-to-obj-y-instead-of-lib-y.patch [new file with mode: 0644]
queue-3.4/sparc32-add-ucmpdi2.patch [new file with mode: 0644]

diff --git a/queue-3.4/mips-rewrite-pfn_valid-to-work-in-modules-too.patch b/queue-3.4/mips-rewrite-pfn_valid-to-work-in-modules-too.patch
new file mode 100644 (file)
index 0000000..6a297bb
--- /dev/null
@@ -0,0 +1,59 @@
+From linux@roeck-us.net  Fri Aug 16 05:40:22 2013
+From: Ralf Baechle <ralf@linux-mips.org>
+Date: Thu, 15 Aug 2013 22:35:53 -0700
+Subject: MIPS: Rewrite pfn_valid to work in modules, too.
+To: linux-stable@vger.kernel.org
+Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Ralf Baechle <ralf@linux-mips.org>, Guenter Roeck <linux@roeck-us.net>
+Message-ID: <1376631353-26726-1-git-send-email-linux@roeck-us.net>
+
+From: Ralf Baechle <ralf@linux-mips.org>
+
+Upstream commit 8b9232141bf40788cce31f893c13f344ec31ee66.
+
+This fixes:
+
+  MODPOST 393 modules
+ERROR: "min_low_pfn" [arch/mips/kvm/kvm.ko] undefined!
+make[3]: *** [__modpost] Error 1
+
+It would have been possible to just export min_low_pfn but in the end
+pfn_valid should return 1 for any pfn argument for which a struct page
+exists so using min_low_pfn was wrong anyway.
+
+[Backport to 3.4 kernel. Applies cleanly on top of current 3.4 patch queue,
+and fixes "make ARCH=mips allmodconfig; make ARCH=mips" build problem. - Guenter]
+
+Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
+Signed-off-by: Guenter Roeck <linux@roeck-us.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+
+ arch/mips/include/asm/page.h |   17 +++++++++--------
+ 1 file changed, 9 insertions(+), 8 deletions(-)
+
+--- a/arch/mips/include/asm/page.h
++++ b/arch/mips/include/asm/page.h
+@@ -175,14 +175,15 @@ typedef struct { unsigned long pgprot; }
+ #ifdef CONFIG_FLATMEM
+-#define pfn_valid(pfn)                                                        \
+-({                                                                    \
+-      unsigned long __pfn = (pfn);                                    \
+-      /* avoid <linux/bootmem.h> include hell */                      \
+-      extern unsigned long min_low_pfn;                               \
+-                                                                      \
+-      __pfn >= min_low_pfn && __pfn < max_mapnr;                      \
+-})
++#ifndef __ASSEMBLY__
++static inline int pfn_valid(unsigned long pfn)
++{
++      /* avoid <linux/mm.h> include hell */
++      extern unsigned long max_mapnr;
++
++      return pfn >= ARCH_PFN_OFFSET && pfn < max_mapnr;
++}
++#endif
+ #elif defined(CONFIG_SPARSEMEM)
index 11025beb3cd7536ccb40fe4791e0d105798462d7..c161451084fc6180f367c1166b02184ca4c9ae99 100644 (file)
@@ -16,3 +16,6 @@ frv-use-core-allocator-for-task_struct.patch
 powerpc-numa-avoid-stupid-uninitialized-warning-from-gcc.patch
 alpha-makefile-don-t-enforce-small-data-model-for-kernel-builds.patch
 md-raid1-raid10-use-freeze_array-in-place-of-raise_barrier.patch
+sparc32-add-ucmpdi2.patch
+sparc32-add-ucmpdi2.o-to-obj-y-instead-of-lib-y.patch
+mips-rewrite-pfn_valid-to-work-in-modules-too.patch
diff --git a/queue-3.4/sparc32-add-ucmpdi2.o-to-obj-y-instead-of-lib-y.patch b/queue-3.4/sparc32-add-ucmpdi2.o-to-obj-y-instead-of-lib-y.patch
new file mode 100644 (file)
index 0000000..7f50091
--- /dev/null
@@ -0,0 +1,40 @@
+From 74c7b28953d4eaa6a479c187aeafcfc0280da5e8 Mon Sep 17 00:00:00 2001
+From: "David S. Miller" <davem@davemloft.net>
+Date: Sat, 19 May 2012 15:27:01 -0700
+Subject: sparc32: Add ucmpdi2.o to obj-y instead of lib-y.
+
+From: "David S. Miller" <davem@davemloft.net>
+
+commit 74c7b28953d4eaa6a479c187aeafcfc0280da5e8 upstream.
+
+Otherwise if no references exist in the static kernel image,
+we won't export the symbol properly to modules.
+
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Cc: Guenter Roeck <linux@roeck-us.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/sparc/lib/Makefile |    4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/arch/sparc/lib/Makefile
++++ b/arch/sparc/lib/Makefile
+@@ -15,7 +15,7 @@ lib-$(CONFIG_SPARC32) += divdi3.o udivdi
+ lib-$(CONFIG_SPARC32) += copy_user.o locks.o
+ lib-y                 += atomic_$(BITS).o
+ lib-$(CONFIG_SPARC32) += lshrdi3.o ashldi3.o
+-lib-$(CONFIG_SPARC32) += muldi3.o bitext.o cmpdi2.o ucmpdi2.o
++lib-$(CONFIG_SPARC32) += muldi3.o bitext.o cmpdi2.o
+ lib-$(CONFIG_SPARC64) += copy_page.o clear_page.o bzero.o
+ lib-$(CONFIG_SPARC64) += csum_copy.o csum_copy_from_user.o csum_copy_to_user.o
+@@ -40,7 +40,7 @@ lib-$(CONFIG_SPARC64) += copy_in_user.o
+ lib-$(CONFIG_SPARC64) += mcount.o ipcsum.o xor.o hweight.o ffs.o
+ obj-y                 += iomap.o
+-obj-$(CONFIG_SPARC32) += atomic32.o
++obj-$(CONFIG_SPARC32) += atomic32.o ucmpdi2.o
+ obj-y                 += ksyms.o
+ obj-$(CONFIG_SPARC64) += PeeCeeI.o
+ obj-y                 += usercopy.o
diff --git a/queue-3.4/sparc32-add-ucmpdi2.patch b/queue-3.4/sparc32-add-ucmpdi2.patch
new file mode 100644 (file)
index 0000000..3bfa288
--- /dev/null
@@ -0,0 +1,61 @@
+From de36e66d5fa52bc6e2dacd95c701a1762b5308a7 Mon Sep 17 00:00:00 2001
+From: Sam Ravnborg <sam@ravnborg.org>
+Date: Sat, 19 May 2012 11:54:11 +0200
+Subject: sparc32: add ucmpdi2
+
+From: Sam Ravnborg <sam@ravnborg.org>
+
+commit de36e66d5fa52bc6e2dacd95c701a1762b5308a7 upstream.
+
+Based on copy from microblaze add ucmpdi2 implementation.
+This fixes build of niu driver which failed with:
+
+drivers/built-in.o: In function `niu_get_nfc':
+niu.c:(.text+0x91494): undefined reference to `__ucmpdi2'
+
+This driver will never be used on a sparc32 system,
+but patch added to fix build breakage with all*config builds.
+
+Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Cc: Guenter Roeck <linux@roeck-us.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/sparc/lib/Makefile  |    2 +-
+ arch/sparc/lib/ucmpdi2.c |   19 +++++++++++++++++++
+ 2 files changed, 20 insertions(+), 1 deletion(-)
+
+--- a/arch/sparc/lib/Makefile
++++ b/arch/sparc/lib/Makefile
+@@ -15,7 +15,7 @@ lib-$(CONFIG_SPARC32) += divdi3.o udivdi
+ lib-$(CONFIG_SPARC32) += copy_user.o locks.o
+ lib-y                 += atomic_$(BITS).o
+ lib-$(CONFIG_SPARC32) += lshrdi3.o ashldi3.o
+-lib-$(CONFIG_SPARC32) += muldi3.o bitext.o cmpdi2.o
++lib-$(CONFIG_SPARC32) += muldi3.o bitext.o cmpdi2.o ucmpdi2.o
+ lib-$(CONFIG_SPARC64) += copy_page.o clear_page.o bzero.o
+ lib-$(CONFIG_SPARC64) += csum_copy.o csum_copy_from_user.o csum_copy_to_user.o
+--- /dev/null
++++ b/arch/sparc/lib/ucmpdi2.c
+@@ -0,0 +1,19 @@
++#include <linux/module.h>
++#include "libgcc.h"
++
++word_type __ucmpdi2(unsigned long long a, unsigned long long b)
++{
++      const DWunion au = {.ll = a};
++      const DWunion bu = {.ll = b};
++
++      if ((unsigned int) au.s.high < (unsigned int) bu.s.high)
++              return 0;
++      else if ((unsigned int) au.s.high > (unsigned int) bu.s.high)
++              return 2;
++      if ((unsigned int) au.s.low < (unsigned int) bu.s.low)
++              return 0;
++      else if ((unsigned int) au.s.low > (unsigned int) bu.s.low)
++              return 2;
++      return 1;
++}
++EXPORT_SYMBOL(__ucmpdi2);