Liu Jian
0d2816327f
igmp: Add ip_mc_list lock in ip_check_mc_rcu
I got below panic when doing fuzz test:
Kernel panic - not syncing: panic_on_warn set ...
CPU: 0 PID: 4056 Comm: syz-executor.3 Tainted: G B 5.14.0-rc1-00195-gcff5c4254439-dirty #2
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.12.0-59-gc9ba5276e321-prebuilt.qemu.org 04/01/2014
Call Trace:
dump_stack_lvl+0x7a/0x9b
panic+0x2cd/0x5af
end_report.cold+0x5a/0x5a
kasan_report+0xec/0x110
ip_check_mc_rcu+0x556/0x5d0
__mkroute_output+0x895/0x1740
ip_route_output_key_hash_rcu+0x2d0/0x1050
ip_route_output_key_hash+0x182/0x2e0
ip_route_output_flow+0x28/0x130
udp_sendmsg+0x165d/0x2280
udpv6_sendmsg+0x121e/0x24f0
inet6_sendmsg+0xf7/0x140
sock_sendmsg+0xe9/0x180
____sys_sendmsg+0x2b8/0x7a0
___sys_sendmsg+0xf0/0x160
__sys_sendmmsg+0x17e/0x3c0
__x64_sys_sendmmsg+0x9e/0x100
do_syscall_64+0x3b/0x90
entry_SYSCALL_64_after_hwframe+0x44/0xae
RIP: 0033:0x462eb9
Code: f7 d8 64 89 02 b8 ff ff ff ff c3 66 0f 1f 44 00 00 48 89 f8
48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48>
3d 01 f0 ff ff 73 01 c3 48 c7 c1 bc ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007f3df5af1c58 EFLAGS: 00000246 ORIG_RAX: 0000000000000133
RAX: ffffffffffffffda RBX: 000000000073bf00 RCX: 0000000000462eb9
RDX: 0000000000000312 RSI: 0000000020001700 RDI: 0000000000000007
RBP: 0000000000000004 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 00007f3df5af26bc
R13: 00000000004c372d R14: 0000000000700b10 R15: 00000000ffffffff
It is one use-after-free in ip_check_mc_rcu.
In ip_mc_del_src, the ip_sf_list of pmc has been freed under pmc->lock protection.
But access to ip_sf_list in ip_check_mc_rcu is not protected by the lock.
Change-Id: Ic1a2b2c0f312a35ac0a86aa05cd14d1698d84c20
Signed-off-by: Liu Jian <liujian56@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Git-commit: 4768973dff
Git-repo: https://android.googlesource.com/kernel/common
Signed-off-by: PavanKumar S.R <quic_pavasr@quicinc.com>
2022-06-19 18:20:11 +05:30
..
2020-12-18 18:35:06 +05:30
2020-05-23 05:08:22 -07:00
2020-05-20 08:18:35 +02:00
2019-11-10 11:27:37 +01:00
2020-10-14 20:04:29 +05:30
2019-11-10 11:27:50 +01:00
2020-06-30 23:17:06 -04:00
2020-08-11 15:32:34 +02:00
2020-03-18 07:14:11 +01:00
2020-08-11 15:32:34 +02:00
2020-10-29 11:36:20 +01:00
2022-06-19 18:20:11 +05:30
2020-10-16 11:06:31 +05:30
2020-03-18 07:14:11 +01:00
2020-08-19 08:15:04 +02:00
2020-01-04 19:13:29 +01:00
2020-10-30 10:38:28 +01:00
2020-09-26 18:01:29 +02:00
2019-12-01 09:17:18 +01:00
2020-10-25 13:40:26 +01:00
2020-06-30 23:17:06 -04:00
2020-06-03 08:19:46 +02:00
2020-06-03 08:19:10 +02:00
2019-11-20 18:45:11 +01:00
2020-04-02 15:28:18 +02:00
2021-08-30 02:23:36 -07:00
2020-07-22 09:31:59 +02:00
2019-06-17 19:51:56 +02:00
2020-03-18 07:14:11 +01:00
2019-07-03 13:14:46 +02:00
2020-10-29 09:54:55 +01:00
2020-03-04 18:35:36 +05:30
2020-09-26 18:01:32 +02:00
2020-07-22 09:31:59 +02:00
2020-06-30 23:17:06 -04:00
2020-01-09 10:19:08 +01:00
2021-04-08 12:15:07 +05:30
2020-10-14 20:04:29 +05:30
2020-01-09 10:19:08 +01:00
2021-04-08 12:20:04 +05:30
2021-04-08 12:28:51 +05:30
2020-12-18 18:35:06 +05:30
2020-03-18 07:14:11 +01:00
2020-05-23 05:08:22 -07:00
2020-10-14 20:04:29 +05:30
2020-04-29 16:31:23 +02:00
2020-01-04 19:13:37 +01:00