syzbot


KMSAN: uninit-value in __nla_validate_parse (2)

Status: fixed on 2021/03/10 01:48
Subsystems: net
[Documentation on labels]
Reported-by: syzbot+2624e3778b18fc497c92@syzkaller.appspotmail.com
Fix commit: c96adff95619 cls_flower: call nla_ok() before nla_next()
First crash: 1166d, last: 1166d
Discussions (6)
Title Replies (including bot) Last reply
[PATCH 5.10 000/199] 5.10.11-rc1 review 208 (208) 2021/01/26 23:37
[Patch net v4] cls_flower: call nla_ok() before nla_next() 2 (2) 2021/01/16 00:00
[Patch net v3] cls_flower: call nla_ok() before nla_next() 6 (6) 2021/01/14 22:56
[Patch net v2] cls_flower: call nla_ok() before nla_next() 6 (6) 2021/01/14 20:27
[Patch net] cls_flower: call nla_ok() before nla_next() 8 (8) 2021/01/14 17:06
KMSAN: uninit-value in __nla_validate_parse (2) 0 (1) 2021/01/11 15:30
Similar bugs (2)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KMSAN: uninit-value in __nla_validate_parse (3) netfilter 24 6d06h 27d 24/26 upstream: reported on 2024/02/20 14:31
upstream KMSAN: uninit-value in __nla_validate_parse net 2 1304d 1361d 0/26 auto-closed as invalid on 2020/12/21 04:46
Last patch testing requests (6)
Created Duration User Patch Repo Result
2021/01/14 07:43 21m xiyou.wangcong@gmail.com patch https://github.com/google/kmsan.git master OK
2021/01/12 02:09 24m xiyou.wangcong@gmail.com patch https://github.com/google/kmsan.git master OK
2021/01/11 21:44 15m xiyou.wangcong@gmail.com patch https://github.com/google/kmsan.git master report log
2021/01/11 20:36 23m xiyou.wangcong@gmail.com patch https://github.com/google/kmsan.git master OK
2021/01/11 19:27 15m xiyou.wangcong@gmail.com patch https://github.com/google/kmsan.git master report log
2021/01/11 19:00 15m xiyou.wangcong@gmail.com patch https://github.com/google/kmsan.git master report log

Sample crash report:
netlink: 4 bytes leftover after parsing attributes in process `syz-executor224'.
=====================================================
BUG: KMSAN: uninit-value in nla_ok include/net/netlink.h:1159 [inline]
BUG: KMSAN: uninit-value in __nla_validate_parse+0x5fd/0x4e00 lib/nlattr.c:576
CPU: 0 PID: 8270 Comm: syz-executor224 Not tainted 5.10.0-rc4-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Call Trace:
 __dump_stack lib/dump_stack.c:77 [inline]
 dump_stack+0x21c/0x280 lib/dump_stack.c:118
 kmsan_report+0xf7/0x1e0 mm/kmsan/kmsan_report.c:118
 __msan_warning+0x5f/0xa0 mm/kmsan/kmsan_instr.c:197
 nla_ok include/net/netlink.h:1159 [inline]
 __nla_validate_parse+0x5fd/0x4e00 lib/nlattr.c:576
 __nla_parse+0x141/0x150 lib/nlattr.c:685
 nla_parse_nested include/net/netlink.h:1212 [inline]
 fl_set_erspan_opt+0x39a/0xe60 net/sched/cls_flower.c:1206
 fl_set_enc_opt net/sched/cls_flower.c:1365 [inline]
 fl_set_key+0x810d/0xbb60 net/sched/cls_flower.c:1642
 fl_set_parms net/sched/cls_flower.c:1880 [inline]
 fl_change+0x1226/0x7ae0 net/sched/cls_flower.c:1979
 tc_new_tfilter+0x37c1/0x58e0 net/sched/cls_api.c:2129
 rtnetlink_rcv_msg+0xe94/0x18b0 net/core/rtnetlink.c:5553
 netlink_rcv_skb+0x70a/0x820 net/netlink/af_netlink.c:2494
 rtnetlink_rcv+0x50/0x60 net/core/rtnetlink.c:5580
 netlink_unicast_kernel net/netlink/af_netlink.c:1304 [inline]
 netlink_unicast+0x11da/0x14b0 net/netlink/af_netlink.c:1330
 netlink_sendmsg+0x173c/0x1840 net/netlink/af_netlink.c:1919
 sock_sendmsg_nosec net/socket.c:651 [inline]
 sock_sendmsg net/socket.c:671 [inline]
 ____sys_sendmsg+0xc7a/0x1240 net/socket.c:2353
 ___sys_sendmsg net/socket.c:2407 [inline]
 __sys_sendmmsg+0xa56/0x1060 net/socket.c:2497
 __do_sys_sendmmsg net/socket.c:2526 [inline]
 __se_sys_sendmmsg+0xbd/0xe0 net/socket.c:2523
 __x64_sys_sendmmsg+0x56/0x70 net/socket.c:2523
 do_syscall_64+0x9f/0x140 arch/x86/entry/common.c:48
 entry_SYSCALL_64_after_hwframe+0x44/0xa9
RIP: 0033:0x441739
Code: e8 5c ad 02 00 48 83 c4 18 c3 0f 1f 80 00 00 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 0f 83 bb 09 fc ff c3 66 2e 0f 1f 84 00 00 00 00
RSP: 002b:00007ffca52cefc8 EFLAGS: 00000246 ORIG_RAX: 0000000000000133
RAX: ffffffffffffffda RBX: 0000000000000003 RCX: 0000000000441739
RDX: 010efe10675dec16 RSI: 0000000020000200 RDI: 0000000000000003
RBP: 00007ffca52cefd0 R08: 0000000120080522 R09: 0000000120080522
R10: 0000000000000000 R11: 0000000000000246 R12: 00000000004a2a70
R13: 0000000000402610 R14: 0000000000000000 R15: 0000000000000000

Uninit was created at:
 kmsan_save_stack_with_flags mm/kmsan/kmsan.c:121 [inline]
 kmsan_internal_poison_shadow+0x5c/0xf0 mm/kmsan/kmsan.c:104
 kmsan_slab_alloc+0x8d/0xe0 mm/kmsan/kmsan_hooks.c:76
 slab_alloc_node mm/slub.c:2906 [inline]
 __kmalloc_node_track_caller+0xc61/0x15f0 mm/slub.c:4512
 __kmalloc_reserve net/core/skbuff.c:142 [inline]
 __alloc_skb+0x309/0xae0 net/core/skbuff.c:210
 alloc_skb include/linux/skbuff.h:1094 [inline]
 netlink_alloc_large_skb net/netlink/af_netlink.c:1176 [inline]
 netlink_sendmsg+0xdb8/0x1840 net/netlink/af_netlink.c:1894
 sock_sendmsg_nosec net/socket.c:651 [inline]
 sock_sendmsg net/socket.c:671 [inline]
 ____sys_sendmsg+0xc7a/0x1240 net/socket.c:2353
 ___sys_sendmsg net/socket.c:2407 [inline]
 __sys_sendmmsg+0xa56/0x1060 net/socket.c:2497
 __do_sys_sendmmsg net/socket.c:2526 [inline]
 __se_sys_sendmmsg+0xbd/0xe0 net/socket.c:2523
 __x64_sys_sendmmsg+0x56/0x70 net/socket.c:2523
 do_syscall_64+0x9f/0x140 arch/x86/entry/common.c:48
 entry_SYSCALL_64_after_hwframe+0x44/0xa9
=====================================================

Crashes (2):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2021/01/07 15:06 https://github.com/google/kmsan.git master 73d62e81b476 c104d4a3 .config console log report syz C ci-upstream-kmsan-gce
2021/01/07 13:41 https://github.com/google/kmsan.git master 73d62e81b476 c104d4a3 .config console log report info ci-upstream-kmsan-gce
* Struck through repros no longer work on HEAD.