WARNING in ep_poll_callback

25 views
Skip to first unread message

syzbot

unread,
Jan 8, 2019, 12:59:03 AM1/8/19
to linux-...@vger.kernel.org, linux-...@vger.kernel.org, syzkall...@googlegroups.com, vi...@zeniv.linux.org.uk
Hello,

syzbot found the following crash on:

HEAD commit: 139287cc2cc0 Add linux-next specific files for 20190108
git tree: linux-next
console output: https://syzkaller.appspot.com/x/log.txt?x=16f563d7400000
kernel config: https://syzkaller.appspot.com/x/.config?x=1521b074ff5a5bdf
dashboard link: https://syzkaller.appspot.com/bug?extid=aea82bf9ee6ffd9a79d9
compiler: gcc (GCC) 9.0.0 20181231 (experimental)

Unfortunately, I don't have any reproducer for this crash yet.

IMPORTANT: if you fix the bug, please add the following tag to the commit:
Reported-by: syzbot+aea82b...@syzkaller.appspotmail.com

------------[ cut here ]------------
IRQs not disabled as expected
WARNING: CPU: 1 PID: 27199 at fs/eventpoll.c:1224
ep_poll_callback+0x77e/0x1450 fs/eventpoll.c:1224
Kernel panic - not syncing: panic_on_warn set ...
CPU: 1 PID: 27199 Comm: syz-executor4 Not tainted 5.0.0-rc1-next-20190108 #7
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+0x1db/0x2d0 lib/dump_stack.c:113
panic+0x2cb/0x65c kernel/panic.c:214
__warn.cold+0x20/0x48 kernel/panic.c:571
report_bug+0x263/0x2b0 lib/bug.c:186
fixup_bug arch/x86/kernel/traps.c:178 [inline]
fixup_bug arch/x86/kernel/traps.c:173 [inline]
do_error_trap+0x11b/0x200 arch/x86/kernel/traps.c:271
do_invalid_op+0x37/0x50 arch/x86/kernel/traps.c:290
invalid_op+0x14/0x20 arch/x86/entry/entry_64.S:973
RIP: 0010:ep_poll_callback+0x77e/0x1450 fs/eventpoll.c:1224
Code: ff 44 89 ee e8 63 84 98 ff 45 84 ed 0f 85 4a fa ff ff e8 15 83 98 ff
48 c7 c7 00 69 56 88 c6 05 a1 b2 6e 08 01 e8 52 c8 61 ff <0f> 0b e9 2b fa
ff ff e8 f6 82 98 ff 48 8d 7b 30 48 b8 00 00 00 00
RSP: 0018:ffff8880533776a0 EFLAGS: 00010282
RAX: 0000000000000000 RBX: ffff88804df7ee40 RCX: ffffc9000de3b000
RDX: 0000000000012c8d RSI: ffffffff816869f6 RDI: 0000000000000005
RBP: ffff888053377880 R08: ffff8880a078a700 R09: ffff8880a078aff0
R10: ffff8880a078a700 R11: 0000000000000000 R12: ffff888053377858
R13: 0000000000000000 R14: ffff88804df7ee90 R15: 0000000000000000
__wake_up_common+0x1d3/0x7d0 kernel/sched/wait.c:92
__wake_up_locked+0x11/0x20 kernel/sched/wait.c:154
fuse_abort_conn+0xd01/0x1200 fs/fuse/dev.c:2212
fuse_sb_destroy+0xd3/0x1d0 fs/fuse/inode.c:1245
fuse_kill_sb_anon+0x16/0x30 fs/fuse/inode.c:1256
deactivate_locked_super+0x9a/0x100 fs/super.c:331
deactivate_super fs/super.c:362 [inline]
deactivate_super+0x2ab/0x320 fs/super.c:358
cleanup_mnt+0xbf/0x160 fs/namespace.c:1140
__cleanup_mnt+0x16/0x20 fs/namespace.c:1147
task_work_run+0x1f4/0x2b0 kernel/task_work.c:113
tracehook_notify_resume include/linux/tracehook.h:188 [inline]
exit_to_usermode_loop+0x32a/0x3b0 arch/x86/entry/common.c:166
prepare_exit_to_usermode arch/x86/entry/common.c:197 [inline]
syscall_return_slowpath arch/x86/entry/common.c:268 [inline]
do_syscall_64+0x696/0x800 arch/x86/entry/common.c:293
entry_SYSCALL_64_after_hwframe+0x49/0xbe
RIP: 0033:0x457ec9
Code: 6d b7 fb ff c3 66 2e 0f 1f 84 00 00 00 00 00 66 90 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 3b b7 fb ff c3 66 2e 0f 1f 84 00 00 00 00
RSP: 002b:00007f19fdcaec78 EFLAGS: 00000246 ORIG_RAX: 00000000000000a6
RAX: 0000000000000000 RBX: 0000000000000002 RCX: 0000000000457ec9
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000020000040
RBP: 000000000073bf00 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 00007f19fdcaf6d4
R13: 00000000004c6ab2 R14: 00000000004dbdb8 R15: 00000000ffffffff
Kernel Offset: disabled
Rebooting in 86400 seconds..


---
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 syzk...@googlegroups.com.

syzbot will keep track of this bug report. See:
https://goo.gl/tpsmEJ#bug-status-tracking for how to communicate with
syzbot.

Dmitry Vyukov

unread,
Jan 8, 2019, 1:00:42 AM1/8/19
to syzbot, rpen...@suse.de, Andrew Morton, Stephen Rothwell, linux-fsdevel, LKML, syzkaller-bugs, Al Viro
On Tue, Jan 8, 2019 at 6:59 AM syzbot
<syzbot+aea82b...@syzkaller.appspotmail.com> wrote:
>
> Hello,
>
> syzbot found the following crash on:
>
> HEAD commit: 139287cc2cc0 Add linux-next specific files for 20190108
> git tree: linux-next
> console output: https://syzkaller.appspot.com/x/log.txt?x=16f563d7400000
> kernel config: https://syzkaller.appspot.com/x/.config?x=1521b074ff5a5bdf
> dashboard link: https://syzkaller.appspot.com/bug?extid=aea82bf9ee6ffd9a79d9
> compiler: gcc (GCC) 9.0.0 20181231 (experimental)
>
> Unfortunately, I don't have any reproducer for this crash yet.

Looks like caused by:

commit f92cacf118171208f62519d92502a8dd0341286d
Author: Roman Penyaev
Date: Tue Jan 8 12:15:44 2019 +1100

epoll: loosen irq safety in ep_poll_callback()
> --
> 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-bug...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/syzkaller-bugs/000000000000d8bec0057eec0a92%40google.com.
> For more options, visit https://groups.google.com/d/optout.

syzbot

unread,
Jan 8, 2019, 1:21:04 AM1/8/19
to ak...@linux-foundation.org, dvy...@google.com, linux-...@vger.kernel.org, linux-...@vger.kernel.org, rpen...@suse.de, s...@canb.auug.org.au, syzkall...@googlegroups.com, vi...@zeniv.linux.org.uk
syzbot has found a reproducer for the following crash on:

HEAD commit: 139287cc2cc0 Add linux-next specific files for 20190108
git tree: linux-next
console output: https://syzkaller.appspot.com/x/log.txt?x=14c9dd4b400000
kernel config: https://syzkaller.appspot.com/x/.config?x=1521b074ff5a5bdf
dashboard link: https://syzkaller.appspot.com/bug?extid=aea82bf9ee6ffd9a79d9
compiler: gcc (GCC) 9.0.0 20181231 (experimental)
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=1776034b400000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=14c2e580c00000

IMPORTANT: if you fix the bug, please add the following tag to the commit:
Reported-by: syzbot+aea82b...@syzkaller.appspotmail.com

------------[ cut here ]------------
IRQs not disabled as expected
WARNING: CPU: 0 PID: 7862 at fs/eventpoll.c:1224
ep_poll_callback+0x77e/0x1450 fs/eventpoll.c:1224
Kernel panic - not syncing: panic_on_warn set ...
CPU: 0 PID: 7862 Comm: syz-executor245 Not tainted 5.0.0-rc1-next-20190108
#7
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+0x1db/0x2d0 lib/dump_stack.c:113
panic+0x2cb/0x65c kernel/panic.c:214
__warn.cold+0x20/0x48 kernel/panic.c:571
report_bug+0x263/0x2b0 lib/bug.c:186
fixup_bug arch/x86/kernel/traps.c:178 [inline]
fixup_bug arch/x86/kernel/traps.c:173 [inline]
do_error_trap+0x11b/0x200 arch/x86/kernel/traps.c:271
do_invalid_op+0x37/0x50 arch/x86/kernel/traps.c:290
invalid_op+0x14/0x20 arch/x86/entry/entry_64.S:973
RIP: 0010:ep_poll_callback+0x77e/0x1450 fs/eventpoll.c:1224
Code: ff 44 89 ee e8 63 84 98 ff 45 84 ed 0f 85 4a fa ff ff e8 15 83 98 ff
48 c7 c7 00 69 56 88 c6 05 a1 b2 6e 08 01 e8 52 c8 61 ff <0f> 0b e9 2b fa
ff ff e8 f6 82 98 ff 48 8d 7b 30 48 b8 00 00 00 00
RSP: 0018:ffff8880924ff6a0 EFLAGS: 00010282
RAX: 0000000000000000 RBX: ffff88809241f480 RCX: 0000000000000000
RDX: 0000000000000000 RSI: ffffffff816869f6 RDI: 0000000000000005
RBP: ffff8880924ff880 R08: ffff888099776640 R09: ffff888099776f30
R10: ffff888099776640 R11: 0000000000000000 R12: ffff8880924ff858
R13: 0000000000000000 R14: ffff88809241f4d0 R15: 0000000000000000
__wake_up_common+0x1d3/0x7d0 kernel/sched/wait.c:92
__wake_up_locked+0x11/0x20 kernel/sched/wait.c:154
fuse_abort_conn+0xd01/0x1200 fs/fuse/dev.c:2212
fuse_sb_destroy+0xd3/0x1d0 fs/fuse/inode.c:1245
fuse_kill_sb_anon+0x16/0x30 fs/fuse/inode.c:1256
deactivate_locked_super+0x9a/0x100 fs/super.c:331
deactivate_super fs/super.c:362 [inline]
deactivate_super+0x2ab/0x320 fs/super.c:358
cleanup_mnt+0xbf/0x160 fs/namespace.c:1140
__cleanup_mnt+0x16/0x20 fs/namespace.c:1147
task_work_run+0x1f4/0x2b0 kernel/task_work.c:113
tracehook_notify_resume include/linux/tracehook.h:188 [inline]
exit_to_usermode_loop+0x32a/0x3b0 arch/x86/entry/common.c:166
prepare_exit_to_usermode arch/x86/entry/common.c:197 [inline]
syscall_return_slowpath arch/x86/entry/common.c:268 [inline]
do_syscall_64+0x696/0x800 arch/x86/entry/common.c:293
entry_SYSCALL_64_after_hwframe+0x49/0xbe
RIP: 0033:0x440229
Code: 18 89 d0 c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 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 fb 13 fc ff c3 66 2e 0f 1f 84 00 00 00 00
RSP: 002b:00007fffbe5bdb08 EFLAGS: 00000217 ORIG_RAX: 00000000000000a6
RAX: 0000000000000000 RBX: 00000000004002c8 RCX: 0000000000440229
RDX: 0000000000440229 RSI: 0000000000000000 RDI: 0000000020000040
RBP: 00000000006ca018 R08: 00000000004002c8 R09: 00000000004002c8
R10: 00000000004002c8 R11: 0000000000000217 R12: 0000000000401ab0
R13: 0000000000401b40 R14: 0000000000000000 R15: 0000000000000000

Roman Penyaev

unread,
Jan 8, 2019, 5:05:09 AM1/8/19
to Dmitry Vyukov, Andrew Morton, Stephen Rothwell, linux-fsdevel, LKML, syzkaller-bugs, Al Viro
On 2019-01-08 07:00, Dmitry Vyukov wrote:
> On Tue, Jan 8, 2019 at 6:59 AM syzbot
> <syzbot+aea82b...@syzkaller.appspotmail.com> wrote:
>>
>> Hello,
>>
>> syzbot found the following crash on:
>>
>> HEAD commit: 139287cc2cc0 Add linux-next specific files for
>> 20190108
>> git tree: linux-next
>> console output:
>> https://syzkaller.appspot.com/x/log.txt?x=16f563d7400000
>> kernel config:
>> https://syzkaller.appspot.com/x/.config?x=1521b074ff5a5bdf
>> dashboard link:
>> https://syzkaller.appspot.com/bug?extid=aea82bf9ee6ffd9a79d9
>> compiler: gcc (GCC) 9.0.0 20181231 (experimental)
>>
>> Unfortunately, I don't have any reproducer for this crash yet.
>
> Looks like caused by:
>
> commit f92cacf118171208f62519d92502a8dd0341286d
> Author: Roman Penyaev
> Date: Tue Jan 8 12:15:44 2019 +1100
>
> epoll: loosen irq safety in ep_poll_callback()

Yes, that was my wrong assumption that all drivers disable irqs before
waking up a wait queue. Of course for drivers like fuse this is not
a case. Thanks for reporting.

The fix is simple: just remove wrong assert line :) The whole logic
stays correct: epoll always locks rwlock with irqs disabled and by
itself does not call from interrupt, thus it is up to driver how to
call wake_up_locked(), because if driver does not handle any interrupts
it is safe on its side to take a simple spin_lock.

Patch is sent:
https://lore.kernel.org/lkml/20190108100121....@suse.de

--
Roman

syzbot

unread,
Mar 11, 2019, 9:14:01 AM3/11/19
to ak...@linux-foundation.org, dbu...@suse.de, dvy...@google.com, jba...@akamai.com, linux-...@vger.kernel.org, linux-...@vger.kernel.org, pau...@linux.vnet.ibm.com, rpen...@suse.de, s...@canb.auug.org.au, syzkall...@googlegroups.com, vi...@zeniv.linux.org.uk
syzbot has bisected this bug to:

commit f92cacf118171208f62519d92502a8dd0341286d
Author: Roman Penyaev <rpen...@suse.de>
Date: Tue Jan 8 01:15:44 2019 +0000

epoll: loosen irq safety in ep_poll_callback()

bisection log: https://syzkaller.appspot.com/x/bisect.txt?x=107ae15f200000
start commit: f92cacf1 epoll: loosen irq safety in ep_poll_callback()
git tree: linux-next
final crash: https://syzkaller.appspot.com/x/report.txt?x=127ae15f200000
console output: https://syzkaller.appspot.com/x/log.txt?x=147ae15f200000
userspace arch: amd64
Reported-by: syzbot+aea82b...@syzkaller.appspotmail.com
Fixes: f92cacf1 ("epoll: loosen irq safety in ep_poll_callback()")

Roman Penyaev

unread,
Mar 11, 2019, 9:37:53 AM3/11/19
to ak...@linux-foundation.org, dbu...@suse.de, dvy...@google.com, jba...@akamai.com, linux-...@vger.kernel.org, linux-...@vger.kernel.org, pau...@linux.vnet.ibm.com, s...@canb.auug.org.au, syzkall...@googlegroups.com, vi...@zeniv.linux.org.uk
Hi Andrew,

I thought "epoll: loosen irq safety in ep_poll_callback()" patch was
removed from your tree, at least I got a notification on 9th of january,
also I do not see it in the linux-next tree.

Should I ignore this syzbot message?

--
Roman

Dmitry Vyukov

unread,
Mar 11, 2019, 9:45:58 AM3/11/19
to Roman Penyaev, Andrew Morton, dbu...@suse.de, Jason Baron, linux-fsdevel, LKML, Paul McKenney, Stephen Rothwell, syzkaller-bugs, Al Viro
On Mon, Mar 11, 2019 at 2:37 PM Roman Penyaev <rpen...@suse.de> wrote:
>
> Hi Andrew,
>
> I thought "epoll: loosen irq safety in ep_poll_callback()" patch was
> removed from your tree, at least I got a notification on 9th of january,
> also I do not see it in the linux-next tree.
>
> Should I ignore this syzbot message?

If this was resolved we need to communicate it to syzbot one way or the other.
Since it was in linux-next, it won't even be able to do fix bisection.
So the bug will be open forever otherwise.

Roman Penyaev

unread,
Mar 11, 2019, 9:53:16 AM3/11/19
to Dmitry Vyukov, Andrew Morton, dbu...@suse.de, Jason Baron, linux-fsdevel, LKML, Paul McKenney, Stephen Rothwell, syzkaller-bugs, Al Viro
On 2019-03-11 14:45, Dmitry Vyukov wrote:
> On Mon, Mar 11, 2019 at 2:37 PM Roman Penyaev <rpen...@suse.de> wrote:
>>
>> Hi Andrew,
>>
>> I thought "epoll: loosen irq safety in ep_poll_callback()" patch was
>> removed from your tree, at least I got a notification on 9th of
>> january,
>> also I do not see it in the linux-next tree.
>>
>> Should I ignore this syzbot message?
>
> If this was resolved we need to communicate it to syzbot one way or the
> other.
> Since it was in linux-next, it won't even be able to do fix bisection.
> So the bug will be open forever otherwise.

Bug was fixed (commit was simply dropped). How can I tell syzbot to
shut up
and to resolve the issue?

--
Roman

Dmitry Vyukov

unread,
Mar 11, 2019, 12:36:24 PM3/11/19
to Roman Penyaev, Andrew Morton, dbu...@suse.de, Jason Baron, linux-fsdevel, LKML, Paul McKenney, Stephen Rothwell, syzkaller-bugs, Al Viro
Hi Roman,

The docs are at:

> See https://goo.gl/tpsmEJ for more information about syzbot.

There is no official support for bugs fixed not by commit merges.
Linux-next creates various interesting corner-cases for the process.
Let's go with this option for now:

#syz invalid

syzbot

unread,
Mar 11, 2019, 12:36:26 PM3/11/19
to 'Dmitry Vyukov' via syzkaller-bugs, ak...@linux-foundation.org, dbu...@suse.de, jba...@akamai.com, linux-...@vger.kernel.org, linux-...@vger.kernel.org, pau...@linux.vnet.ibm.com, rpen...@suse.de, s...@canb.auug.org.au, syzkall...@googlegroups.com, vi...@zeniv.linux.org.uk
I see the command but can't find the corresponding bug.
Please resend the email to syzbo...@syzkaller.appspotmail.com address
that is the sender of the bug report (also present in the Reported-by tag).


> --
> 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-bug...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/syzkaller-bugs/CACT4Y%2BYLZYJ21Bao5HVAvXhvb9PQ41J-4RvtkZZEMF38qtkxHg%40mail.gmail.com.

Dmitry Vyukov

unread,
Mar 11, 2019, 12:38:06 PM3/11/19
to syzbot, Roman Penyaev, 'Dmitry Vyukov' via syzkaller-bugs, Andrew Morton, dbu...@suse.de, Jason Baron, linux-fsdevel, LKML, Paul McKenney, Stephen Rothwell, Al Viro
+syzbot email

Please don't drop bug reporter email from CC.

Roman Penyaev

unread,
Mar 11, 2019, 1:22:16 PM3/11/19
to Dmitry Vyukov, syzbot, 'Dmitry Vyukov' via syzkaller-bugs, Andrew Morton, dbu...@suse.de, Jason Baron, linux-fsdevel, LKML, Paul McKenney, Stephen Rothwell, Al Viro
On 2019-03-11 17:37, Dmitry Vyukov wrote:
> On Mon, Mar 11, 2019 at 5:36 PM syzbot
> <syz...@syzkaller.appspotmail.com> wrote:
>>
>> > On Mon, Mar 11, 2019 at 2:53 PM Roman Penyaev <rpen...@suse.de> wrote:
>>
>> >> On 2019-03-11 14:45, Dmitry Vyukov wrote:
>> >> > On Mon, Mar 11, 2019 at 2:37 PM Roman Penyaev <rpen...@suse.de> wrote:
>> >> >>
>> >> >> Hi Andrew,
>> >> >>
>> >> >> I thought "epoll: loosen irq safety in ep_poll_callback()" patch was
>> >> >> removed from your tree, at least I got a notification on 9th of
>> >> >> january,
>> >> >> also I do not see it in the linux-next tree.
>> >> >>
>> >> >> Should I ignore this syzbot message?
>> >> >
>> >> > If this was resolved we need to communicate it to syzbot one way or the
>> >> > other.
>> >> > Since it was in linux-next, it won't even be able to do fix bisection.
>> >> > So the bug will be open forever otherwise.
>>
>> >> Bug was fixed (commit was simply dropped). How can I tell syzbot to
>> >> shut up
>> >> and to resolve the issue?
>>
>> > Hi Roman,
>>
>> > The docs are at:
>>
>> >> See https://goo.gl/tpsmEJ for more information about syzbot.

Thanks! Will read.

>>
>> > There is no official support for bugs fixed not by commit merges.
>> > Linux-next creates various interesting corner-cases for the process.
>> > Let's go with this option for now:
>>
>> > #syz invalid
>>
>> I see the command but can't find the corresponding bug.
>> Please resend the email to syzbo...@syzkaller.appspotmail.com
>> address
>> that is the sender of the bug report (also present in the Reported-by
>> tag).
>
> +syzbot email
>
> Please don't drop bug reporter email from CC.

Did not know. Thanks for your help!

--
Roman



Eric Biggers

unread,
Jun 23, 2019, 2:46:50 AM6/23/19
to syzbot, syzkaller-bugs
#syz invalid
Reply all
Reply to author
Forward
0 new messages