lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Mon, 17 Feb 2020 11:24:58 +0800 From: Herbert Xu <herbert@...dor.apana.org.au> To: "Jason A. Donenfeld" <Jason@...c4.com> Cc: eric.dumazet@...il.com, cai@....pw, netdev@...r.kernel.org, linux-kernel@...r.kernel.org, Linus Torvalds <torvalds@...ux-foundation.org> Subject: Re: [PATCH v3] skbuff: fix a data race in skb_queue_len() Jason A. Donenfeld <Jason@...c4.com> wrote: > Hi Eric, > > On Tue, Feb 04, 2020 at 01:40:29PM -0500, Qian Cai wrote: >> - list->qlen--; >> + WRITE_ONCE(list->qlen, list->qlen - 1); > > Sorry I'm a bit late to the party here, but this immediately jumped out. > This generates worse code with a bigger race in some sense: > > list->qlen-- is: > > 0: 83 6f 10 01 subl $0x1,0x10(%rdi) > > whereas WRITE_ONCE(list->qlen, list->qlen - 1) is: > > 0: 8b 47 10 mov 0x10(%rdi),%eax > 3: 83 e8 01 sub $0x1,%eax > 6: 89 47 10 mov %eax,0x10(%rdi) > > Are you sure that's what we want? Fixing these KCSAN warnings is actively making the kernel worse. Why are we still doing this? Thanks, -- Email: Herbert Xu <herbert@...dor.apana.org.au> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
Powered by blists - more mailing lists