linux-rdma.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [bug report] net/mlx5e: Simulate missing IPsec TX limits hardware functionality
@ 2023-05-30 11:26 Dan Carpenter
  2023-05-30 11:36 ` Leon Romanovsky
  0 siblings, 1 reply; 2+ messages in thread
From: Dan Carpenter @ 2023-05-30 11:26 UTC (permalink / raw)
  To: leon; +Cc: linux-rdma

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.

    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

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2023-05-30 11:36 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-05-30 11:26 [bug report] net/mlx5e: Simulate missing IPsec TX limits hardware functionality Dan Carpenter
2023-05-30 11:36 ` Leon Romanovsky

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).