Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
packet: unconditionally free po->rollover
Rollover used to use a complex RCU mechanism for assignment, which had a race condition. The below patch fixed the bug and greatly simplified the logic. The feature depends on fanout, but the state is private to the socket. Fanout_release returns f only when the last member leaves and the fanout struct is to be freed. Destroy rollover unconditionally, regardless of fanout state. Fixes: 57f015f ("packet: fix crash in fanout_demux_rollover()") Reported-by: syzbot <[email protected]> Diagnosed-by: Dmitry Vyukov <[email protected]> Signed-off-by: Willem de Bruijn <[email protected]> Signed-off-by: David S. Miller <[email protected]>
- Loading branch information