]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.18-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 8 Feb 2015 02:01:13 +0000 (10:01 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 8 Feb 2015 02:01:13 +0000 (10:01 +0800)
added patches:
lib-checksum.c-fix-build-for-generic-csum_tcpudp_nofold.patch

queue-3.18/lib-checksum.c-fix-build-for-generic-csum_tcpudp_nofold.patch [new file with mode: 0644]
queue-3.18/series

diff --git a/queue-3.18/lib-checksum.c-fix-build-for-generic-csum_tcpudp_nofold.patch b/queue-3.18/lib-checksum.c-fix-build-for-generic-csum_tcpudp_nofold.patch
new file mode 100644 (file)
index 0000000..f024389
--- /dev/null
@@ -0,0 +1,60 @@
+From 9ce357795ef208faa0d59894d9d119a7434e37f3 Mon Sep 17 00:00:00 2001
+From: karl beldan <karl.beldan@gmail.com>
+Date: Thu, 29 Jan 2015 11:10:22 +0100
+Subject: lib/checksum.c: fix build for generic csum_tcpudp_nofold
+
+From: karl beldan <karl.beldan@gmail.com>
+
+commit 9ce357795ef208faa0d59894d9d119a7434e37f3 upstream.
+
+Fixed commit added from64to32 under _#ifndef do_csum_ but used it
+under _#ifndef csum_tcpudp_nofold_, breaking some builds (Fengguang's
+robot reported TILEGX's). Move from64to32 under the latter.
+
+Fixes: 150ae0e94634 ("lib/checksum.c: fix carry in csum_tcpudp_nofold")
+Reported-by: kbuild test robot <fengguang.wu@intel.com>
+Signed-off-by: Karl Beldan <karl.beldan@rivierawaves.com>
+Cc: Eric Dumazet <edumazet@google.com>
+Cc: David S. Miller <davem@davemloft.net>
+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>
+
+---
+ lib/checksum.c |   18 +++++++++---------
+ 1 file changed, 9 insertions(+), 9 deletions(-)
+
+--- a/lib/checksum.c
++++ b/lib/checksum.c
+@@ -47,15 +47,6 @@ static inline unsigned short from32to16(
+       return x;
+ }
+-static inline u32 from64to32(u64 x)
+-{
+-      /* add up 32-bit and 32-bit for 32+c bit */
+-      x = (x & 0xffffffff) + (x >> 32);
+-      /* add up carry.. */
+-      x = (x & 0xffffffff) + (x >> 32);
+-      return (u32)x;
+-}
+-
+ static unsigned int do_csum(const unsigned char *buff, int len)
+ {
+       int odd;
+@@ -190,6 +181,15 @@ csum_partial_copy(const void *src, void
+ EXPORT_SYMBOL(csum_partial_copy);
+ #ifndef csum_tcpudp_nofold
++static inline u32 from64to32(u64 x)
++{
++      /* add up 32-bit and 32-bit for 32+c bit */
++      x = (x & 0xffffffff) + (x >> 32);
++      /* add up carry.. */
++      x = (x & 0xffffffff) + (x >> 32);
++      return (u32)x;
++}
++
+ __wsum csum_tcpudp_nofold(__be32 saddr, __be32 daddr,
+                       unsigned short len,
+                       unsigned short proto,
index 129a9a957a9621877cc250fd2f4cb6592b8d182c..4991b0237254624b8b47849aa822d6e2aee77400 100644 (file)
@@ -26,3 +26,4 @@ drm-radeon-fix-the-crash-in-test-functions.patch
 drm-radeon-properly-set-vm-fragment-size-for-tn-rl.patch
 kconfig-fix-warning-jump-may-be-used-uninitialized.patch
 arm64-fix-up-proc-cpuinfo.patch
+lib-checksum.c-fix-build-for-generic-csum_tcpudp_nofold.patch