Pavel Skripkin
c3883480ce
net: mac802154: Fix general protection fault
...
commit 1165affd484889d4986cf3b724318935a0b120d8 upstream.
syzbot found general protection fault in crypto_destroy_tfm()[1].
It was caused by wrong clean up loop in llsec_key_alloc().
If one of the tfm array members is in IS_ERR() range it will
cause general protection fault in clean up function [1].
Call Trace:
crypto_free_aead include/crypto/aead.h:191 [inline] [1]
llsec_key_alloc net/mac802154/llsec.c:156 [inline]
mac802154_llsec_key_add+0x9e0/0xcc0 net/mac802154/llsec.c:249
ieee802154_add_llsec_key+0x56/0x80 net/mac802154/cfg.c:338
rdev_add_llsec_key net/ieee802154/rdev-ops.h:260 [inline]
nl802154_add_llsec_key+0x3d3/0x560 net/ieee802154/nl802154.c:1584
genl_family_rcv_msg_doit+0x228/0x320 net/netlink/genetlink.c:739
genl_family_rcv_msg net/netlink/genetlink.c:783 [inline]
genl_rcv_msg+0x328/0x580 net/netlink/genetlink.c:800
netlink_rcv_skb+0x153/0x420 net/netlink/af_netlink.c:2502
genl_rcv+0x24/0x40 net/netlink/genetlink.c:811
netlink_unicast_kernel net/netlink/af_netlink.c:1312 [inline]
netlink_unicast+0x533/0x7d0 net/netlink/af_netlink.c:1338
netlink_sendmsg+0x856/0xd90 net/netlink/af_netlink.c:1927
sock_sendmsg_nosec net/socket.c:654 [inline]
sock_sendmsg+0xcf/0x120 net/socket.c:674
____sys_sendmsg+0x6e8/0x810 net/socket.c:2350
___sys_sendmsg+0xf3/0x170 net/socket.c:2404
__sys_sendmsg+0xe5/0x1b0 net/socket.c:2433
do_syscall_64+0x2d/0x70 arch/x86/entry/common.c:46
entry_SYSCALL_64_after_hwframe+0x44/0xae
Signed-off-by: Pavel Skripkin <paskripkin@gmail.com>
Reported-by: syzbot+9ec037722d2603a9f52e@syzkaller.appspotmail.com
Acked-by: Alexander Aring <aahringo@redhat.com>
Link: https://lore.kernel.org/r/20210304152125.1052825-1-paskripkin@gmail.com
Signed-off-by: Stefan Schmidt <stefan@datenfreihafen.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-04-16 11:59:10 +02:00
..
6lowpan
6lowpan: Off by one handling ->nexthdr
2020-01-29 10:24:22 +01:00
9p
net: 9p: initialize sun_server.sun_path to have addr's value only when addr is valid
2020-11-10 10:23:54 +01:00
802
8021q
vlan: fix memory leak in vlan_dev_set_egress_priority
2020-01-12 11:24:27 +01:00
appletalk
appletalk: Fix skb allocation size in loopback case
2021-04-07 12:05:39 +02:00
atm
atm: fix a memory leak of vcc->user_back
2020-10-01 20:40:12 +02:00
ax25
AX.25: Prevent integer overflows in connect and sendmsg
2020-07-31 16:44:06 +02:00
batman-adv
batman-adv: initialize "struct batadv_tvlv_tt_vlan_data"->reserved field
2021-04-16 11:59:07 +02:00
bluetooth
Bluetooth: Fix null pointer dereference in amp_read_loc_assoc_final_data
2021-03-07 11:25:57 +01:00
bridge
net: bridge: vlan: fix error return code in __vlan_add()
2020-12-29 13:44:48 +01:00
caif
caif: reduce stack size with KASAN
2019-05-08 07:19:07 +02:00
can
can: purge socket error queue on sock destruct
2019-07-10 09:55:33 +02:00
ceph
libceph: clear con->out_msg on Policy::stateful_server faults
2020-11-10 10:23:59 +01:00
core
bpf: Remove MTU check in __bpf_skb_max_len
2021-04-07 12:05:40 +02:00
dcb
net: dcb: Accept RTM_GETDCB messages carrying set-like DCB commands
2021-01-23 15:38:18 +01:00
dccp
ipv6: weaken the v4mapped source check
2021-04-07 12:05:38 +02:00
decnet
decnet: fix DN_IFREQ_SIZE
2019-12-05 15:35:12 +01:00
dns_resolver
KEYS: DNS: fix parsing multiple options
2018-07-22 14:27:39 +02:00
dsa
net: dsa: tag_brcm: Fix skb->fwd_offload_mark location
2020-04-13 10:32:53 +02:00
ethernet
net: add annotations on hh->hh_len lockless accesses
2020-01-12 11:24:19 +01:00
hsr
net/hsr: Check skb_put_padto() return value
2020-10-01 20:40:01 +02:00
ieee802154
nl802154: add missing attribute validation for dev_type
2020-03-20 09:07:39 +01:00
ipv4
net: Fix gro aggregation for udp encaps with zero csum
2021-03-17 16:10:13 +01:00
ipv6
net: ipv6: check for validity before dereferencing cfg->fc_nlinfo.nlh
2021-04-16 11:59:06 +02:00
ipx
ipx: call ipxitf_put() in ioctl error path
2017-05-25 15:44:41 +02:00
irda
irda: Only insert new objects into the global database via setsockopt
2018-09-15 09:43:01 +02:00
iucv
net/af_iucv: set correct sk_protocol for child sockets
2020-12-11 13:37:56 +01:00
kcm
kcm: switch order of device registration to fix a crash
2019-04-17 08:36:44 +02:00
key
af_key: relax availability checks for skb size calculation
2021-02-23 13:59:14 +01:00
l2tp
l2tp: fix races with ipv4-mapped ipv6 addresses
2021-01-09 13:35:49 +01:00
l3mdev
lapb
net: lapb: Copy the skb before sending a packet
2021-02-10 09:09:25 +01:00
llc
llc: make sure applications use ARPHRD_ETHER
2020-07-22 09:10:47 +02:00
mac80211
mac80211: choose first enabled channel for monitor
2021-04-10 13:04:44 +02:00
mac802154
net: mac802154: Fix general protection fault
2021-04-16 11:59:10 +02:00
mpls
net: avoid infinite loop in mpls_gso_segment when mpls_hlen == 0
2021-03-17 16:10:13 +01:00
ncsi
net/ncsi: Use real net-device for response handler
2021-01-12 19:49:01 +01:00
netfilter
netfilter: x_tables: gpf inside xt_find_revision()
2021-03-17 16:10:13 +01:00
netlabel
netlabel: fix an uninitialized warning in netlbl_unlabel_staticlist()
2020-11-24 13:02:56 +01:00
netlink
genetlink: remove genl_bind
2020-07-22 09:10:48 +02:00
netrom
net: netrom: Fix potential nr_neigh refcnt leak in nr_add_node
2020-05-02 17:23:08 +02:00
nfc
nfc: Avoid endless loops caused by repeated llcp_sock_connect()
2021-04-16 11:59:06 +02:00
openvswitch
openvswitch: handle DNAT tuple collision
2020-10-14 09:48:16 +02:00
packet
net/packet: fix overflow in tpacket_rcv
2020-10-14 09:48:13 +02:00
phonet
phonet: fix building with clang
2019-03-23 13:19:44 +01:00
qrtr
net: qrtr: fix a kernel-infoleak in qrtr_recvmsg()
2021-03-30 14:41:42 +02:00
rds
rds: Prevent kernel-infoleak in rds_notify_queue_get()
2020-08-21 11:01:49 +02:00
rfkill
rfkill: Fix incorrect check to avoid NULL pointer dereference
2020-01-12 11:24:23 +01:00
rose
rose: Fix Null pointer dereference in rose_send_frame()
2020-12-11 13:37:56 +01:00
rxrpc
rxrpc: Fix handling of an unsupported token type in rxrpc_read()
2021-01-23 15:38:19 +01:00
sched
net: sched: sch_teql: fix null-pointer dereference
2021-04-16 11:59:07 +02:00
sctp
sctp: change to hold/put transport for proto_unreach_timer
2020-11-24 13:02:58 +01:00
strparser
strparser: Fix incorrect strp->need_bytes value.
2018-04-29 11:32:02 +02:00
sunrpc
rpc: fix NULL dereference on kmalloc failure
2021-04-07 12:05:38 +02:00
switchdev
switchdev: Execute bridge ndos only for bridge ports
2016-10-19 10:58:04 -04:00
tipc
net:tipc: Fix a double free in tipc_sk_mcast_rcv
2021-04-16 11:59:08 +02:00
unix
skbuff: fix a data race in skb_queue_len()
2020-10-01 20:40:06 +02:00
vmw_vsock
selinux: vsock: Set SID for socket returned by accept()
2021-04-07 12:05:38 +02:00
wimax
wireless
cfg80211: remove WARN_ON() in cfg80211_sme_connect
2021-04-16 11:59:09 +02:00
x25
net/x25: prevent a couple of overflows
2020-12-11 13:37:57 +01:00
xfrm
xfrm: Fix oops in xfrm_replay_advance_bmp
2021-02-03 23:19:51 +01:00
compat.c
net/compat: Add missing sock updates for SCM_RIGHTS
2020-08-21 11:02:08 +02:00
Kconfig
Makefile
socket.c
net: Set fput_needed iff FDPUT_FPUT is set
2020-08-21 11:02:04 +02:00
sysctl_net.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace
2016-10-06 09:52:23 -07:00