Skip to content

Commit 2a601b2

Browse files
rleonkuba-moo
authored andcommitted
net/mlx5e: Properly access RCU protected qdisc_sleeping variable
qdisc_sleeping variable is declared as "struct Qdisc __rcu" and as such needs proper annotation while accessing it. Without rtnl_dereference(), the following error is generated by sparse: drivers/net/ethernet/mellanox/mlx5/core/en/qos.c:377:40: warning: incorrect type in initializer (different address spaces) drivers/net/ethernet/mellanox/mlx5/core/en/qos.c:377:40: expected struct Qdisc *qdisc drivers/net/ethernet/mellanox/mlx5/core/en/qos.c:377:40: got struct Qdisc [noderef] __rcu *qdisc_sleeping Signed-off-by: Leon Romanovsky <[email protected]> Signed-off-by: Tariq Toukan <[email protected]> Reviewed-by: Michal Swiatkowski <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
1 parent 394d31d commit 2a601b2

File tree

1 file changed

+1
-1
lines changed
  • drivers/net/ethernet/mellanox/mlx5/core/en

1 file changed

+1
-1
lines changed

drivers/net/ethernet/mellanox/mlx5/core/en/qos.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -374,7 +374,7 @@ void mlx5e_reactivate_qos_sq(struct mlx5e_priv *priv, u16 qid, struct netdev_que
374374
void mlx5e_reset_qdisc(struct net_device *dev, u16 qid)
375375
{
376376
struct netdev_queue *dev_queue = netdev_get_tx_queue(dev, qid);
377-
struct Qdisc *qdisc = dev_queue->qdisc_sleeping;
377+
struct Qdisc *qdisc = rtnl_dereference(dev_queue->qdisc_sleeping);
378378

379379
if (!qdisc)
380380
return;

0 commit comments

Comments
 (0)