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

From: syzbot <[email-masked]>
Date: Mon, 18 Dec 2017 02:36: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.

INFO: trying to register non-static key.
the code is fine but needs lockdep annotation.
turning off the locking correctness validator.
CPU: 1 PID: 0 Comm: swapper/1 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_read_lock include/linux/rwlock_api_smp.h:149 [inline]
  _raw_read_lock+0x2d/0x40 kernel/locking/spinlock.c:216
  xfrm_policy_timer+0x31/0x330 net/xfrm/xfrm_policy.c:190
  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:native_safe_halt+0x6/0x10 arch/x86/include/asm/irqflags.h:54
RSP: 0018:ffffc90000cc7e98 EFLAGS: 00000286 ORIG_RAX: ffffffffffffff11
RAX: ffff8802169b2300 RBX: 0000000000000001 RCX: 0000000000000000
RDX: ffff8802169b2300 RSI: 0000000000000001 RDI: ffff8802169b2300
RBP: ffffc90000cc7e98 R08: 0000000000000001 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000001
R13: ffffffff8304f960 R14: 0000000000000000 R15: 0000000000000000
  arch_safe_halt arch/x86/include/asm/paravirt.h:93 [inline]
  default_idle+0x2e/0x1a0 arch/x86/kernel/process.c:354
  arch_cpu_idle+0xa/0x10 arch/x86/kernel/process.c:345
  default_idle_call+0x1e/0x40 kernel/sched/idle.c:98
  cpuidle_idle_call kernel/sched/idle.c:156 [inline]
  do_idle+0x17e/0x220 kernel/sched/idle.c:246
  cpu_startup_entry+0x18/0x20 kernel/sched/idle.c:351
  start_secondary+0x139/0x180 arch/x86/kernel/smpboot.c:276
  secondary_startup_64+0xa5/0xb0 arch/x86/kernel/head_64.S:237
BUG: unable to handle kernel paging request at 0000000000001458
IP: __read_once_size include/linux/compiler.h:183 [inline]
IP: xfrm_nlmsg_multicast net/xfrm/xfrm_user.c:1027 [inline]
IP: xfrm_exp_policy_notify net/xfrm/xfrm_user.c:2993 [inline]
IP: xfrm_send_policy_notify+0x2a5/0x7a0 net/xfrm/xfrm_user.c:3102
PGD 1e53e5067 P4D 1e53e5067 PUD 1e3d42067 PMD 0
Oops: 0000 [#1] SMP
Dumping ftrace buffer:
    (ftrace buffer empty)
Modules linked in:
CPU: 1 PID: 0 Comm: swapper/1 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:__read_once_size include/linux/compiler.h:183 [inline]
RIP: 0010:xfrm_nlmsg_multicast net/xfrm/xfrm_user.c:1027 [inline]
RIP: 0010:xfrm_exp_policy_notify net/xfrm/xfrm_user.c:2993 [inline]
RIP: 0010:xfrm_send_policy_notify+0x2a5/0x7a0 net/xfrm/xfrm_user.c:3102
RSP: 0018:ffff88021fd03d30 EFLAGS: 00010206
RAX: ffff8802169b2300 RBX: ffff880216a62400 RCX: ffffffff82235315
RDX: 0000000000000100 RSI: ffff8801e2613810 RDI: ffff8801e26138b8
RBP: ffff88021fd03d78 R08: 00000000000000b0 R09: ffff8801e26138c0
R10: ffff88021fd03d10 R11: 0000000000000000 R12: ffff8801e2613800
R13: ffff8801e2512000 R14: 0000000000000000 R15: 0000000000000000
FS:  0000000000000000(0000) GS:ffff88021fd00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000000001458 CR3: 00000001e68f8000 CR4: 00000000001406e0
DR0: 0000000020000000 DR1: 0000000020000000 DR2: 0000000000000004
DR3: 4000000000000007 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
  <IRQ>
  km_policy_notify+0x97/0x180 net/xfrm/xfrm_state.c:1907
  km_policy_expired+0x3e/0x50 net/xfrm/xfrm_state.c:1979
  xfrm_policy_timer+0x2cd/0x330 net/xfrm/xfrm_policy.c:235
  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:native_safe_halt+0x6/0x10 arch/x86/include/asm/irqflags.h:54
RSP: 0018:ffffc90000cc7e98 EFLAGS: 00000286 ORIG_RAX: ffffffffffffff11
RAX: ffff8802169b2300 RBX: 0000000000000001 RCX: 0000000000000000
RDX: ffff8802169b2300 RSI: 0000000000000001 RDI: ffff8802169b2300
RBP: ffffc90000cc7e98 R08: 0000000000000001 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000001
R13: ffffffff8304f960 R14: 0000000000000000 R15: 0000000000000000
  arch_safe_halt arch/x86/include/asm/paravirt.h:93 [inline]
  default_idle+0x2e/0x1a0 arch/x86/kernel/process.c:354
  arch_cpu_idle+0xa/0x10 arch/x86/kernel/process.c:345
  default_idle_call+0x1e/0x40 kernel/sched/idle.c:98
  cpuidle_idle_call kernel/sched/idle.c:156 [inline]
  do_idle+0x17e/0x220 kernel/sched/idle.c:246
  cpu_startup_entry+0x18/0x20 kernel/sched/idle.c:351
  start_secondary+0x139/0x180 arch/x86/kernel/smpboot.c:276
  secondary_startup_64+0xa5/0xb0 arch/x86/kernel/head_64.S:237
Code: 50 08 ff 8b 45 d0 85 c0 41 0f 95 84 24 b8 00 00 00 41 8b 85 c0 00 00  
00 49 03 85 c8 00 00 00 4c 29 e0 41 89 04 24 e8 2b 50 08 ff <49> 8b 9f 58  
14 00 00 e8 9f 80 01 ff 85 c0 74 12 e8 16 50 08 ff
RIP: __read_once_size include/linux/compiler.h:183 [inline] RSP:  
ffff88021fd03d30
RIP: xfrm_nlmsg_multicast net/xfrm/xfrm_user.c:1027 [inline] RSP:  
ffff88021fd03d30
RIP: xfrm_exp_policy_notify net/xfrm/xfrm_user.c:2993 [inline] RSP:  
ffff88021fd03d30
RIP: xfrm_send_policy_notify+0x2a5/0x7a0 net/xfrm/xfrm_user.c:3102 RSP:  
ffff88021fd03d30
CR2: 0000000000001458
---[ end trace f04f07a368110ced ]---

---
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.