Skip to content

Commit

Permalink
net: Fix a data-race around netdev_unregister_timeout_secs.
Browse files Browse the repository at this point in the history
While reading netdev_unregister_timeout_secs, it can be changed
concurrently.  Thus, we need to add READ_ONCE() to its reader.

Fixes: 5aa3afe ("net: make unregister netdev warning timeout configurable")
Signed-off-by: Kuniyuki Iwashima <[email protected]>
Acked-by: Dmitry Vyukov <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
  • Loading branch information
q2ven authored and davem330 committed Aug 24, 2022
1 parent 8db24af commit 05e49cf
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion net/core/dev.c
Original file line number Diff line number Diff line change
Expand Up @@ -10284,7 +10284,7 @@ static struct net_device *netdev_wait_allrefs_any(struct list_head *list)
return dev;

if (time_after(jiffies, warning_time +
netdev_unregister_timeout_secs * HZ)) {
READ_ONCE(netdev_unregister_timeout_secs) * HZ)) {
list_for_each_entry(dev, list, todo_list) {
pr_emerg("unregister_netdevice: waiting for %s to become free. Usage count = %d\n",
dev->name, netdev_refcnt_read(dev));
Expand Down

0 comments on commit 05e49cf

Please sign in to comment.