lkml.org 
[lkml]   [2009]   [Oct]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[patch 01/26] x86: fix csum_ipv6_magic asm memory clobber
    2.6.31-stable review patch.  If anyone has any objections, please let us know.

    ------------------
    From: Samuel Thibault <samuel.thibault@ens-lyon.org>

    commit 392d814daf460a9564d29b2cebc51e1ea34e0504 upstream.

    Just like ip_fast_csum, the assembly snippet in csum_ipv6_magic needs a
    memory clobber, as it is only passed the address of the buffer, not a
    memory reference to the buffer itself.

    This caused failures in Hurd's pfinetv4 when we tried to compile it with
    gcc-4.3 (bogus checksums).

    Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
    Cc: Ingo Molnar <mingo@elte.hu>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: "H. Peter Anvin" <hpa@zytor.com>
    Acked-by: "David S. Miller" <davem@davemloft.net>
    Cc: Andi Kleen <andi@firstfloor.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

    ---
    arch/x86/include/asm/checksum_32.h | 3 ++-
    1 file changed, 2 insertions(+), 1 deletion(-)

    --- a/arch/x86/include/asm/checksum_32.h
    +++ b/arch/x86/include/asm/checksum_32.h
    @@ -161,7 +161,8 @@ static inline __sum16 csum_ipv6_magic(co
    "adcl $0, %0 ;\n"
    : "=&r" (sum)
    : "r" (saddr), "r" (daddr),
    - "r" (htonl(len)), "r" (htonl(proto)), "0" (sum));
    + "r" (htonl(len)), "r" (htonl(proto)), "0" (sum)
    + : "memory");

    return csum_fold(sum);
    }



    \
     
     \ /
      Last update: 2009-10-10 01:41    [W:0.030 / U:0.136 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site