Messages in this thread | | | Date | Wed, 30 Sep 2009 15:40:44 -0700 | From | Andrew Morton <> | Subject | Re: [PATCH,TRIVIAL] Fix csum_ipv6_magic asm memory clobber |
| |
On Sat, 26 Sep 2009 21:27:48 +0200 Samuel Thibault <samuel.thibault@ens-lyon.org> wrote:
> 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. > > Signed-Off-By: Samuel Thibault <samuel.thibault@ens-lyon.org> > Cc: stable@kernel.org > > diff --git a/arch/x86/include/asm/checksum_32.h b/arch/x86/include/asm/checksum_32.h > index 7c5ef8b..46fc474 100644 > --- 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(const struct in6_addr *saddr, > "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); > }
You describe it as "trivial" and also cc stable@kernel.org. These things are contradictory!
Maybe backporting it is a good idea from a sleep-soundly-at-night POV. I don't know..
| |