WARNING in rcu_process_callbacks

65 views
Skip to first unread message

syzbot

unread,
Dec 23, 2017, 6:01:03 AM12/23/17
to douly...@cn.fujitsu.com, h...@zytor.com, jgr...@suse.com, linux-...@vger.kernel.org, mi...@redhat.com, pet...@infradead.org, ros...@goodmis.org, syzkall...@googlegroups.com, tg...@linutronix.de, x...@kernel.org
Hello,

syzkaller hit the following crash on
6084b576dca2e898f5c101baef151f7bfdbb606d
git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/master
compiler: gcc (GCC) 7.1.1 20170620
.config is attached
Raw console output is attached.

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


RBP: 00007f50826f4a90 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000212 R12: 00000000004b75bb
R13: 00007f50826f4bc8 R14: 00000000004b75bb R15: 0000000000000000
WARNING: CPU: 0 PID: 7719 at kernel/rcu/tree.c:2714 arch_local_irq_disable
arch/x86/include/asm/paravirt.h:772 [inline]
WARNING: CPU: 0 PID: 7719 at kernel/rcu/tree.c:2714 arch_local_irq_save
arch/x86/include/asm/paravirt.h:795 [inline]
WARNING: CPU: 0 PID: 7719 at kernel/rcu/tree.c:2714 rcu_do_batch
kernel/rcu/tree.c:2687 [inline]
WARNING: CPU: 0 PID: 7719 at kernel/rcu/tree.c:2714 invoke_rcu_callbacks
kernel/rcu/tree.c:2934 [inline]
WARNING: CPU: 0 PID: 7719 at kernel/rcu/tree.c:2714 __rcu_process_callbacks
kernel/rcu/tree.c:2901 [inline]
WARNING: CPU: 0 PID: 7719 at kernel/rcu/tree.c:2714
rcu_process_callbacks+0x7d0/0x7e0 kernel/rcu/tree.c:2918
Kernel panic - not syncing: panic_on_warn set ...

CPU: 0 PID: 7719 Comm: syz-executor7 Not tainted 4.15.0-rc3-next-20171214+
#67
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS
Google 01/01/2011
Call Trace:
<IRQ>
__dump_stack lib/dump_stack.c:17 [inline]
dump_stack+0xe9/0x14b lib/dump_stack.c:53
panic+0x10e/0x2f8 kernel/panic.c:183
__warn+0x14e/0x150 kernel/panic.c:547
report_bug+0x11e/0x1a0 lib/bug.c:184
fixup_bug.part.11+0x17/0x30 arch/x86/kernel/traps.c:177
fixup_bug arch/x86/kernel/traps.c:246 [inline]
do_error_trap+0x14a/0x180 arch/x86/kernel/traps.c:295
do_invalid_op+0x1b/0x20 arch/x86/kernel/traps.c:314
invalid_op+0x22/0x40 arch/x86/entry/entry_64.S:1079
RIP: 0010:arch_local_irq_disable arch/x86/include/asm/paravirt.h:772
[inline]
RIP: 0010:arch_local_irq_save arch/x86/include/asm/paravirt.h:795 [inline]
RIP: 0010:rcu_do_batch kernel/rcu/tree.c:2687 [inline]
RIP: 0010:invoke_rcu_callbacks kernel/rcu/tree.c:2934 [inline]
RIP: 0010:__rcu_process_callbacks kernel/rcu/tree.c:2901 [inline]
RIP: 0010:rcu_process_callbacks+0x7d0/0x7e0 kernel/rcu/tree.c:2918
RSP: 0018:ffff88021fc03ef0 EFLAGS: 00010002
RAX: 0000000000000000 RBX: ffff88021fc24780 RCX: 7fffffffffffffff
RDX: ffffffffffffd801 RSI: ffff88021fc03f00 RDI: ffff88021fc247b8
RBP: ffff88021fc03f48 R08: 0000000000000001 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000000 R12: ffffffff83081e00
R13: ffff88021fc247b8 R14: fffffffffffffffb R15: ffffffff8304f960
__do_softirq+0xcb/0x4f3 kernel/softirq.c:285
invoke_softirq kernel/softirq.c:365 [inline]
irq_exit+0xd4/0xe0 kernel/softirq.c:405
exiting_irq arch/x86/include/asm/apic.h:540 [inline]
smp_apic_timer_interrupt+0x8e/0x2a0 arch/x86/kernel/apic/apic.c:1052
apic_timer_interrupt+0xa9/0xb0 arch/x86/entry/entry_64.S:920
</IRQ>
RIP: 0010:get_current arch/x86/include/asm/current.h:15 [inline]
RIP: 0010:__sanitizer_cov_trace_pc+0xa/0x50 kernel/kcov.c:100
RSP: 0018:ffffc90009667a70 EFLAGS: 00000246 ORIG_RAX: ffffffffffffff11
RAX: ffff88020f6d46c0 RBX: 00000000002004a6 RCX: ffffffff81396b5a
RDX: 0000000000000000 RSI: 00007f1acc014000 RDI: 80000002004a6007
RBP: ffffc90009667aa8 R08: 0000000000000000 R09: 0000000000000002
R10: ffffc900096679d8 R11: 0000000000000002 R12: 80000002004a6007
R13: ffff8801fcc25898 R14: 00007f1acc014000 R15: 0000000000000001
zap_pte_range mm/memory.c:1310 [inline]
zap_pmd_range mm/memory.c:1441 [inline]
zap_pud_range mm/memory.c:1470 [inline]
zap_p4d_range mm/memory.c:1491 [inline]
unmap_page_range+0x744/0xed0 mm/memory.c:1512
unmap_single_vma+0xbb/0x140 mm/memory.c:1557
unmap_vmas+0x65/0xd0 mm/memory.c:1587
exit_mmap+0xb0/0x1e0 mm/mmap.c:3020
__mmput kernel/fork.c:966 [inline]
mmput+0x82/0x190 kernel/fork.c:987
exit_mm kernel/exit.c:544 [inline]
do_exit+0x356/0x1050 kernel/exit.c:856
do_group_exit+0x60/0x100 kernel/exit.c:972
get_signal+0x36c/0xad0 kernel/signal.c:2337
do_signal+0x23/0x670 arch/x86/kernel/signal.c:809
exit_to_usermode_loop+0x13c/0x160 arch/x86/entry/common.c:161
prepare_exit_to_usermode arch/x86/entry/common.c:195 [inline]
syscall_return_slowpath+0x1b4/0x1e0 arch/x86/entry/common.c:264
entry_SYSCALL_64_fastpath+0x94/0x96
RIP: 0033:0x452a09
RSP: 002b:00007f1acb8f8ce8 EFLAGS: 00000246 ORIG_RAX: 00000000000000ca
RAX: fffffffffffffe00 RBX: 000000000071bec8 RCX: 0000000000452a09
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 000000000071bec8
RBP: 000000000071bec8 R08: 000000000000045c R09: 000000000071bea0
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 0000000000a2f7ff R14: 00007f1acb8f99c0 R15: 0000000000000000
Dumping ftrace buffer:
(ftrace buffer empty)
Kernel Offset: disabled


---
This bug is generated by a dumb bot. It may contain errors.
See https://goo.gl/tpsmEJ for details.
Direct all questions to syzk...@googlegroups.com.
Please credit me with: Reported-by: syzbot <syzk...@googlegroups.com>

syzbot will keep track of this bug report.
Once a fix for this bug is merged into any tree, reply to this email with:
#syz fix: exact-commit-title
To mark this as a duplicate of another syzbot report, please reply with:
#syz dup: exact-subject-of-another-report
If it's a one-off invalid bug report, please reply with:
#syz invalid
Note: if the crash happens again, it will cause creation of a new bug
report.
Note: all commands must start from beginning of the line in the email body.
config.txt
raw.log

Thomas Gleixner

unread,
Dec 23, 2017, 2:37:43 PM12/23/17
to syzbot, douly...@cn.fujitsu.com, h...@zytor.com, jgr...@suse.com, linux-...@vger.kernel.org, mi...@redhat.com, pet...@infradead.org, ros...@goodmis.org, syzkall...@googlegroups.com, x...@kernel.org
On Sat, 23 Dec 2017, syzbot wrote:
> Hello,
>
> syzkaller hit the following crash on 6084b576dca2e898f5c101baef151f7bfdbb606d
> git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/master
> compiler: gcc (GCC) 7.1.1 20170620
> .config is attached
> Raw console output is attached.
>
> Unfortunately, I don't have any reproducer for this bug yet.
>
>
> RBP: 00007f50826f4a90 R08: 0000000000000000 R09: 0000000000000000
> R10: 0000000000000000 R11: 0000000000000212 R12: 00000000004b75bb
> R13: 00007f50826f4bc8 R14: 00000000004b75bb R15: 0000000000000000
> WARNING: CPU: 0 PID: 7719 at kernel/rcu/tree.c:2714 arch_local_irq_disable
> arch/x86/include/asm/paravirt.h:772 [inline]

So the only thing which triggers a BUG in that code is the paravirt stuff

#define PVOP_TEST_NULL(op) BUG_ON(op == NULL)

Your config has PARAVIRT_DEBUG=y

So this is again something which got executed before a gazillion of times
and then something becomes NULL. In this case it's pv_irq_ops.irq_disable

I've seen such unexplainable NULL pointers in quite some sysbot bug reports
lately. The irq_desc->irq_data.common issue is more or less the same
problem. This really stinks like a stray pointer.

Thanks,

tglx


Dmitry Vyukov

unread,
Feb 13, 2018, 3:03:29 PM2/13/18
to syzbot, syzkall...@googlegroups.com
old bug bankruptcy

#syz invalid

On Sat, Dec 23, 2017 at 12:01 PM, syzbot
<bot+d85a4a76747ecb51a0...@syzkaller.appspotmail.com>
wrote:
> --
> 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/94eb2c03c9bc3e1f310560ffd911%40google.com.
> For more options, visit https://groups.google.com/d/optout.
Reply all
Reply to author
Forward
0 new messages