Re: WARNING: suspicious RCU usage in pid_task

From: Dmitry Vyukov
Date: Mon Sep 03 2018 - 00:56:46 EST


On Mon, Jun 25, 2018 at 7:45 PM, syzbot
<syzbot+c2d4c3ae3fd90bbaf059@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote:
> syzbot has found a reproducer for the following crash on:
>
> HEAD commit: 6f0d349d922b Merge git://git.kernel.org/pub/scm/linux/kern..
> git tree: upstream
> console output: https://syzkaller.appspot.com/x/log.txt?x=14c04304400000
> kernel config: https://syzkaller.appspot.com/x/.config?x=a63be0c83e84d370
> dashboard link: https://syzkaller.appspot.com/bug?extid=c2d4c3ae3fd90bbaf059
> compiler: gcc (GCC) 8.0.1 20180413 (experimental)
> syzkaller repro:https://syzkaller.appspot.com/x/repro.syz?x=14f0a814400000
> C reproducer: https://syzkaller.appspot.com/x/repro.c?x=16ce574c400000

Probably bpfilter problem, +bpfilter maintainers.


> IMPORTANT: if you fix the bug, please add the following tag to the commit:
> Reported-by: syzbot+c2d4c3ae3fd90bbaf059@xxxxxxxxxxxxxxxxxxxxxxxxx
>
> bpfilter: read fail -512
>
> =============================
> WARNING: suspicious RCU usage
> 4.18.0-rc2+ #117 Not tainted
> -----------------------------
> kernel/pid.c:323 suspicious rcu_dereference_check() usage!
>
> other info that might help us debug this:
>
>
> rcu_scheduler_active = 2, debug_locks = 1
> 1 lock held by syz-executor106/7744:
> #0: 00000000bee82115 (bpfilter_lock){+.+.}, at:
> __bpfilter_process_sockopt+0x1c5/0x39b net/bpfilter/bpfilter_kern.c:67
>
> stack backtrace:
> CPU: 1 PID: 7744 Comm: syz-executor106 Not tainted 4.18.0-rc2+ #117
> 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+0x1c9/0x2b4 lib/dump_stack.c:113
> lockdep_rcu_suspicious+0x14a/0x153 kernel/locking/lockdep.c:4562
> pid_task+0x1ce/0x200 kernel/pid.c:322
> shutdown_umh.constprop.0+0x33/0x7c net/bpfilter/bpfilter_kern.c:29
> __stop_umh net/bpfilter/bpfilter_kern.c:41 [inline]
> __bpfilter_process_sockopt.cold.1+0x9b/0xa0 net/bpfilter/bpfilter_kern.c:81
> bpfilter_mbox_request+0x4d/0xb0 net/ipv4/bpfilter/sockopt.c:25
> bpfilter_ip_set_sockopt+0x33/0x40 net/ipv4/bpfilter/sockopt.c:31
> ip_setsockopt+0x124/0x140 net/ipv4/ip_sockglue.c:1250
> dccp_setsockopt+0x96/0xf0 net/dccp/proto.c:565
> sock_common_setsockopt+0x9a/0xe0 net/core/sock.c:3040
> __sys_setsockopt+0x1c5/0x3b0 net/socket.c:1947
> __do_sys_setsockopt net/socket.c:1958 [inline]
> __se_sys_setsockopt net/socket.c:1955 [inline]
> __x64_sys_setsockopt+0xbe/0x150 net/socket.c:1955
> do_syscall_64+0x1b9/0x820 arch/x86/entry/common.c:290
> entry_SYSCALL_64_after_hwframe+0x49/0xbe
> RIP: 0033:0x44cdb9
> Code: e8 6c bd 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 cb d2 fb ff c3 66 2e 0f 1f 84 00 00 00 00
> RSP: 002b:00007f63b04a8d18 EFLAGS: 00000246 ORIG_RAX: 0000000000000036
> RAX: ffffffffffffffda RBX: 00000000006dfce4 RCX: 000000000044cdb9
> RDX: 0000000000000040 RSI: 0000000000000000 RDI: 0000000000000027
> RBP: 00000000006dfce0 R08: 0000000000000000 R09: 65732f636f72702f
> R10: 0000000020000000 R11: 0000000000000246 R12: 00007f63b04a8d20
> R13: 0100000000000000 R14: 6273752f7665642f R15: 0000000000000034
>
> --
> You received this message because you are subscribed to the Google Groups
> "syzkaller-bugs" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to syzkaller-bugs+unsubscribe@xxxxxxxxxxxxxxxxx
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/syzkaller-bugs/000000000000f0c659056f7af058%40google.com.
>
> For more options, visit https://groups.google.com/d/optout.