[bug report] net/mlx5e: Simulate missing IPsec TX limits hardware functionality

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux