• Borislav Petkov's avatar
    x86/microcode/intel: Fix printing of microcode blobs in show_saved_mc() · a858b5e5
    Borislav Petkov authored
    When doing
    
      echo 1 > /sys/devices/system/cpu/microcode/reload
    
    in order to reload microcode, I get:
    
      microcode: Total microcode saved: 1
      BUG: using smp_processor_id() in preemptible [00000000] code: bash/2606
      caller is debug_smp_processor_id+0x17/0x20
      CPU: 1 PID: 2606 Comm: bash Not tainted 3.19.0-rc7+ #9
      Hardware name: LENOVO 2320CTO/2320CTO, BIOS G2ET86WW (2.06 ) 11/13/2012
       ffffffff81a4266d ffff8802131db808 ffffffff81666588 0000000000000007
       0000000000000001 ffff8802131db838 ffffffff812e6eef ffff8802131db868
       00000000000306a9 0000000000000010 0000000000000015 ffff8802131db848
      Call Trace:
       dump_stack
       check_preemption_disabled
       debug_smp_processor_id
       show_saved_mc
       ? save_microcode.constprop.8
       save_mc_for_early
       ? print_context_stack
       ? dump_trace
       ? __bfs
       ? mark_held_locks
       ? get_page_from_freelist
       ? trace_hardirqs_on_caller
       ? trace_hardirqs_on
       ? __alloc_pages_nodemask
       ? __get_vm_area_node
       ? map_vm_area
       ? __vmalloc_node_range
       ? generic_load_microcode
       generic_load_microcode
       ? microcode_fini_cpu
       request_microcode_fw
       reload_store
       dev_attr_store
       sysfs_kf_write
       kernfs_fop_write
       vfs_write
       ? sysret_check
       SyS_write
       system_call_fastpath
      microcode: CPU1: sig=0x306a9, pf=0x10, rev=0x15
      microcode: mc_saved[0]: sig=0x306a9, pf=0x12, rev=0x1b, toal size=0x3000, date = 2014-05-29
    
    because we're using smp_processor_id() in preemtible context. And we
    don't really need to use it there because the microcode container we're
    dumping is global and CPU-specific info is irrelevant.
    
    While at it, make pr_* stuff use "microcode: " prefix for easier
    grepping and document how to enable the DEBUG build.
    Signed-off-by: default avatarBorislav Petkov <bp@suse.de>
    a858b5e5
intel_early.c 18.5 KB