From: Eric Dumazet <[email protected]>
Date: Sun, 10 Mar 2019 10:39:37 -0700
> We keep receiving syzbot reports [1] that show that tunnels do not play
> the rcu/IFF_UP rules properly.
>
> At device dismantle phase, gro_cells_destroy() will be called
> only after a full rcu grace period is observed after IFF_UP
> has been cleared.
>
> This means that IFF_UP needs to be tested before queueing packets
> into netif_rx() or gro_cells.
>
> This patch implements the test in gro_cells_receive() because
> too many callers do not seem to bother enough.
Yeah, better to put a safety valve in a common place.
...
> Fixes: c9e6bc644e55 ("net: add gro_cells infrastructure")
> Signed-off-by: Eric Dumazet <[email protected]>
> Reported-by: syzbot <[email protected]>
> ---
> Note: The Fixes: tag is somewhat arbitrary, since callers had to
> implement proper IFF_UP tests before calling netif_rx() anyway,
> before gro_cells was introduced.
Right.
Applied, thanks Eric.