diff options
| author | Eric Dumazet <edumazet@google.com> | 2024-05-03 19:20:54 +0000 |
|---|---|---|
| committer | Paolo Abeni <pabeni@redhat.com> | 2024-05-07 11:14:50 +0200 |
| commit | ad13b5b0d1f9eb8e048394919e6393e520b14552 (patch) | |
| tree | 015b7013ba36f347ae850663d60e138853635254 /net/sched/sch_teql.c | |
| parent | 8a58268133622c3d50155ac5798ad1d51d6bd3be (diff) | |
rtnetlink: do not depend on RTNL for IFLA_TXQLEN output
rtnl_fill_ifinfo() can read dev->tx_queue_len locklessly,
granted we add corresponding READ_ONCE()/WRITE_ONCE() annotations.
Add missing READ_ONCE(dev->tx_queue_len) in teql_enqueue()
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Diffstat (limited to 'net/sched/sch_teql.c')
| -rw-r--r-- | net/sched/sch_teql.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/sched/sch_teql.c b/net/sched/sch_teql.c index 59304611dc00..29850d0f0733 100644 --- a/net/sched/sch_teql.c +++ b/net/sched/sch_teql.c @@ -78,7 +78,7 @@ teql_enqueue(struct sk_buff *skb, struct Qdisc *sch, struct sk_buff **to_free) struct net_device *dev = qdisc_dev(sch); struct teql_sched_data *q = qdisc_priv(sch); - if (q->q.qlen < dev->tx_queue_len) { + if (q->q.qlen < READ_ONCE(dev->tx_queue_len)) { __skb_queue_tail(&q->q, skb); return NET_XMIT_SUCCESS; } |
