Commit aae09a6c authored by Victor Nogueira's avatar Victor Nogueira Committed by Jakub Kicinski

net/sched: act_mirred: Don't zero blockid when net device is being deleted

While testing tdc with parallel tests for mirred to block we caught an
intermittent bug. The blockid was being zeroed out when a net device
was deleted and, thus, giving us an incorrect blockid value whenever
we tried to dump the mirred action. Since we don't increment the block
refcount in the control path (and only use the ID), we don't need to
zero the blockid field whenever a net device is going down.

Fixes: 42f39036 ("net/sched: act_mirred: Allow mirred to block")
Signed-off-by: default avatarVictor Nogueira <victor@mojatatu.com>
Reviewed-by: default avatarSimon Horman <horms@kernel.org>
Reviewed-by: default avatarEric Dumazet <edumazet@google.com>
Acked-by: default avatarJamal Hadi Salim <jhs@mojatatu.com>
Link: https://lore.kernel.org/r/20240207222902.1469398-1-victor@mojatatu.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 6a12401b
...@@ -533,8 +533,6 @@ static int mirred_device_event(struct notifier_block *unused, ...@@ -533,8 +533,6 @@ static int mirred_device_event(struct notifier_block *unused,
* net_device are already rcu protected. * net_device are already rcu protected.
*/ */
RCU_INIT_POINTER(m->tcfm_dev, NULL); RCU_INIT_POINTER(m->tcfm_dev, NULL);
} else if (m->tcfm_blockid) {
m->tcfm_blockid = 0;
} }
spin_unlock_bh(&m->tcf_lock); spin_unlock_bh(&m->tcf_lock);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment