Message ID | 20210805082903.711396-1-razor@blackwall.org (mailing list archive) |
---|---|
Headers | show |
Series | net: bridge: fix recent ioctl changes | expand |
Hello: This series was applied to netdev/net-next.git (refs/heads/master): On Thu, 5 Aug 2021 11:29:00 +0300 you wrote: > From: Nikolay Aleksandrov <nikolay@nvidia.com> > > Hi, > These are three fixes for the recent bridge removal of ndo_do_ioctl > done by commit ad2f99aedf8f ("net: bridge: move bridge ioctls out of > .ndo_do_ioctl"). Patch 01 fixes a deadlock of the new bridge ioctl > hook lock and rtnl by taking a netdev reference and always taking the > bridge ioctl lock first then rtnl from within the bridge hook. > Patch 02 fixes old_deviceless() bridge calls device name argument, and > patch 03 checks in dev_ifsioc()'s SIOCBRADD/DELIF cases if the netdevice is > actually a bridge before interpreting its private ptr as net_bridge. > > [...] Here is the summary with links: - [net-next,1/3] net: bridge: fix ioctl locking https://git.kernel.org/netdev/net-next/c/893b19587534 - [net-next,2/3] net: bridge: fix ioctl old_deviceless bridge argument https://git.kernel.org/netdev/net-next/c/cbd7ad29a507 - [net-next,3/3] net: core: don't call SIOCBRADD/DELIF for non-bridge devices https://git.kernel.org/netdev/net-next/c/9384eacd80f3 You are awesome, thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/patchwork/pwbot.html
From: Nikolay Aleksandrov <nikolay@nvidia.com> Hi, These are three fixes for the recent bridge removal of ndo_do_ioctl done by commit ad2f99aedf8f ("net: bridge: move bridge ioctls out of .ndo_do_ioctl"). Patch 01 fixes a deadlock of the new bridge ioctl hook lock and rtnl by taking a netdev reference and always taking the bridge ioctl lock first then rtnl from within the bridge hook. Patch 02 fixes old_deviceless() bridge calls device name argument, and patch 03 checks in dev_ifsioc()'s SIOCBRADD/DELIF cases if the netdevice is actually a bridge before interpreting its private ptr as net_bridge. Patch 01 was tested by running old bridge-utils commands with lockdep enabled. Patch 02 was tested again by using bridge-utils and using the respective ioctl calls on a "up" bridge device. Patch 03 was tested by using the addif ioctl on a non-bridge device (e.g. loopback). Thanks, Nik Nikolay Aleksandrov (3): net: bridge: fix ioctl locking net: bridge: fix ioctl old_deviceless bridge argument net: core: don't call SIOCBRADD/DELIF for non-bridge devices net/bridge/br_if.c | 4 +--- net/bridge/br_ioctl.c | 39 +++++++++++++++++++++++++-------------- net/core/dev_ioctl.c | 9 ++++++++- 3 files changed, 34 insertions(+), 18 deletions(-)