Pedro Tammela
4fe9950815
net/sched: tcindex: search key must be 16 bits
...
[ Upstream commit 42018a322bd453e38b3ffee294982243e50a484f ]
Syzkaller found an issue where a handle greater than 16 bits would trigger
a null-ptr-deref in the imperfect hash area update.
general protection fault, probably for non-canonical address
0xdffffc0000000015: 0000 [#1 ] PREEMPT SMP KASAN
KASAN: null-ptr-deref in range [0x00000000000000a8-0x00000000000000af]
CPU: 0 PID: 5070 Comm: syz-executor456 Not tainted
6.2.0-rc7-syzkaller-00112-gc68f345b7c42 #0
Hardware name: Google Google Compute Engine/Google Compute Engine,
BIOS Google 01/21/2023
RIP: 0010:tcindex_set_parms+0x1a6a/0x2990 net/sched/cls_tcindex.c:509
Code: 01 e9 e9 fe ff ff 4c 8b bd 28 fe ff ff e8 0e 57 7d f9 48 8d bb
a8 00 00 00 48 b8 00 00 00 00 00 fc ff df 48 89 fa 48 c1 ea 03 <80> 3c
02 00 0f 85 94 0c 00 00 48 8b 85 f8 fd ff ff 48 8b 9b a8 00
RSP: 0018:ffffc90003d3ef88 EFLAGS: 00010202
RAX: dffffc0000000000 RBX: 0000000000000000 RCX: 0000000000000000
RDX: 0000000000000015 RSI: ffffffff8803a102 RDI: 00000000000000a8
RBP: ffffc90003d3f1d8 R08: 0000000000000001 R09: 0000000000000000
R10: 0000000000000001 R11: 0000000000000000 R12: ffff88801e2b10a8
R13: dffffc0000000000 R14: 0000000000030000 R15: ffff888017b3be00
FS: 00005555569af300(0000) GS:ffff8880b9800000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000056041c6d2000 CR3: 000000002bfca000 CR4: 00000000003506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
<TASK>
tcindex_change+0x1ea/0x320 net/sched/cls_tcindex.c:572
tc_new_tfilter+0x96e/0x2220 net/sched/cls_api.c:2155
rtnetlink_rcv_msg+0x959/0xca0 net/core/rtnetlink.c:6132
netlink_rcv_skb+0x165/0x440 net/netlink/af_netlink.c:2574
netlink_unicast_kernel net/netlink/af_netlink.c:1339 [inline]
netlink_unicast+0x547/0x7f0 net/netlink/af_netlink.c:1365
netlink_sendmsg+0x91b/0xe10 net/netlink/af_netlink.c:1942
sock_sendmsg_nosec net/socket.c:714 [inline]
sock_sendmsg+0xd3/0x120 net/socket.c:734
____sys_sendmsg+0x334/0x8c0 net/socket.c:2476
___sys_sendmsg+0x110/0x1b0 net/socket.c:2530
__sys_sendmmsg+0x18f/0x460 net/socket.c:2616
__do_sys_sendmmsg net/socket.c:2645 [inline]
__se_sys_sendmmsg net/socket.c:2642 [inline]
__x64_sys_sendmmsg+0x9d/0x100 net/socket.c:2642
do_syscall_x64 arch/x86/entry/common.c:50 [inline]
do_syscall_64+0x39/0xb0 arch/x86/entry/common.c:80
Fixes: ee059170b1f7 ("net/sched: tcindex: update imperfect hash filters respecting rcu")
Signed-off-by: Jamal Hadi Salim <jhs@mojatatu.com>
Signed-off-by: Pedro Tammela <pctammela@mojatatu.com>
Reported-by: syzbot <syzkaller@googlegroups.com>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-02-22 12:55:59 +01:00
..
2021-09-15 09:50:34 +02:00
2022-12-14 11:31:54 +01:00
2023-01-14 10:16:18 +01:00
2022-07-29 17:19:07 +02:00
2021-04-07 15:00:08 +02:00
2022-10-30 09:41:16 +01:00
2022-06-22 14:13:17 +02:00
2022-05-18 10:23:42 +02:00
2023-02-06 07:56:16 +01:00
2023-01-14 10:15:31 +01:00
2021-07-14 16:56:29 +02:00
2023-02-15 17:22:12 +01:00
2023-01-14 10:16:48 +01:00
2023-02-15 17:22:23 +01:00
2022-05-25 09:17:56 +02:00
2023-02-22 12:55:56 +01:00
2022-03-08 19:09:37 +01:00
2023-02-22 12:55:57 +01:00
2022-08-31 17:15:19 +02:00
2022-12-14 11:32:01 +01:00
2023-01-24 07:19:55 +01:00
2023-01-14 10:15:37 +01:00
2022-11-03 23:57:51 +09:00
2023-02-15 17:22:10 +01:00
2023-02-22 12:55:58 +01:00
2021-03-07 12:34:05 +01:00
2022-11-25 17:45:56 +01:00
2022-12-02 17:39:58 +01:00
2023-02-01 08:23:14 +01:00
2022-04-27 13:53:50 +02:00
2021-02-10 09:29:14 +01:00
2022-03-28 09:57:10 +02:00
2023-01-24 07:20:01 +01:00
2022-12-14 11:32:01 +01:00
2023-02-22 12:55:58 +01:00
2023-01-14 10:16:52 +01:00
2022-01-05 12:40:32 +01:00
2023-02-22 12:55:55 +01:00
2022-04-13 21:01:00 +02:00
2023-02-01 08:23:24 +01:00
2023-02-15 17:22:12 +01:00
2023-02-01 08:23:12 +01:00
2023-02-22 12:55:57 +01:00
2023-01-14 10:16:29 +01:00
2022-01-11 15:25:01 +01:00
2021-03-07 12:34:07 +01:00
2023-02-15 17:22:16 +01:00
2023-02-15 17:22:25 +01:00
2023-02-22 12:55:53 +01:00
2023-01-14 10:16:12 +01:00
2023-02-22 12:55:59 +01:00
2023-02-22 12:55:57 +01:00
2022-09-28 11:10:36 +02:00
2021-11-18 14:04:27 +01:00
2023-01-14 10:16:44 +01:00
2021-02-07 15:37:12 +01:00
2023-01-18 11:44:58 +01:00
2022-08-03 12:00:46 +02:00
2022-12-14 11:32:01 +01:00
2023-01-14 10:15:42 +01:00
2023-01-14 10:15:36 +01:00
2023-02-15 17:22:15 +01:00
2022-10-15 07:55:51 +02:00
2023-02-15 17:22:23 +01:00
2021-06-18 10:00:06 +02:00
2023-01-04 11:39:24 +01:00