Subject: INFO: trying to register non-static key in neigh_timer_handler

From: syzbot <[email-masked]>
Date: Thu, 21 Dec 2017 06:50:01 -0800

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.

QAT: Invalid ioctl
INFO: trying to register non-static key.
the code is fine but needs lockdep annotation.
turning off the locking correctness validator.
CPU: 1 PID: 19854 Comm: syz-executor4 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
  register_lock_class+0x164/0x5d0 kernel/locking/lockdep.c:752
  __lock_acquire+0xb4/0x1430 kernel/locking/lockdep.c:3314
  lock_acquire+0xbf/0x220 kernel/locking/lockdep.c:3914
  __raw_write_lock include/linux/rwlock_api_smp.h:210 [inline]
  _raw_write_lock+0x2a/0x40 kernel/locking/spinlock.c:288
  neigh_timer_handler+0x2d/0x3e0 net/core/neighbour.c:913
  call_timer_fn+0x9f/0x3f0 kernel/time/timer.c:1320
  expire_timers kernel/time/timer.c:1357 [inline]
  __run_timers kernel/time/timer.c:1660 [inline]
  run_timer_softirq+0x68a/0x830 kernel/time/timer.c:1686
  __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:arch_local_irq_restore arch/x86/include/asm/paravirt.h:777  
[inline]
RIP: 0010:seqcount_lockdep_reader_access include/linux/seqlock.h:83 [inline]
RIP: 0010:read_seqcount_begin include/linux/seqlock.h:164 [inline]
RIP: 0010:current_kernel_time64+0xb9/0x180 kernel/time/timekeeping.c:2197
RSP: 0018:ffffc900013afab0 EFLAGS: 00000293 ORIG_RAX: ffffffffffffff11
RAX: ffff88020d2a6700 RBX: 0000000000000293 RCX: ffffffff812617d4
RDX: 0000000000000000 RSI: ffff88020d2a6f70 RDI: 0000000000000293
RBP: ffffc900013afae8 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000000 R12: ffffffff83fad048
R13: ffffffff8304f960 R14: ffff880213d93460 R15: ffffffff83fc37b4
  current_kernel_time include/linux/timekeeping32.h:17 [inline]
  current_time+0x18/0x70 fs/inode.c:2117
  simple_unlink+0x23/0x60 fs/libfs.c:335
  __debugfs_remove_file fs/debugfs/inode.c:625 [inline]
  __debugfs_remove.part.10+0xba/0x100 fs/debugfs/inode.c:656
  __debugfs_remove include/linux/dcache.h:492 [inline]
  debugfs_remove_recursive+0xef/0x230 fs/debugfs/inode.c:738
  kvm_destroy_vm_debugfs arch/x86/kvm/../../../virt/kvm/kvm_main.c:561  
[inline]
  kvm_destroy_vm arch/x86/kvm/../../../virt/kvm/kvm_main.c:715 [inline]
  kvm_put_kvm+0x8c/0x4a0 arch/x86/kvm/../../../virt/kvm/kvm_main.c:755
  kvm_vm_release+0x24/0x30 arch/x86/kvm/../../../virt/kvm/kvm_main.c:766
  __fput+0x120/0x270 fs/file_table.c:209
  ____fput+0x15/0x20 fs/file_table.c:243
  task_work_run+0xa3/0xe0 kernel/task_work.c:113
  exit_task_work include/linux/task_work.h:22 [inline]
  do_exit+0x3e6/0x1050 kernel/exit.c:869
  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:00007f4950ef7ce8 EFLAGS: 00000246 ORIG_RAX: 00000000000000ca
RAX: fffffffffffffe00 RBX: 000000000071bf80 RCX: 0000000000452a09
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 000000000071bf80
RBP: 000000000071bf80 R08: 000000000000059d R09: 000000000071bf58
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 0000000000a2f7ff R14: 00007f4950ef89c0 R15: 0000000000000002
BUG: unable to handle kernel NULL pointer dereference at 000000000000006c
IP: neigh_timer_handler+0x250/0x3e0 net/core/neighbour.c:962
PGD 0 P4D 0
Oops: 0000 [#1] SMP
Dumping ftrace buffer:
    (ftrace buffer empty)
Modules linked in:
CPU: 1 PID: 19854 Comm: syz-executor4 Not tainted 4.15.0-rc3-next-20171214+  
#67
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS  
Google 01/01/2011
RIP: 0010:neigh_timer_handler+0x250/0x3e0 net/core/neighbour.c:962
RSP: 0018:ffff88021fd03e08 EFLAGS: 00010206
RAX: ffff88020d2a6700 RBX: ffff8802152c44c0 RCX: ffffffff820e6070
RDX: 0000000000000100 RSI: 0000000000000001 RDI: ffff8802152c4428
RBP: ffff88021fd03e48 R08: 0000000000000000 R09: ffffffff820e5e4d
R10: ffff88021fd03d78 R11: 0000000000000000 R12: ffff8802152c4400
R13: 0000000000000001 R14: ffff8802152c4428 R15: 0000000000000000
FS:  00007f4950ef8700(0000) GS:ffff88021fd00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000000000000006c CR3: 000000000301e003 CR4: 00000000001626e0
DR0: 0000000020001000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000600
Call Trace:
  <IRQ>
  call_timer_fn+0x9f/0x3f0 kernel/time/timer.c:1320
  expire_timers kernel/time/timer.c:1357 [inline]
  __run_timers kernel/time/timer.c:1660 [inline]
  run_timer_softirq+0x68a/0x830 kernel/time/timer.c:1686
  __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:arch_local_irq_restore arch/x86/include/asm/paravirt.h:777  
[inline]
RIP: 0010:seqcount_lockdep_reader_access include/linux/seqlock.h:83 [inline]
RIP: 0010:read_seqcount_begin include/linux/seqlock.h:164 [inline]
RIP: 0010:current_kernel_time64+0xb9/0x180 kernel/time/timekeeping.c:2197
RSP: 0018:ffffc900013afab0 EFLAGS: 00000293 ORIG_RAX: ffffffffffffff11
RAX: ffff88020d2a6700 RBX: 0000000000000293 RCX: ffffffff812617d4
RDX: 0000000000000000 RSI: ffff88020d2a6f70 RDI: 0000000000000293
RBP: ffffc900013afae8 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000000 R12: ffffffff83fad048
R13: ffffffff8304f960 R14: ffff880213d93460 R15: ffffffff83fc37b4
  current_kernel_time include/linux/timekeeping32.h:17 [inline]
  current_time+0x18/0x70 fs/inode.c:2117
  simple_unlink+0x23/0x60 fs/libfs.c:335
  __debugfs_remove_file fs/debugfs/inode.c:625 [inline]
  __debugfs_remove.part.10+0xba/0x100 fs/debugfs/inode.c:656
  __debugfs_remove include/linux/dcache.h:492 [inline]
  debugfs_remove_recursive+0xef/0x230 fs/debugfs/inode.c:738
  kvm_destroy_vm_debugfs arch/x86/kvm/../../../virt/kvm/kvm_main.c:561  
[inline]
  kvm_destroy_vm arch/x86/kvm/../../../virt/kvm/kvm_main.c:715 [inline]
  kvm_put_kvm+0x8c/0x4a0 arch/x86/kvm/../../../virt/kvm/kvm_main.c:755
  kvm_vm_release+0x24/0x30 arch/x86/kvm/../../../virt/kvm/kvm_main.c:766
  __fput+0x120/0x270 fs/file_table.c:209
  ____fput+0x15/0x20 fs/file_table.c:243
  task_work_run+0xa3/0xe0 kernel/task_work.c:113
  exit_task_work include/linux/task_work.h:22 [inline]
  do_exit+0x3e6/0x1050 kernel/exit.c:869
  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:00007f4950ef7ce8 EFLAGS: 00000246 ORIG_RAX: 00000000000000ca
RAX: fffffffffffffe00 RBX: 000000000071bf80 RCX: 0000000000452a09
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 000000000071bf80
RBP: 000000000071bf80 R08: 000000000000059d R09: 000000000071bf58
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 0000000000a2f7ff R14: 00007f4950ef89c0 R15: 0000000000000002
Code: ff 84 c0 74 0d e8 f1 42 1d ff 4c 89 e7 e8 79 c6 ff ff e8 e4 42 1d ff  
48 83 c4 18 5b 41 5c 41 5d 41 5e 41 5f 5d c3 e8 d0 42 1d ff <49> 63 47 6c  
48 03 45 d0 48 89 45 c8 e8 bf 42 1d ff 41 f6 c5 11
RIP: neigh_timer_handler+0x250/0x3e0 net/core/neighbour.c:962 RSP:  
ffff88021fd03e08
CR2: 000000000000006c
---[ end trace 9664def55c26e78d ]---

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

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.