From: Jakub Kicinski Date: Fri, 28 Jul 2023 20:38:47 +0000 (-0700) Subject: Merge branch 'mlxsw-avoid-non-tracker-helpers-when-holding-and-putting-netdevices' X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=97d0dca794c05ddd5d95c268948edb84a0bc708e;p=tomoyo%2Ftomoyo-test1.git Merge branch 'mlxsw-avoid-non-tracker-helpers-when-holding-and-putting-netdevices' Petr Machata says: ==================== mlxsw: Avoid non-tracker helpers when holding and putting netdevices Using the tracking helpers, netdev_hold() and netdev_put(), makes it easier to debug netdevice refcount imbalances when CONFIG_NET_DEV_REFCNT_TRACKER is enabled. For example, the following traceback shows the callpath to the point of an outstanding hold that was never put: unregister_netdevice: waiting for swp3 to become free. Usage count = 6 ref_tracker: eth%d@ffff888123c9a580 has 1/5 users at mlxsw_sp_switchdev_event+0x6bd/0xcc0 [mlxsw_spectrum] notifier_call_chain+0xbf/0x3b0 atomic_notifier_call_chain+0x78/0x200 br_switchdev_fdb_notify+0x25f/0x2c0 [bridge] fdb_notify+0x16a/0x1a0 [bridge] [...] In this patchset, get rid of all non-ref-tracking helpers in mlxsw. - Patch #1 drops two functions that are not used anymore, but contain dev_hold() / dev_put() calls. - Patch #2 avoids taking a reference in one function which is called under RTNL. - The remaining patches convert individual hold/put sites one by one from trackerless to tracker-enabled. Suggested-by: Paolo Abeni Link: https://lore.kernel.org/netdev/4c056da27c19d95ffeaba5acf1427ecadfc3f94c.camel@redhat.com/ ==================== Link: https://lore.kernel.org/r/cover.1690471774.git.petrm@nvidia.com Signed-off-by: Jakub Kicinski --- 97d0dca794c05ddd5d95c268948edb84a0bc708e