linux-next/drivers/net
Johannes Berg a05829a722 cfg80211: avoid holding the RTNL when calling the driver
Currently, _everything_ in cfg80211 holds the RTNL, and if you
have a slow USB device (or a few) you can get some bad lock
contention on that.

Fix that by re-adding a mutex to each wiphy/rdev as we had at
some point, so we have locking for the wireless_dev lists and
all the other things in there, and also so that drivers still
don't have to worry too much about it (they still won't get
parallel calls for a single device).

Then, we can restrict the RTNL to a few cases where we add or
remove interfaces and really need the added protection. Some
of the global list management still also uses the RTNL, since
we need to have it anyway for netdev management, but we only
hold the RTNL for very short periods of time here.

Link: https://lore.kernel.org/r/20210122161942.81df9f5e047a.I4a8e1a60b18863ea8c5e6d3a0faeafb2d45b2f40@changeid
Tested-by: Marek Szyprowski <m.szyprowski@samsung.com> [marvell driver issues]
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2021-01-26 11:55:50 +01:00
..
appletalk docs updates for v5.10-rc1 2020-10-16 15:02:21 -07:00
arcnet arcnet: fix macro name when DEBUG is defined 2021-01-18 20:57:43 -08:00
bonding bonding: add a vlan+srcmac tx hashing option 2021-01-19 19:30:32 -08:00
caif caif_virtio: Remove redundant initialization of variable err 2020-10-01 18:46:16 -07:00
can Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-01-20 12:16:11 -08:00
dsa net: dsa: Fix off by one in dsa_loop_port_vlan_add() 2021-01-20 17:10:04 -08:00
ethernet net: stmmac: dwmac-meson8b: fix the RX delay validation 2021-01-20 22:15:08 -08:00
fddi net: fddi: skfp: ess: Remove defined but unused variable 'ID_sccs' 2020-11-03 16:35:15 -08:00
fjes
hamradio net: driver: hamradio: Fix potential unterminated string 2020-11-02 16:10:24 -08:00
hippi
hyperv hv_netvsc: Add (more) validation for untrusted Hyper-V values 2021-01-18 19:47:47 -08:00
ieee802154 net: ieee802154: ca8210: Fix incorrectly named function param doc 2020-11-03 16:37:09 -08:00
ipa net: ipa: allow arbitrary number of interconnects 2021-01-18 11:51:06 -08:00
ipvlan net: don't include ethtool.h from netdevice.h 2020-11-23 17:27:04 -08:00
mdio mdio-bitbang: Export mdiobb_{read,write}() 2021-01-19 12:02:20 -08:00
netdevsim net: remove ndo_udp_tunnel_* callbacks 2021-01-07 12:53:29 -08:00
pcs net: pcs-xpcs: depend on MDIO_BUS instead of selecting it 2020-10-16 16:54:11 -07:00
phy net: phy: national: remove definition of DEBUG 2021-01-18 20:03:01 -08:00
plip
ppp Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-01-14 18:34:50 -08:00
slip
team net: don't include ethtool.h from netdevice.h 2020-11-23 17:27:04 -08:00
usb Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-01-20 12:16:11 -08:00
vmxnet3
wan Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-01-08 13:28:00 -08:00
wireguard selinux/stable-5.11 PR 20201214 2020-12-16 11:01:04 -08:00
wireless cfg80211: avoid holding the RTNL when calling the driver 2021-01-26 11:55:50 +01:00
xen-netback net: xen-netback: xenbus: Demote nonconformant kernel-doc headers 2021-01-16 18:13:04 -08:00
bareudp.c bareudp: add NETIF_F_FRAGLIST flag for dev features 2021-01-18 19:57:02 -08:00
dummy.c net: bonding, dummy, ifb, team: advertise NETIF_F_GSO_SOFTWARE 2020-11-03 16:53:55 -08:00
eql.c
geneve.c geneve: add NETIF_F_FRAGLIST flag for dev features 2021-01-18 19:57:02 -08:00
gtp.c GTP: add support for flow based tunneling API 2021-01-15 20:31:49 -08:00
ifb.c net: bonding, dummy, ifb, team: advertise NETIF_F_GSO_SOFTWARE 2020-11-03 16:53:55 -08:00
Kconfig net: fix spelling mistake "wil" -> "will" in Kconfig 2020-12-05 15:17:19 -08:00
LICENSE.SRC
loopback.c
macsec.c net: macsec: Add missing documentation for 'gro_cells' 2020-11-03 16:38:28 -08:00
macvlan.c macvlan: remove redundant null check on data 2021-01-05 16:52:02 -08:00
macvtap.c
Makefile net: Add mhi-net driver 2020-11-05 16:54:01 -08:00
mdio.c
mhi_net.c net: mhi: Add raw IP mode support 2021-01-05 15:37:29 -08:00
mii.c net: mii: Report advertised link capabilities when autonegotiation is off 2020-10-29 19:00:46 -07:00
net_failover.c net: net_failover: Correct parameter name 'standby_dev' 2020-11-03 16:40:23 -08:00
netconsole.c net: netconsole: Add description for 'netconsole_target's extended attribute 2020-11-03 16:40:09 -08:00
nlmon.c net: don't include ethtool.h from netdevice.h 2020-11-23 17:27:04 -08:00
ntb_netdev.c
rionet.c
sb1000.c
Space.c
sungem_phy.c
tap.c net: tap: check vlan with eth_type_vlan() method 2021-01-15 20:13:49 -08:00
thunderbolt.c USB / Thunderbolt patches for 5.11-rc1 2020-12-15 13:54:56 -08:00
tun.c net: tun: fix misspellings using codespell tool 2021-01-19 17:43:56 -08:00
veth.c net, xdp: Introduce xdp_prepare_buff utility routine 2021-01-08 13:39:24 -08:00
virtio_net.c net, xdp: Introduce xdp_prepare_buff utility routine 2021-01-08 13:39:24 -08:00
vrf.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-12-11 22:29:38 -08:00
vsockmon.c net: don't include ethtool.h from netdevice.h 2020-11-23 17:27:04 -08:00
vxlan.c vxlan: add NETIF_F_FRAGLIST flag for dev features 2021-01-18 19:57:02 -08:00
xen-netfront.c net: ethernet: ibm: ibmvnic: Fix some kernel-doc misdemeanours 2021-01-16 18:13:17 -08:00