mirror of
https://git.proxmox.com/git/mirror_ubuntu-kernels.git
synced 2025-12-07 16:41:15 +00:00
Because rose_ioctl() accesses sk->sk_receive_queue
without holding a sk->sk_receive_queue.lock, it can
cause a race with rose_accept().
A use-after-free for skb occurs with the following flow.
```
rose_ioctl() -> skb_peek()
rose_accept() -> skb_dequeue() -> kfree_skb()
```
Add sk->sk_receive_queue.lock to rose_ioctl() to fix this issue.
Fixes:
|
||
|---|---|---|
| .. | ||
| af_rose.c | ||
| Makefile | ||
| rose_dev.c | ||
| rose_in.c | ||
| rose_link.c | ||
| rose_loopback.c | ||
| rose_out.c | ||
| rose_route.c | ||
| rose_subr.c | ||
| rose_timer.c | ||
| sysctl_net_rose.c | ||