On Tue, Jul 31, 2018 at 10:51 AM Dmitry Vyukov <dvyukov@xxxxxxxxxx> wrote: > > > Is it OK to overwrite ct->status? It seems that are some read and > writes to it right after atomic_inc_not_zero. If it is after a (successful) atomic_inc_not_zero(), the object is guaranteed to be alive (not freed or about to be freed). About readind/writing a specific field, all traditional locking rules apply. For TCP socket, we would generally grab the socket lock before reading/writing various fields. ct->status seems to be manipulated with set_bit() and clear_bit() which are SMP safe.