mirror of
https://github.com/torvalds/linux.git
synced 2026-09-14 08:01:12 +02:00
ipv4: use rcu_assign_pointer() in rt_flush_dev()
rt_flush_dev() replaces rt->dst.dev with blackhole_netdev on uncached routes. The field is also exposed as dst.dev_rcu, and existing readers use dst_dev_rcu(). Use rcu_assign_pointer() for the replacement, as dst_dev_put() already does for the same field. Signed-off-by: Xuanqiang Luo <luoxuanqiang@kylinos.cn> Reviewed-by: Ido Schimmel <idosch@nvidia.com> Link: https://patch.msgid.link/20260708060537.17188-2-xuanqiang.luo@linux.dev Signed-off-by: Paolo Abeni <pabeni@redhat.com>
This commit is contained in:
parent
b9ecdfda4d
commit
1469773b24
|
|
@ -1565,7 +1565,7 @@ void rt_flush_dev(struct net_device *dev)
|
|||
list_for_each_entry_safe(rt, safe, &ul->head, dst.rt_uncached) {
|
||||
if (rt->dst.dev != dev)
|
||||
continue;
|
||||
rt->dst.dev = blackhole_netdev;
|
||||
rcu_assign_pointer(rt->dst.dev_rcu, blackhole_netdev);
|
||||
netdev_ref_replace(dev, blackhole_netdev,
|
||||
&rt->dst.dev_tracker, GFP_ATOMIC);
|
||||
list_del_init(&rt->dst.rt_uncached);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user