On Tue, Jul 31, 2018 at 10:51 AM Dmitry Vyukov dvyukov@google.com 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.