On Thu, Jun 17, 2021 at 11:27:47PM +0200, Toke Høiland-Jørgensen wrote: > The stmmac driver has rcu_read_lock()/rcu_read_unlock() pairs around XDP > program invocations. However, the actual lifetime of the objects referred > by the XDP program invocation is longer, all the way through to the call to > xdp_do_flush(), making the scope of the rcu_read_lock() too small. This > turns out to be harmless because it all happens in a single NAPI poll > cycle (and thus under local_bh_disable()), but it makes the rcu_read_lock() > misleading. > > Rather than extend the scope of the rcu_read_lock(), just get rid of it > entirely. With the addition of RCU annotations to the XDP_REDIRECT map > types that take bh execution into account, lockdep even understands this to > be safe, so there's really no reason to keep it around. > > Cc: Giuseppe Cavallaro <peppe.cavallaro@xxxxxx> > Cc: Alexandre Torgue <alexandre.torgue@xxxxxxxxxxx> > Cc: Jose Abreu <joabreu@xxxxxxxxxxxx> > Signed-off-by: Toke Høiland-Jørgensen <toke@xxxxxxxxxx> Acked-by: Wong Vee Khee <vee.khee.wong@xxxxxxxxxxxxxxx> Tested-by: Song, Yoong Siang <yoong.siang.song@xxxxxxxxx> > --- > drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 13 +++++-------- > 1 file changed, 5 insertions(+), 8 deletions(-)