2022-06-09 05:23:38

by syzbot

[permalink] [raw]
Subject: [syzbot] BUG: sleeping function called from invalid context in corrupted (2)

Hello,

syzbot found the following issue on:

HEAD commit: 03c312cc5f47 Add linux-next specific files for 20220608
git tree: linux-next
console output: https://syzkaller.appspot.com/x/log.txt?x=155a4b73f00000
kernel config: https://syzkaller.appspot.com/x/.config?x=a0a0f5184fb46b
dashboard link: https://syzkaller.appspot.com/bug?extid=efe1afd49d981d281ae4
compiler: gcc (Debian 10.2.1-6) 10.2.1 20210110, GNU ld (GNU Binutils for Debian) 2.35.2
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=168d9ebff00000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=125c6e5ff00000

The issue was bisected to:

commit d8616ee2affcff37c5d315310da557a694a3303d
Author: Wang Yufen <[email protected]>
Date: Tue May 24 07:53:11 2022 +0000

bpf, sockmap: Fix sk->sk_forward_alloc warn_on in sk_stream_kill_queues

bisection log: https://syzkaller.appspot.com/x/bisect.txt?x=138a4b57f00000
final oops: https://syzkaller.appspot.com/x/report.txt?x=104a4b57f00000
console output: https://syzkaller.appspot.com/x/log.txt?x=178a4b57f00000

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: [email protected]
Fixes: d8616ee2affc ("bpf, sockmap: Fix sk->sk_forward_alloc warn_on in sk_stream_kill_queues")

BUG: sleeping function called from invalid context at kernel/workqueue.c:3010
in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 3611, name: syz-executor124
preempt_count: 201, expected: 0
RCU nest depth: 0, expected: 0
3 locks held by syz-executor124/3611:
#0: ffff888073295c10 (&sb->s_type->i_mutex_key#10){+.+.}-{3:3}, at: inode_lock include/linux/fs.h:742 [inline]
#0: ffff888073295c10 (&sb->s_type->i_mutex_key#10){+.+.}-{3:3}, at: __sock_release+0x86/0x280 net/socket.c:649
#1: ffff888073ff1ab0 (sk_lock-AF_INET6){+.+.}-{0:0}, at: lock_sock include/net/sock.h:1691 [inline]
#1: ffff888073ff1ab0 (sk_lock-AF_INET6){+.+.}-{0:0}, at: tcp_close+0x1e/0xc0 net/ipv4/tcp.c:2908


---
This report is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at [email protected].

syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.
For information about bisection process see: https://goo.gl/tpsmEJ#bisection
syzbot can test patches for this issue, for details see:
https://goo.gl/tpsmEJ#testing-patches


2022-06-09 10:37:50

by Daniel Borkmann

[permalink] [raw]
Subject: Re: [syzbot] BUG: sleeping function called from invalid context in corrupted (2)

On 6/9/22 6:01 AM, syzbot wrote:
> Hello,
>
> syzbot found the following issue on:
>
> HEAD commit: 03c312cc5f47 Add linux-next specific files for 20220608
> git tree: linux-next
> console output: https://syzkaller.appspot.com/x/log.txt?x=155a4b73f00000
> kernel config: https://syzkaller.appspot.com/x/.config?x=a0a0f5184fb46b
> dashboard link: https://syzkaller.appspot.com/bug?extid=efe1afd49d981d281ae4
> compiler: gcc (Debian 10.2.1-6) 10.2.1 20210110, GNU ld (GNU Binutils for Debian) 2.35.2
> syz repro: https://syzkaller.appspot.com/x/repro.syz?x=168d9ebff00000
> C reproducer: https://syzkaller.appspot.com/x/repro.c?x=125c6e5ff00000
>
> The issue was bisected to:
>
> commit d8616ee2affcff37c5d315310da557a694a3303d
> Author: Wang Yufen <[email protected]>
> Date: Tue May 24 07:53:11 2022 +0000
>
> bpf, sockmap: Fix sk->sk_forward_alloc warn_on in sk_stream_kill_queues

Wang, please take a look and fix. Thanks!

> bisection log: https://syzkaller.appspot.com/x/bisect.txt?x=138a4b57f00000
> final oops: https://syzkaller.appspot.com/x/report.txt?x=104a4b57f00000
> console output: https://syzkaller.appspot.com/x/log.txt?x=178a4b57f00000
>
> IMPORTANT: if you fix the issue, please add the following tag to the commit:
> Reported-by: [email protected]
> Fixes: d8616ee2affc ("bpf, sockmap: Fix sk->sk_forward_alloc warn_on in sk_stream_kill_queues")
>
> BUG: sleeping function called from invalid context at kernel/workqueue.c:3010
> in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 3611, name: syz-executor124
> preempt_count: 201, expected: 0
> RCU nest depth: 0, expected: 0
> 3 locks held by syz-executor124/3611:
> #0: ffff888073295c10 (&sb->s_type->i_mutex_key#10){+.+.}-{3:3}, at: inode_lock include/linux/fs.h:742 [inline]
> #0: ffff888073295c10 (&sb->s_type->i_mutex_key#10){+.+.}-{3:3}, at: __sock_release+0x86/0x280 net/socket.c:649
> #1: ffff888073ff1ab0 (sk_lock-AF_INET6){+.+.}-{0:0}, at: lock_sock include/net/sock.h:1691 [inline]
> #1: ffff888073ff1ab0 (sk_lock-AF_INET6){+.+.}-{0:0}, at: tcp_close+0x1e/0xc0 net/ipv4/tcp.c:2908
>
>
> ---
> This report is generated by a bot. It may contain errors.
> See https://goo.gl/tpsmEJ for more information about syzbot.
> syzbot engineers can be reached at [email protected].
>
> syzbot will keep track of this issue. See:
> https://goo.gl/tpsmEJ#status for how to communicate with syzbot.
> For information about bisection process see: https://goo.gl/tpsmEJ#bisection
> syzbot can test patches for this issue, for details see:
> https://goo.gl/tpsmEJ#testing-patches
>

2022-06-11 03:51:44

by syzbot

[permalink] [raw]
Subject: Re: [syzbot] BUG: sleeping function called from invalid context in corrupted (2)

Hello,

syzbot has tested the proposed patch and the reproducer did not trigger any issue:

Reported-and-tested-by: [email protected]

Tested on:

commit: 03c312cc Add linux-next specific files for 20220608
git tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
console output: https://syzkaller.appspot.com/x/log.txt?x=16e6c28bf00000
kernel config: https://syzkaller.appspot.com/x/.config?x=a0a0f5184fb46b
dashboard link: https://syzkaller.appspot.com/bug?extid=efe1afd49d981d281ae4
compiler: gcc (Debian 10.2.1-6) 10.2.1 20210110, GNU ld (GNU Binutils for Debian) 2.35.2
patch: https://syzkaller.appspot.com/x/patch.diff?x=11367c2ff00000

Note: testing is done by a robot and is best-effort only.