• Eric Dumazet's avatar
    net: add networking namespace refcount tracker · 9ba74e6c
    Eric Dumazet authored
    
    We have 100+ syzbot reports about netns being dismantled too soon,
    still unresolved as of today.
    
    We think a missing get_net() or an extra put_net() is the root cause.
    
    In order to find the bug(s), and be able to spot future ones,
    this patch adds CONFIG_NET_NS_REFCNT_TRACKER and new helpers
    to precisely pair all put_net() with corresponding get_net().
    
    To use these helpers, each data structure owning a refcount
    should also use a "netns_tracker" to pair the get and put.
    Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
    Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
    9ba74e6c
Kconfig.debug 548 Bytes
# SPDX-License-Identifier: GPL-2.0-only

config NET_DEV_REFCNT_TRACKER
	bool "Enable net device refcount tracking"
	depends on DEBUG_KERNEL && STACKTRACE_SUPPORT
	select REF_TRACKER
	default n
	help
	  Enable debugging feature to track device references.
	  This adds memory and cpu costs.

config NET_NS_REFCNT_TRACKER
	bool "Enable networking namespace refcount tracking"
	depends on DEBUG_KERNEL && STACKTRACE_SUPPORT
	select REF_TRACKER
	default n
	help
	  Enable debugging feature to track netns references.
	  This adds memory and cpu costs.