Merge branch 'net-netns-refcount-tracking-base-series'
authorJakub Kicinski <kuba@kernel.org>
Fri, 10 Dec 2021 14:38:30 +0000 (06:38 -0800)
committerJakub Kicinski <kuba@kernel.org>
Fri, 10 Dec 2021 14:38:30 +0000 (06:38 -0800)
commit3d20408dff9c0885591c8e1d31a67e9183f0cc8a
tree509db89a9091f6bbdd5dd5bafb19ed3298ddb494
parente5d75fc20b9278d07731f69e327adf16227813a6
parent11b311a867b6b3208fdc3cee8a780f14659bf5f9
Merge branch 'net-netns-refcount-tracking-base-series'

Eric Dumazet says:

====================
net: netns refcount tracking, base series

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().

Small sections of codes where the get()/put() are in sight
do not need to have a tracker, because they are short lived,
but in theory it is also possible to declare an on-stack tracker.

v2: Include core networking patches only.
====================

Link: https://lore.kernel.org/r/20211210074426.279563-1-eric.dumazet@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>