[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20180424.131754.1266434549335457413.davem@davemloft.net>
Date: Tue, 24 Apr 2018 13:17:54 -0400 (EDT)
From: David Miller <davem@...emloft.net>
To: willemdebruijn.kernel@...il.com
Cc: netdev@...r.kernel.org, byoungyoung@...due.edu,
threeearcat@...il.com, xiyou.wangcong@...il.com,
herbert@...dor.apana.org.au, willemb@...gle.com
Subject: Re: [PATCH net] packet: fix bitfield update race
From: Willem de Bruijn <willemdebruijn.kernel@...il.com>
Date: Mon, 23 Apr 2018 17:37:03 -0400
> From: Willem de Bruijn <willemb@...gle.com>
>
> Updates to the bitfields in struct packet_sock are not atomic.
> Serialize these read-modify-write cycles.
>
> Move po->running into a separate variable. Its writes are protected by
> po->bind_lock (except for one startup case at packet_create). Also
> replace a textual precondition warning with lockdep annotation.
>
> All others are set only in packet_setsockopt. Serialize these
> updates by holding the socket lock. Analogous to other field updates,
> also hold the lock when testing whether a ring is active (pg_vec).
>
> Fixes: 8dc419447415 ("[PACKET]: Add optional checksum computation for recvmsg")
> Reported-by: DaeRyong Jeong <threeearcat@...il.com>
> Reported-by: Byoungyoung Lee <byoungyoung@...due.edu>
> Signed-off-by: Willem de Bruijn <willemb@...gle.com>
Looks good, applied and queued up for -stable.
Thanks for fixing this Willem.
Powered by blists - more mailing lists