Taehee Yoo
ab92d68fc2
net: core: add generic lockdep keys
...
Some interface types could be nested.
(VLAN, BONDING, TEAM, MACSEC, MACVLAN, IPVLAN, VIRT_WIFI, VXLAN, etc..)
These interface types should set lockdep class because, without lockdep
class key, lockdep always warn about unexisting circular locking.
In the current code, these interfaces have their own lockdep class keys and
these manage itself. So that there are so many duplicate code around the
/driver/net and /net/.
This patch adds new generic lockdep keys and some helper functions for it.
This patch does below changes.
a) Add lockdep class keys in struct net_device
- qdisc_running, xmit, addr_list, qdisc_busylock
- these keys are used as dynamic lockdep key.
b) When net_device is being allocated, lockdep keys are registered.
- alloc_netdev_mqs()
c) When net_device is being free'd llockdep keys are unregistered.
- free_netdev()
d) Add generic lockdep key helper function
- netdev_register_lockdep_key()
- netdev_unregister_lockdep_key()
- netdev_update_lockdep_key()
e) Remove unnecessary generic lockdep macro and functions
f) Remove unnecessary lockdep code of each interfaces.
After this patch, each interface modules don't need to maintain
their lockdep keys.
Signed-off-by: Taehee Yoo <ap420073@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2019-10-24 14:53:48 -07:00
..
6lowpan
9p
9p pull request for inclusion in 5.4
2019-09-27 15:10:34 -07:00
802
8021q
net: core: add generic lockdep keys
2019-10-24 14:53:48 -07:00
appletalk
appletalk: enforce CAP_NET_RAW for raw sockets
2019-09-24 16:37:18 +02:00
atm
pppoatm: use %*ph to print small buffer
2019-09-05 12:33:28 +02:00
ax25
ax25: enforce CAP_NET_RAW for raw sockets
2019-09-24 16:37:18 +02:00
batman-adv
net: core: add generic lockdep keys
2019-10-24 14:53:48 -07:00
bluetooth
net: core: add generic lockdep keys
2019-10-24 14:53:48 -07:00
bpf
bpfilter
bridge
net: core: add generic lockdep keys
2019-10-24 14:53:48 -07:00
caif
can
can: add support of SAE J1939 protocol
2019-09-04 14:22:33 +02:00
ceph
libceph: use ceph_kvmalloc() for osdmap arrays
2019-09-16 12:06:25 +02:00
core
net: core: add generic lockdep keys
2019-10-24 14:53:48 -07:00
dcb
dccp
netfilter: drop bridge nf reset from nf_reset
2019-10-01 18:42:15 +02:00
decnet
dns_resolver
dsa
net: core: add generic lockdep keys
2019-10-24 14:53:48 -07:00
ethernet
hsr
ieee802154
net: core: add generic lockdep keys
2019-10-24 14:53:48 -07:00
ife
net: Fix Kconfig indentation
2019-09-26 08:56:17 +02:00
ipv4
ipv4: fix IPSKB_FRAG_PMTU handling with fragmentation
2019-10-21 10:46:42 -07:00
ipv6
ipv6: include <net/addrconf.h> for missing declarations
2019-10-22 15:17:03 -07:00
iucv
kcm
kcm: disable preemption in kcm_parse_func_strparser()
2019-09-27 10:27:14 +02:00
key
l2tp
net: core: add generic lockdep keys
2019-10-24 14:53:48 -07:00
l3mdev
lapb
llc
net: silence KCSAN warnings around sk_add_backlog() calls
2019-10-09 21:42:59 -07:00
mac80211
mac80211: fix scan when operating on DFS channels in ETSI domains
2019-10-07 22:10:50 +02:00
mac802154
mpls
ipv4: mpls: fix mpls_xmit for iptunnel
2019-08-25 14:34:08 -07:00
ncsi
net/ncsi: Disable global multicast filter
2019-09-19 18:04:40 -07:00
netfilter
netfilter: conntrack: avoid possible false sharing
2019-10-09 21:22:06 -07:00
netlabel
netlabel: remove redundant assignment to pointer iter
2019-09-01 11:45:02 -07:00
netlink
netrom
net: core: add generic lockdep keys
2019-10-24 14:53:48 -07:00
nfc
nfc: fix memory leak in llcp_sock_bind()
2019-10-04 18:31:36 -07:00
nsh
openvswitch
net: openvswitch: free vport unless register_netdevice() succeeds
2019-10-22 14:45:08 -07:00
packet
netfilter: drop bridge nf reset from nf_reset
2019-10-01 18:42:15 +02:00
phonet
psample
net: sched: take reference to psample group in flow_action infra
2019-09-16 09:18:03 +02:00
qrtr
net: qrtr: Stop rx_worker before freeing node
2019-09-21 18:45:46 -07:00
rds
net/rds: Fix error handling in rds_ib_add_one()
2019-10-02 12:16:57 -04:00
rfkill
rose
net: core: add generic lockdep keys
2019-10-24 14:53:48 -07:00
rxrpc
rxrpc: use rcu protection while reading sk->sk_user_data
2019-10-16 12:20:17 -07:00
sched
net: core: add generic lockdep keys
2019-10-24 14:53:48 -07:00
sctp
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
2019-10-19 17:09:11 -04:00
smc
net/smc: receive pending data after RCV_SHUTDOWN
2019-10-10 19:08:41 -07:00
strparser
sunrpc
SUNRPC: fix race to sk_err after xs_error_report
2019-10-10 16:14:28 -04:00
switchdev
tipc
net: silence KCSAN warnings about sk->sk_backlog.len reads
2019-10-09 21:43:00 -07:00
tls
net/tls: align non temporal copy to cache lines
2019-09-07 18:10:34 +02:00
unix
vmw_vsock
vsock/virtio: discard packets if credit is not respected
2019-10-18 10:19:43 -07:00
wimax
wireless
mac80211: fix scan when operating on DFS channels in ETSI domains
2019-10-07 22:10:50 +02:00
x25
net: silence KCSAN warnings around sk_add_backlog() calls
2019-10-09 21:42:59 -07:00
xdp
xsk: Fix crash in poll when device does not support ndo_xsk_wakeup
2019-10-03 16:34:27 +02:00
xfrm
netfilter: drop bridge nf reset from nf_reset
2019-10-01 18:42:15 +02:00
compat.c
Kconfig
Makefile
socket.c
sysctl_net.c