Re: [PATCH v3] skbuff: fix a data race in skb_queue_len()

From: Eric Dumazet
Date: Thu Feb 06 2020 - 13:22:08 EST




On 2/6/20 10:12 AM, Jason A. Donenfeld wrote:
> On Thu, Feb 6, 2020 at 6:10 PM Eric Dumazet <eric.dumazet@xxxxxxxxx> wrote:
>> Unfortunately we do not have ADD_ONCE() or something like that.
>
> I guess normally this is called "atomic_add", unless you're thinking
> instead about something like this, which generates the same
> inefficient code as WRITE_ONCE:
>
> #define ADD_ONCE(d, s) *(volatile typeof(d) *)&(d) += (s)
>

Dmitry Vyukov had a nice suggestion few months back how to implement this.

https://lkml.org/lkml/2019/10/5/6