syzbot


KCSAN: data-race in kcm_rcv_strparser / kcm_rfree (7)

Status: fixed on 2023/02/24 13:50
Subsystems: net
[Documentation on labels]
Fix commit: 0c745b5141a4 kcm: annotate data-races around kcm->rx_wait
First crash: 777d, last: 777d
Similar bugs (6)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KCSAN: data-race in kcm_rcv_strparser / kcm_rfree (4) net 4 1410d 1435d 0/28 auto-closed as invalid on 2021/02/27 15:17
upstream KCSAN: data-race in kcm_rcv_strparser / kcm_rfree (2) net 1 1625d 1625d 0/28 auto-closed as invalid on 2020/07/27 00:03
upstream KCSAN: data-race in kcm_rcv_strparser / kcm_rfree (5) net 2 1359d 1369d 0/28 auto-closed as invalid on 2021/04/19 17:00
upstream KCSAN: data-race in kcm_rcv_strparser / kcm_rfree net 21 1653d 1841d 0/28 closed as invalid on 2020/06/18 14:24
upstream KCSAN: data-race in kcm_rcv_strparser / kcm_rfree (6) net 22 827d 1086d 0/28 auto-closed as invalid on 2022/10/02 20:43
upstream KCSAN: data-race in kcm_rcv_strparser / kcm_rfree (3) net 1 1537d 1537d 0/28 auto-closed as invalid on 2020/10/23 10:46

Sample crash report:
==================================================================
BUG: KCSAN: data-race in kcm_rcv_strparser / kcm_rfree

write to 0xffff88810784e3d0 of 1 bytes by task 1823 on cpu 1:
 reserve_rx_kcm net/kcm/kcmsock.c:283 [inline]
 kcm_rcv_strparser+0x250/0x3a0 net/kcm/kcmsock.c:363
 __strp_recv+0x64c/0xd20 net/strparser/strparser.c:301
 strp_recv+0x6d/0x80 net/strparser/strparser.c:335
 tcp_read_sock+0x13e/0x5a0 net/ipv4/tcp.c:1703
 strp_read_sock net/strparser/strparser.c:358 [inline]
 do_strp_work net/strparser/strparser.c:406 [inline]
 strp_work+0xe8/0x180 net/strparser/strparser.c:415
 process_one_work+0x3d3/0x720 kernel/workqueue.c:2289
 worker_thread+0x618/0xa70 kernel/workqueue.c:2436
 kthread+0x1a9/0x1e0 kernel/kthread.c:376
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:306

read to 0xffff88810784e3d0 of 1 bytes by task 17869 on cpu 0:
 kcm_rfree+0x121/0x220 net/kcm/kcmsock.c:181
 skb_release_head_state+0x8e/0x160 net/core/skbuff.c:841
 skb_release_all net/core/skbuff.c:852 [inline]
 __kfree_skb net/core/skbuff.c:868 [inline]
 kfree_skb_reason+0x5c/0x260 net/core/skbuff.c:891
 kfree_skb include/linux/skbuff.h:1216 [inline]
 kcm_recvmsg+0x226/0x2b0 net/kcm/kcmsock.c:1161
 ____sys_recvmsg+0x16c/0x2e0
 ___sys_recvmsg net/socket.c:2743 [inline]
 do_recvmmsg+0x2f1/0x710 net/socket.c:2837
 __sys_recvmmsg net/socket.c:2916 [inline]
 __do_sys_recvmmsg net/socket.c:2939 [inline]
 __se_sys_recvmmsg net/socket.c:2932 [inline]
 __x64_sys_recvmmsg+0xde/0x160 net/socket.c:2932
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x2b/0x70 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x63/0xcd

value changed: 0x01 -> 0x00

Reported by Kernel Concurrency Sanitizer on:
CPU: 0 PID: 17869 Comm: syz-executor.2 Not tainted 6.1.0-rc1-syzkaller-00010-gbb1a1146467a-dirty #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/22/2022
==================================================================

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2022/10/18 10:18 upstream bb1a1146467a b31320fc .config console log report info ci2-upstream-kcsan-gce KCSAN: data-race in kcm_rcv_strparser / kcm_rfree
* Struck through repros no longer work on HEAD.