Re: lib, fs, cgroup: WARNING in percpu_ref_kill_and_confirm

From: Alexander Potapenko
Date: Wed May 31 2017 - 10:08:44 EST


On Fri, Mar 24, 2017 at 4:18 AM, Zefan Li <lizefan@xxxxxxxxxx> wrote:
> On 2017/3/23 22:04, Dmitry Vyukov wrote:
>> Hello,
>>
>> The following program triggers WARNING in percpu_ref_kill_and_confirm:
>> https://gist.githubusercontent.com/dvyukov/bcfcef3d6b24b9fd841b88ee20c14d4b/raw/a54aeeb09ad1e0659b0ed87ef5efc4480ab2536f/gistfile1.txt
>>
>
> The bug can be triggered immediately. I'll look into it. Thanks!
Hi Zefan,

Have you had a chance to look into this bug?
It's still reproducible for me with KMSAN.
>> ------------[ cut here ]------------
>> WARNING: CPU: 3 PID: 19987 at lib/percpu-refcount.c:317
>> percpu_ref_kill_and_confirm+0x303/0x3c0 lib/percpu-refcount.c:316
>> percpu_ref_kill_and_confirm called more than once on css_release!
>> CPU: 3 PID: 19987 Comm: a.out Not tainted 4.11.0-rc3+ #365
>> Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Bochs 01/01/2011
>> Call Trace:
>> __dump_stack lib/dump_stack.c:16 [inline]
>> dump_stack+0x1b8/0x28d lib/dump_stack.c:52
>> panic+0x20c/0x423 kernel/panic.c:180
>> __warn+0x1c4/0x1e0 kernel/panic.c:541
>> warn_slowpath_fmt+0xc1/0x100 kernel/panic.c:564
>> percpu_ref_kill_and_confirm+0x303/0x3c0 lib/percpu-refcount.c:316
>> percpu_ref_kill include/linux/percpu-refcount.h:119 [inline]
>> cgroup_kill_sb+0x31d/0x480 kernel/cgroup/cgroup.c:1834
>> deactivate_locked_super+0x99/0xe0 fs/super.c:309
>> deactivate_super+0x151/0x160 fs/super.c:340
>> cleanup_mnt+0xb2/0x160 fs/namespace.c:1115
>> __cleanup_mnt+0x16/0x20 fs/namespace.c:1122
>> task_work_run+0x1a4/0x270 kernel/task_work.c:116
>> tracehook_notify_resume include/linux/tracehook.h:191 [inline]
>> exit_to_usermode_loop+0x24d/0x2d0 arch/x86/entry/common.c:161
>> prepare_exit_to_usermode arch/x86/entry/common.c:191 [inline]
>> syscall_return_slowpath+0x3bd/0x460 arch/x86/entry/common.c:260
>> entry_SYSCALL_64_fastpath+0xc0/0xc2
>> RIP: 0033:0x443129
>> RSP: 002b:00007ffe06080018 EFLAGS: 00000202 ORIG_RAX: 00000000000000a5
>> RAX: ffffffffffffffec RBX: 00000000004002b0 RCX: 0000000000443129
>> RDX: 000000002019cff9 RSI: 000000002000c000 RDI: 00000000204ff000
>> RBP: 00007ffe06080060 R08: 00000000201db000 R09: 0000000000000000
>> R10: 000000000000c084 R11: 0000000000000202 R12: 0000000000000000
>> R13: 00000000004025b0 R14: 0000000000402640 R15: 0000000000000000
>>
>> On commit 093b995e3b55a0ae0670226ddfcb05bfbf0099ae
>> .
>>
>
> --
> You received this message because you are subscribed to the Google Groups "syzkaller" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to syzkaller+unsubscribe@xxxxxxxxxxxxxxxxx
> For more options, visit https://groups.google.com/d/optout.



--
Alexander Potapenko
Software Engineer

Google Germany GmbH
Erika-Mann-StraÃe, 33
80636 MÃnchen

GeschÃftsfÃhrer: Matthew Scott Sucherman, Paul Terence Manicle
Registergericht und -nummer: Hamburg, HRB 86891
Sitz der Gesellschaft: Hamburg