On Tue, May 30, 2023 at 02:26:19PM +0300, Dan Carpenter wrote: > Hello Leon Romanovsky, > > The patch b2f7b01d36a9: "net/mlx5e: Simulate missing IPsec TX limits > hardware functionality" from Mar 30, 2023, leads to the following > Smatch static checker warning: > > drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec.c:68 mlx5e_ipsec_handle_tx_limit() > warn: sleeping in atomic context > > drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec.c > 57 static void mlx5e_ipsec_handle_tx_limit(struct work_struct *_work) > 58 { > 59 struct mlx5e_ipsec_dwork *dwork = > 60 container_of(_work, struct mlx5e_ipsec_dwork, dwork.work); > 61 struct mlx5e_ipsec_sa_entry *sa_entry = dwork->sa_entry; > 62 struct xfrm_state *x = sa_entry->x; > 63 > 64 spin_lock(&x->lock); > > Holding a spinlock. > > 65 xfrm_state_check_expire(x); > 66 if (x->km.state == XFRM_STATE_EXPIRED) { > 67 sa_entry->attrs.drop = true; > --> 68 mlx5e_accel_ipsec_fs_modify(sa_entry); > > This function call will do some GFP_KERNEL allocations so it sleeps. Thanks Dan, I have a fix in my queue and will submit it. Thanks > > 69 } > 70 spin_unlock(&x->lock); > 71 > 72 if (sa_entry->attrs.drop) > 73 return; > 74 > 75 queue_delayed_work(sa_entry->ipsec->wq, &dwork->dwork, > 76 MLX5_IPSEC_RESCHED); > 77 } > > regards, > dan carpenter