Eric Dumazet
f5ddecb6a1
sit: proper dev_{hold|put} in ndo_[un]init methods
...
commit 6289a98f0817a4a457750d6345e754838eae9439 upstream.
After adopting CONFIG_PCPU_DEV_REFCNT=n option, syzbot was able to trigger
a warning [1]
Issue here is that:
- all dev_put() should be paired with a corresponding prior dev_hold().
- A driver doing a dev_put() in its ndo_uninit() MUST also
do a dev_hold() in its ndo_init(), only when ndo_init()
is returning 0.
Otherwise, register_netdevice() would call ndo_uninit()
in its error path and release a refcount too soon.
Fixes: 919067cc845f ("net: add CONFIG_PCPU_DEV_REFCNT")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Reported-by: syzbot <syzkaller@googlegroups.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-05-22 11:38:30 +02:00
..
6lowpan
9p
802
8021q
net: vlan: avoid leaks on register_vlan_dev() failures
2021-01-17 14:05:31 +01:00
appletalk
appletalk: Fix skb allocation size in loopback case
2021-04-07 14:47:41 +02:00
atm
ax25
batman-adv
batman-adv: initialize "struct batadv_tvlv_tt_vlan_data"->reserved field
2021-04-14 08:24:11 +02:00
bluetooth
Bluetooth: check for zapped sk before connecting
2021-05-19 10:08:21 +02:00
bpf
bpfilter
bridge
bridge: Fix possible races between assigning rx_handler_data and setting IFF_BRIDGE_PORT bit
2021-05-22 11:38:29 +02:00
caif
can
can: bcm/raw: fix msg_namelen values depending on CAN_REQUIRED_SIZE
2021-04-14 08:24:14 +02:00
ceph
libceph: clear con->out_msg on Policy::stateful_server faults
2020-11-05 11:43:34 +01:00
core
mm: fix struct page layout on 32-bit systems
2021-05-19 10:08:31 +02:00
dcb
net: dcb: Accept RTM_GETDCB messages carrying set-like DCB commands
2021-01-23 15:57:59 +01:00
dccp
ipv6: weaken the v4mapped source check
2021-04-07 14:47:38 +02:00
decnet
dns_resolver
dsa
net: dsa: tag_mtk: fix 802.1ad VLAN egress
2021-03-20 10:39:47 +01:00
ethernet
hsr
hsr: use netdev_err() instead of WARN_ONCE()
2021-05-14 09:44:10 +02:00
ieee802154
net: ieee802154: forbid monitor for add llsec seclevel
2021-04-21 12:56:15 +02:00
ife
ipv4
net: Only allow init netns to set default tcp cong to a restricted algo
2021-05-14 09:44:33 +02:00
ipv6
sit: proper dev_{hold|put} in ndo_[un]init methods
2021-05-22 11:38:30 +02:00
iucv
net/af_iucv: remove WARN_ONCE on malformed RX packets
2021-03-07 12:20:42 +01:00
kcm
key
af_key: relax availability checks for skb size calculation
2021-02-13 13:52:54 +01:00
l2tp
l3mdev
lapb
net: lapb: Copy the skb before sending a packet
2021-02-10 09:25:28 +01:00
llc
mac80211
mac80211: clear the beacon's CRC after channel switch
2021-05-19 10:08:22 +02:00
mac802154
net: mac802154: Fix general protection fault
2021-04-14 08:24:18 +02:00
mpls
net: avoid infinite loop in mpls_gso_segment when mpls_hlen == 0
2021-03-17 17:03:31 +01:00
ncsi
net/ncsi: Avoid channel_monitor hrtimer deadlock
2021-04-14 08:24:15 +02:00
netfilter
netfilter: conntrack: Make global sysctls readonly in non-init netns
2021-05-19 10:08:33 +02:00
netlabel
cipso,calipso: resolve a number of problems with the DOI refcounts
2021-03-17 17:03:35 +01:00
netlink
netrom
nfc
net:nfc:digital: Fix a double free in digital_tg_recv_dep_req
2021-05-14 09:44:32 +02:00
nsh
openvswitch
openvswitch: fix stack OOB read while fragmenting IPv4 packets
2021-05-11 14:04:14 +02:00
packet
phonet
psample
qrtr
net: qrtr: fix a kernel-infoleak in qrtr_recvmsg()
2021-03-30 14:35:29 +02:00
rds
net/rds: Fix a use after free in rds_message_map_pages
2021-04-14 08:24:15 +02:00
rfkill
rfkill: Fix use-after-free in rfkill_resume()
2020-11-24 13:29:05 +01:00
rose
rose: Fix Null pointer dereference in rose_send_frame()
2020-12-08 10:40:23 +01:00
rxrpc
rxrpc: Fix clearance of Tx/Rx ring when releasing a call
2021-02-17 10:35:18 +01:00
sched
net: sched: tapr: prevent cycle_time == 0 in parse_taprio_schedule
2021-05-19 10:08:23 +02:00
sctp
sctp: fix a SCTP_MIB_CURRESTAB leak in sctp_sf_do_dupcook_b
2021-05-19 10:08:27 +02:00
smc
smc: disallow TCP_ULP in smc_setsockopt()
2021-05-19 10:08:28 +02:00
strparser
sunrpc
sunrpc: Fix misplaced barrier in call_decode
2021-05-19 10:08:27 +02:00
switchdev
net: switchdev: don't set port_obj_info->handled true when -EOPNOTSUPP
2021-02-07 15:35:46 +01:00
tipc
tipc: convert dest node's address to network order
2021-05-19 10:08:20 +02:00
tls
net/tls: Protect from calling tls_dev_del for TLS RX twice
2020-12-08 10:40:23 +01:00
unix
vmw_vsock
vsock/vmci: log once the failed queue pair allocation
2021-05-14 09:44:30 +02:00
wimax
wireless
cfg80211: scan: drop entry from hidden_list on overflow
2021-05-14 09:44:13 +02:00
x25
net/x25: prevent a couple of overflows
2020-12-08 10:40:26 +01:00
xdp
xsk: Simplify detection of empty and full rings
2021-05-22 11:38:27 +02:00
xfrm
net: xfrm: Localize sequence counter per network namespace
2021-04-14 08:24:13 +02:00
compat.c
Kconfig
Makefile
socket.c
sysctl_net.c