Skip to content
  • Borislav Petkov's avatar
    locking/static_keys: Improve uninitialized key warning · 5cdda511
    Borislav Petkov authored and Ingo Molnar's avatar Ingo Molnar committed
    Right now it says:
    
      static_key_disable_cpuslocked used before call to jump_label_init
      ------------[ cut here ]------------
      WARNING: CPU: 0 PID: 0 at kernel/jump_label.c:161 static_key_disable_cpuslocked+0x68/0x70
      Modules linked in:
      CPU: 0 PID: 0 Comm: swapper Not tainted 4.14.0-rc5+ #1
    
    
      Hardware name: SGI.COM C2112-4GP3/X10DRT-P-Series, BIOS 2.0a 05/09/2016
      task: ffffffff81c0e480 task.stack: ffffffff81c00000
      RIP: 0010:static_key_disable_cpuslocked+0x68/0x70
      RSP: 0000:ffffffff81c03ef0 EFLAGS: 00010096 ORIG_RAX: 0000000000000000
      RAX: 0000000000000041 RBX: ffffffff81c32680 RCX: ffffffff81c5cbf8
      RDX: 0000000000000001 RSI: 0000000000000092 RDI: 0000000000000002
      RBP: ffff88807fffd240 R08: 726f666562206465 R09: 0000000000000136
      R10: 0000000000000000 R11: 696e695f6c656261 R12: ffffffff82158900
      R13: ffffffff8215f760 R14: 0000000000000001 R15: 0000000000000008
      FS:  0000000000000000(0000) GS:ffff883f7f400000(0000) knlGS:0000000000000000
      CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      CR2: ffff88807ffff000 CR3: 0000000001c09000 CR4: 00000000000606b0
      Call Trace:
       static_key_disable+0x16/0x20
       start_kernel+0x15a/0x45d
       ? load_ucode_intel_bsp+0x11/0x2d
       secondary_startup_64+0xa5/0xb0
      Code: 48 c7 c7 a0 15 cf 81 e9 47 53 4b 00 48 89 df e8 5f fc ff ff eb e8 48 c7 c6 \
    	c0 97 83 81 48 c7 c7 d0 ff a2 81 31 c0 e8 c5 9d f5 ff <0f> ff eb a7 0f ff eb \
    	b0 e8 eb a2 4b 00 53 48 89 fb e8 42 0e f0
    
    but it doesn't tell me which key it is. So dump the key's name too:
    
      static_key_disable_cpuslocked(): static key 'virt_spin_lock_key' used before call to jump_label_init()
    
    And that makes pinpointing which key is causing that a lot easier.
    
     include/linux/jump_label.h           |   14 +++++++-------
     include/linux/jump_label_ratelimit.h |    6 +++---
     kernel/jump_label.c                  |   14 +++++++-------
     3 files changed, 17 insertions(+), 17 deletions(-)
    
    Signed-off-by: default avatarBorislav Petkov <bp@suse.de>
    Reviewed-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
    Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
    Cc: Hannes Frederic Sowa <hannes@stressinduktion.org>
    Cc: Jason Baron <jbaron@akamai.com>
    Cc: Juergen Gross <jgross@suse.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Paolo Bonzini <pbonzini@redhat.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Link: http://lkml.kernel.org/r/20171018152428.ffjgak4o25f7ept6@pd.tnic
    
    
    Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
    5cdda511