Re: linux-next test error: BUG: using smp_processor_id() in preemptible [ADDR] code: systemd-rfkill/6728

From: Eric Biggers
Date: Fri Jun 05 2020 - 00:02:25 EST


Introduced by:

commit 42f56b7a4a7db127a9d281da584152dc3d525d25
Author: Ritesh Harjani <riteshh@xxxxxxxxxxxxx>
Date: Wed May 20 12:10:34 2020 +0530

ext4: mballoc: introduce pcpu seqcnt for freeing PA to improve ENOSPC handling

On Thu, Jun 04, 2020 at 07:02:18PM -0700, syzbot wrote:
> Hello,
>
> syzbot found the following crash on:
>
> HEAD commit: 0e21d462 Add linux-next specific files for 20200602
> git tree: linux-next
> console output: https://syzkaller.appspot.com/x/log.txt?x=10461661100000
> kernel config: https://syzkaller.appspot.com/x/.config?x=ecc1aef35f550ee3
> dashboard link: https://syzkaller.appspot.com/bug?extid=aed048f49c59eb997737
> compiler: gcc (GCC) 9.0.0 20181231 (experimental)
>
> IMPORTANT: if you fix the bug, please add the following tag to the commit:
> Reported-by: syzbot+aed048f49c59eb997737@xxxxxxxxxxxxxxxxxxxxxxxxx
>
> BUG: using smp_processor_id() in preemptible [00000000] code: systemd-rfkill/6728
> caller is ext4_mb_new_blocks+0xa4d/0x3b70 fs/ext4/mballoc.c:4711
> CPU: 1 PID: 6728 Comm: systemd-rfkill Not tainted 5.7.0-next-20200602-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+0x18f/0x20d lib/dump_stack.c:118
> check_preemption_disabled+0x20d/0x220 lib/smp_processor_id.c:48
> ext4_mb_new_blocks+0xa4d/0x3b70 fs/ext4/mballoc.c:4711
> ext4_ext_map_blocks+0x201b/0x33e0 fs/ext4/extents.c:4244
> ext4_map_blocks+0x4cb/0x1640 fs/ext4/inode.c:626
> ext4_getblk+0xad/0x520 fs/ext4/inode.c:833
> ext4_bread+0x7c/0x380 fs/ext4/inode.c:883
> ext4_append+0x153/0x360 fs/ext4/namei.c:67
> ext4_init_new_dir fs/ext4/namei.c:2757 [inline]
> ext4_mkdir+0x5e0/0xdf0 fs/ext4/namei.c:2802
> vfs_mkdir+0x419/0x690 fs/namei.c:3632
> do_mkdirat+0x21e/0x280 fs/namei.c:3655
> do_syscall_64+0x60/0xe0 arch/x86/entry/common.c:359
> entry_SYSCALL_64_after_hwframe+0x44/0xa9
> RIP: 0033:0x7f9ffaa79687
> Code: Bad RIP value.
> RSP: 002b:00007ffeb3197c38 EFLAGS: 00000246 ORIG_RAX: 0000000000000053
> RAX: ffffffffffffffda RBX: 000055c2e6155985 RCX: 00007f9ffaa79687
> RDX: 00007ffeb3197b00 RSI: 00000000000001ed RDI: 000055c2e6155985
> RBP: 00007f9ffaa79680 R08: 0000000000000100 R09: 0000000000000000
> R10: 000055c2e6155980 R11: 0000000000000246 R12: 00000000000001ed
> R13: 00007ffeb3197dc0 R14: 0000000000000000 R15: 0000000000000000
>
>
> ---
> This bug 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 syzkaller@xxxxxxxxxxxxxxxxx
>
> syzbot will keep track of this bug report. See:
> https://goo.gl/tpsmEJ#status for how to communicate with syzbot.
>