On Wed, Sep 04, 2024 at 02:08:53AM -0700, Shivani Agarwal wrote: > From: Breno Leitao <leitao@xxxxxxxxxx> > > [ Upstream commit f8321fa75102246d7415a6af441872f6637c93ab ] > > After the commit bdacf3e34945 ("net: Use nested-BH locking for > napi_alloc_cache.") was merged, the following warning began to appear: > > WARNING: CPU: 5 PID: 1 at net/core/skbuff.c:1451 napi_skb_cache_put+0x82/0x4b0 > > __warn+0x12f/0x340 > napi_skb_cache_put+0x82/0x4b0 > napi_skb_cache_put+0x82/0x4b0 > report_bug+0x165/0x370 > handle_bug+0x3d/0x80 > exc_invalid_op+0x1a/0x50 > asm_exc_invalid_op+0x1a/0x20 > __free_old_xmit+0x1c8/0x510 > napi_skb_cache_put+0x82/0x4b0 > __free_old_xmit+0x1c8/0x510 > __free_old_xmit+0x1c8/0x510 > __pfx___free_old_xmit+0x10/0x10 > > The issue arises because virtio is assuming it's running in NAPI context > even when it's not, such as in the netpoll case. > > To resolve this, modify virtnet_poll_tx() to only set NAPI when budget > is available. Same for virtnet_poll_cleantx(), which always assumed that > it was in a NAPI context. > > Fixes: df133f3f9625 ("virtio_net: bulk free tx skbs") > Suggested-by: Jakub Kicinski <kuba@xxxxxxxxxx> > Signed-off-by: Breno Leitao <leitao@xxxxxxxxxx> > Reviewed-by: Jakub Kicinski <kuba@xxxxxxxxxx> > Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx> > Acked-by: Jason Wang <jasowang@xxxxxxxxxx> > Reviewed-by: Heng Qi <hengqi@xxxxxxxxxxxxxxxxx> > Link: https://patch.msgid.link/20240712115325.54175-1-leitao@xxxxxxxxxx > Signed-off-by: Jakub Kicinski <kuba@xxxxxxxxxx> > Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx> > [Shivani: Modified to apply on v4.19.y-v5.10.y] > Signed-off-by: Shivani Agarwal <shivani.agarwal@xxxxxxxxxxxx> All now queued up, thanks. greg k-h