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

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

diff --git a/queue-3.10/lib-checksum.c-fix-build-for-generic-csum_tcpudp_nofold.patch b/queue-3.10/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 53621821fcbf7af80958f834dcbc6c7836d16b33..2bac19b7e97732ced8f2cc42f297f4c6741f7e06 100644 (file)
@@ -8,3 +8,4 @@ lib-checksum.c-fix-carry-in-csum_tcpudp_nofold.patch
 nilfs2-fix-deadlock-of-segment-constructor-over-i_sync-flag.patch
 arm64-fix-up-proc-cpuinfo.patch
 ext4-prevent-bugon-on-race-between-write-fcntl.patch
+lib-checksum.c-fix-build-for-generic-csum_tcpudp_nofold.patch