diff options
author | Eric Dumazet <edumazet@google.com> | 2021-03-19 10:39:33 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2021-03-19 13:38:46 -0700 |
commit | 919067cc845f323a80b6fe987b64238bd82d309e (patch) | |
tree | f8f639053de5df86f213fffa61268e75df05c07d /net/Kconfig | |
parent | 942f0c6e28edc627658732b9f225a602cbaa8f8e (diff) | |
download | linux-stable-919067cc845f323a80b6fe987b64238bd82d309e.tar.gz linux-stable-919067cc845f323a80b6fe987b64238bd82d309e.tar.bz2 linux-stable-919067cc845f323a80b6fe987b64238bd82d309e.zip |
net: add CONFIG_PCPU_DEV_REFCNT
I was working on a syzbot issue, claiming one device could not be
dismantled because its refcount was -1
unregister_netdevice: waiting for sit0 to become free. Usage count = -1
It would be nice if syzbot could trigger a warning at the time
this reference count became negative.
This patch adds CONFIG_PCPU_DEV_REFCNT options which defaults
to per cpu variables (as before this patch) on SMP builds.
v2: free_dev label in alloc_netdev_mqs() is moved to avoid
a compiler warning (-Wunused-label), as reported
by kernel test robot <lkp@intel.com>
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/Kconfig')
-rw-r--r-- | net/Kconfig | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/net/Kconfig b/net/Kconfig index 0ead7ec0d2bd..9c456acc379e 100644 --- a/net/Kconfig +++ b/net/Kconfig @@ -245,6 +245,14 @@ source "net/l3mdev/Kconfig" source "net/qrtr/Kconfig" source "net/ncsi/Kconfig" +config PCPU_DEV_REFCNT + bool "Use percpu variables to maintain network device refcount" + depends on SMP + default y + help + network device refcount are using per cpu variables if this option is set. + This can be forced to N to detect underflows (with a performance drop). + config RPS bool depends on SMP && SYSFS |