[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210805082903.711396-1-razor@blackwall.org>
Date: Thu, 5 Aug 2021 11:29:00 +0300
From: Nikolay Aleksandrov <razor@...ckwall.org>
To: netdev@...r.kernel.org
Cc: roopa@...dia.com, arnd@...db.de, bridge@...ts.linux-foundation.org,
Nikolay Aleksandrov <nikolay@...dia.com>
Subject: [PATCH net-next 0/3] net: bridge: fix recent ioctl changes
From: Nikolay Aleksandrov <nikolay@...dia.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(-)
--
2.31.1
Powered by blists - more mailing lists