Message ID | 20220106115754.GB28590@kili (mailing list archive) |
---|---|
State | Accepted |
Commit | 43d012123122cc69feacab55b71369f386c19566 |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net] rocker: fix a sleeping in atomic bug | expand |
Hello: This patch was applied to netdev/net.git (master) by David S. Miller <davem@davemloft.net>: On Thu, 6 Jan 2022 14:57:54 +0300 you wrote: > This code is holding the &ofdpa->flow_tbl_lock spinlock so it is not > allowed to sleep. That means we have to pass the OFDPA_OP_FLAG_NOWAIT > flag to ofdpa_flow_tbl_del(). > > Fixes: 936bd486564a ("rocker: use FIB notifications instead of switchdev calls") > Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> > > [...] Here is the summary with links: - [net] rocker: fix a sleeping in atomic bug https://git.kernel.org/netdev/net/c/43d012123122 You are awesome, thank you!
diff --git a/drivers/net/ethernet/rocker/rocker_ofdpa.c b/drivers/net/ethernet/rocker/rocker_ofdpa.c index 3e1ca7a8d029..bc70c6abd6a5 100644 --- a/drivers/net/ethernet/rocker/rocker_ofdpa.c +++ b/drivers/net/ethernet/rocker/rocker_ofdpa.c @@ -2783,7 +2783,8 @@ static void ofdpa_fib4_abort(struct rocker *rocker) if (!ofdpa_port) continue; nh->fib_nh_flags &= ~RTNH_F_OFFLOAD; - ofdpa_flow_tbl_del(ofdpa_port, OFDPA_OP_FLAG_REMOVE, + ofdpa_flow_tbl_del(ofdpa_port, + OFDPA_OP_FLAG_REMOVE | OFDPA_OP_FLAG_NOWAIT, flow_entry); } spin_unlock_irqrestore(&ofdpa->flow_tbl_lock, flags);
This code is holding the &ofdpa->flow_tbl_lock spinlock so it is not allowed to sleep. That means we have to pass the OFDPA_OP_FLAG_NOWAIT flag to ofdpa_flow_tbl_del(). Fixes: 936bd486564a ("rocker: use FIB notifications instead of switchdev calls") Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> --- From static analysis. Not tested. drivers/net/ethernet/rocker/rocker_ofdpa.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)