linux-stable/net/atm
Hyunwoo Kim b099c28847 atm: Fix Use-After-Free in do_vcc_ioctl
[ Upstream commit 24e90b9e34 ]

Because do_vcc_ioctl() accesses sk->sk_receive_queue
without holding a sk->sk_receive_queue.lock, it can
cause a race with vcc_recvmsg().
A use-after-free for skb occurs with the following flow.
```
do_vcc_ioctl() -> skb_peek()
vcc_recvmsg() -> skb_recv_datagram() -> skb_free_datagram()
```
Add sk->sk_receive_queue.lock to do_vcc_ioctl() to fix this issue.

Fixes: 1da177e4c3 ("Linux-2.6.12-rc2")
Signed-off-by: Hyunwoo Kim <v4bel@theori.io>
Link: https://lore.kernel.org/r/20231209094210.GA403126@v4bel-B760M-AORUS-ELITE-AX
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-12-20 15:41:15 +01:00
..
Kconfig treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
Makefile
addr.c
addr.h
atm_misc.c
atm_sysfs.c net: Use octal not symbolic permissions 2018-03-26 12:07:48 -04:00
br2684.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
clip.c net: atm: Reduce the severity of logging in unlink_clip_vcc 2019-11-18 17:08:20 -08:00
common.c net: use skb_queue_empty_lockless() in poll() handlers 2019-10-28 13:33:41 -07:00
common.h Revert changes to convert to ->poll_mask() and aio IOCB_CMD_POLL 2018-06-28 10:40:47 -07:00
ioctl.c atm: Fix Use-After-Free in do_vcc_ioctl 2023-12-20 15:41:15 +01:00
lec.c atm: fix a memory leak of vcc->user_back 2020-10-01 13:17:58 +02:00
lec.h
lec_arpc.h
mpc.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
mpc.h
mpoa_caches.c net: mpoa: Use kzfree rather than its implementation. 2019-09-05 12:06:04 +02:00
mpoa_caches.h atm: mpoa: remove 32-bit timekeeping 2017-11-30 09:26:32 -05:00
mpoa_proc.c net/atm: fix proc_mpc_write incorrect return value 2022-10-29 10:20:35 +02:00
pppoatm.c treewide: Replace DECLARE_TASKLET() with DECLARE_TASKLET_OLD() 2023-04-20 12:07:32 +02:00
proc.c vcc_seq_next should increase position index 2020-10-01 13:17:24 +02:00
protocols.h
pvc.c net: rework SIOCGSTAMP ioctl handling 2019-04-19 14:07:40 -07:00
raw.c atm: Preserve value of skb->truesize when accounting to vcc 2018-06-17 08:27:01 +09:00
resources.c atm: hide unused procfs functions 2023-06-09 10:28:59 +02:00
resources.h
signaling.c
signaling.h
svc.c net: rework SIOCGSTAMP ioctl handling 2019-04-19 14:07:40 -07:00