]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/commitdiff
powerpc/64: Fix checksum folding in csum_add()
authorShile Zhang <shile.zhang@nokia.com>
Sat, 4 Feb 2017 09:03:40 +0000 (17:03 +0800)
committerTim Gardner <tim.gardner@canonical.com>
Fri, 10 Mar 2017 19:45:55 +0000 (12:45 -0700)
BugLink: http://bugs.launchpad.net/bugs/1670247
Paul's patch to fix checksum folding, commit b492f7e4e07a ("powerpc/64:
Fix checksum folding in csum_tcpudp_nofold and ip_fast_csum_nofold")
missed a case in csum_add(). Fix it.

Signed-off-by: Shile Zhang <shile.zhang@nokia.com>
Acked-by: Paul Mackerras <paulus@ozlabs.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
(cherry picked from commit 6ad966d7303b70165228dba1ee8da1a05c10eefe)
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
arch/powerpc/include/asm/checksum.h

index 1e8fceb308a518950918e1ea7d9102eb313f66ee..a67bb09585f4ea7b5a46ecec35a94480eeaadad0 100644 (file)
@@ -100,7 +100,7 @@ static inline __wsum csum_add(__wsum csum, __wsum addend)
 
 #ifdef __powerpc64__
        res += (__force u64)addend;
-       return (__force __wsum)((u32)res + (res >> 32));
+       return (__force __wsum) from64to32(res);
 #else
        asm("addc %0,%0,%1;"
            "addze %0,%0;"