diff options
author | Eric Dumazet | 2019-05-16 17:09:57 +0200 |
---|---|---|
committer | Greg Kroah-Hartman | 2019-05-25 18:23:19 +0200 |
commit | 746f8cd570ba2f44ffc923ebd9c8d210170f10c0 (patch) | |
tree | 6f03a51ddd55fe0217332ce0f2539c0b8292a4e1 /net/core | |
parent | net: Always descend into dsa/ (diff) | |
download | kernel-qcow2-linux-746f8cd570ba2f44ffc923ebd9c8d210170f10c0.tar.gz kernel-qcow2-linux-746f8cd570ba2f44ffc923ebd9c8d210170f10c0.tar.xz kernel-qcow2-linux-746f8cd570ba2f44ffc923ebd9c8d210170f10c0.zip |
net: avoid weird emergency message
[ Upstream commit d7c04b05c9ca14c55309eb139430283a45c4c25f ]
When host is under high stress, it is very possible thread
running netdev_wait_allrefs() returns from msleep(250)
10 seconds late.
This leads to these messages in the syslog :
[...] unregister_netdevice: waiting for syz_tun to become free. Usage count = 0
If the device refcount is zero, the wait is over.
Signed-off-by: Eric Dumazet <edumazet@google.com>
Reported-by: syzbot <syzkaller@googlegroups.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'net/core')
-rw-r--r-- | net/core/dev.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/core/dev.c b/net/core/dev.c index 3bcec116a5f2..13a82744a00a 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -8716,7 +8716,7 @@ static void netdev_wait_allrefs(struct net_device *dev) refcnt = netdev_refcnt_read(dev); - if (time_after(jiffies, warning_time + 10 * HZ)) { + if (refcnt && time_after(jiffies, warning_time + 10 * HZ)) { pr_emerg("unregister_netdevice: waiting for %s to become free. Usage count = %d\n", dev->name, refcnt); warning_time = jiffies; |