Skip to content

Commit 05e49cf

Browse files
q2vendavem330
authored andcommitted
net: Fix a data-race around netdev_unregister_timeout_secs.
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 <kuniyu@amazon.com> Acked-by: Dmitry Vyukov <dvyukov@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent 8db24af commit 05e49cf

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

net/core/dev.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10284,7 +10284,7 @@ static struct net_device *netdev_wait_allrefs_any(struct list_head *list)
1028410284
return dev;
1028510285

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

0 commit comments

Comments
 (0)