From: Greg Kroah-Hartman Date: Sun, 8 Feb 2015 02:00:47 +0000 (+0800) Subject: 3.10-stable patches X-Git-Tag: v3.10.69~13 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2630b1002d51b833653c816699ad2df4664ccd64;p=thirdparty%2Fkernel%2Fstable-queue.git 3.10-stable patches added patches: lib-checksum.c-fix-build-for-generic-csum_tcpudp_nofold.patch --- 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 index 00000000000..f024389d986 --- /dev/null +++ b/queue-3.10/lib-checksum.c-fix-build-for-generic-csum_tcpudp_nofold.patch @@ -0,0 +1,60 @@ +From 9ce357795ef208faa0d59894d9d119a7434e37f3 Mon Sep 17 00:00:00 2001 +From: karl beldan +Date: Thu, 29 Jan 2015 11:10:22 +0100 +Subject: lib/checksum.c: fix build for generic csum_tcpudp_nofold + +From: karl beldan + +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 +Signed-off-by: Karl Beldan +Cc: Eric Dumazet +Cc: David S. Miller +Signed-off-by: David S. Miller +Cc: Guenter Roeck +Signed-off-by: Greg Kroah-Hartman + +--- + 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, diff --git a/queue-3.10/series b/queue-3.10/series index 53621821fcb..2bac19b7e97 100644 --- a/queue-3.10/series +++ b/queue-3.10/series @@ -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