[PATCH 10/11] kexec_file: Allow archs to set purgatory load address

kbuild test robot lkp at intel.com
Wed Feb 28 07:50:44 PST 2018


Hi Philipp,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on linus/master]
[also build test WARNING on v4.16-rc3 next-20180228]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Philipp-Rudo/kexec_file-Clean-up-purgatory-load/20180228-223538
config: x86_64-randconfig-x015-201808 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All warnings (new ones prefixed by >>):

   In file included from arch/x86/kernel/traps.c:30:0:
>> include/linux/kexec.h:237:62: warning: 'struct kexec_buf' declared inside parameter list will not be visible outside of this definition or declaration
    extern int kexec_load_purgatory(struct kimage *image, struct kexec_buf *kbuf);
                                                                 ^~~~~~~~~
   include/linux/kexec.h:288:52: warning: 'struct purgatory_info' declared inside parameter list will not be visible outside of this definition or declaration
    int __weak arch_kexec_apply_relocations_add(struct purgatory_info *pi,
                                                       ^~~~~~~~~~~~~~
   include/linux/kexec.h:292:48: warning: 'struct purgatory_info' declared inside parameter list will not be visible outside of this definition or declaration
    int __weak arch_kexec_apply_relocations(struct purgatory_info *pi,
                                                   ^~~~~~~~~~~~~~
   Cyclomatic Complexity 2 arch/x86/include/asm/bitops.h:set_bit
   Cyclomatic Complexity 2 arch/x86/include/asm/bitops.h:clear_bit
   Cyclomatic Complexity 1 arch/x86/include/asm/bitops.h:constant_test_bit
   Cyclomatic Complexity 1 include/linux/percpu-defs.h:__this_cpu_preempt_check
   Cyclomatic Complexity 1 arch/x86/include/asm/current.h:get_current
   Cyclomatic Complexity 4 include/linux/string.h:memmove
   Cyclomatic Complexity 1 arch/x86/include/asm/paravirt.h:paravirt_get_debugreg
   Cyclomatic Complexity 1 arch/x86/include/asm/paravirt.h:set_debugreg
   Cyclomatic Complexity 1 arch/x86/include/asm/paravirt.h:read_cr0
   Cyclomatic Complexity 1 arch/x86/include/asm/paravirt.h:write_cr0
   Cyclomatic Complexity 1 arch/x86/include/asm/paravirt.h:arch_local_irq_disable
   Cyclomatic Complexity 1 arch/x86/include/asm/paravirt.h:arch_local_irq_enable
   Cyclomatic Complexity 1 arch/x86/include/asm/ptrace.h:user_mode
   Cyclomatic Complexity 1 arch/x86/include/asm/ptrace.h:v8086_mode
   Cyclomatic Complexity 1 include/asm-generic/ptrace.h:instruction_pointer
   Cyclomatic Complexity 1 arch/x86/include/asm/processor.h:current_top_of_stack
   Cyclomatic Complexity 1 arch/x86/include/asm/processor.h:on_thread_stack
   Cyclomatic Complexity 1 include/linux/thread_info.h:set_ti_thread_flag
   Cyclomatic Complexity 1 include/linux/thread_info.h:clear_ti_thread_flag
   Cyclomatic Complexity 5 arch/x86/include/asm/preempt.h:__preempt_count_add
   Cyclomatic Complexity 5 arch/x86/include/asm/preempt.h:__preempt_count_sub
   Cyclomatic Complexity 1 include/linux/sched.h:task_pid_nr
   Cyclomatic Complexity 1 include/linux/sched.h:task_thread_info
   Cyclomatic Complexity 1 include/linux/sched.h:set_tsk_thread_flag
   Cyclomatic Complexity 1 include/linux/sched.h:clear_tsk_thread_flag
   Cyclomatic Complexity 1 arch/x86/include/asm/debugreg.h:debug_stack_usage_inc
   Cyclomatic Complexity 1 arch/x86/include/asm/debugreg.h:debug_stack_usage_dec
   Cyclomatic Complexity 3 arch/x86/include/asm/traps.h:get_si_code
   Cyclomatic Complexity 1 arch/x86/include/asm/vm86.h:handle_vm86_trap
   Cyclomatic Complexity 1 arch/x86/include/asm/umip.h:fixup_umip_exception
   Cyclomatic Complexity 2 arch/x86/kernel/traps.c:cond_local_irq_enable
   Cyclomatic Complexity 2 arch/x86/kernel/traps.c:cond_local_irq_disable
   Cyclomatic Complexity 4 arch/x86/kernel/traps.c:fill_trap_info
   Cyclomatic Complexity 1 arch/x86/kernel/traps.c:is_sysenter_singlestep
   Cyclomatic Complexity 6 arch/x86/kernel/traps.c:do_trap_no_signal
   Cyclomatic Complexity 6 arch/x86/kernel/traps.c:do_trap
   Cyclomatic Complexity 6 arch/x86/kernel/traps.c:math_error
   Cyclomatic Complexity 2 arch/x86/kernel/traps.c:ist_enter
   Cyclomatic Complexity 2 arch/x86/kernel/traps.c:ist_exit
   Cyclomatic Complexity 1 arch/x86/kernel/traps.c:ist_begin_non_atomic
   Cyclomatic Complexity 1 arch/x86/kernel/traps.c:ist_end_non_atomic
   Cyclomatic Complexity 3 arch/x86/kernel/traps.c:is_valid_bugaddr
   Cyclomatic Complexity 3 arch/x86/kernel/traps.c:fixup_bug
   Cyclomatic Complexity 4 arch/x86/kernel/traps.c:do_error_trap
   Cyclomatic Complexity 1 arch/x86/kernel/traps.c:do_divide_error
   Cyclomatic Complexity 1 arch/x86/kernel/traps.c:do_overflow
   Cyclomatic Complexity 1 arch/x86/kernel/traps.c:do_invalid_op
   Cyclomatic Complexity 1 arch/x86/kernel/traps.c:do_coprocessor_segment_overrun
   Cyclomatic Complexity 1 arch/x86/kernel/traps.c:do_invalid_TSS
   Cyclomatic Complexity 1 arch/x86/kernel/traps.c:do_segment_not_present
   Cyclomatic Complexity 1 arch/x86/kernel/traps.c:do_stack_segment
   Cyclomatic Complexity 1 arch/x86/kernel/traps.c:do_alignment_check
   Cyclomatic Complexity 1 arch/x86/kernel/traps.c:do_double_fault
   Cyclomatic Complexity 3 arch/x86/kernel/traps.c:do_bounds
   Cyclomatic Complexity 11 arch/x86/kernel/traps.c:do_general_protection
   Cyclomatic Complexity 3 arch/x86/kernel/traps.c:do_int3
   Cyclomatic Complexity 2 arch/x86/kernel/traps.c:sync_regs
   Cyclomatic Complexity 1 arch/x86/kernel/traps.c:fixup_bad_iret
   Cyclomatic Complexity 16 arch/x86/kernel/traps.c:do_debug
   Cyclomatic Complexity 1 arch/x86/kernel/traps.c:do_coprocessor_error
   Cyclomatic Complexity 1 arch/x86/kernel/traps.c:do_simd_coprocessor_error
   Cyclomatic Complexity 1 arch/x86/kernel/traps.c:do_spurious_interrupt_bug
   Cyclomatic Complexity 3 arch/x86/kernel/traps.c:do_device_not_available
   Cyclomatic Complexity 1 arch/x86/kernel/traps.c:trap_init
--
   In file included from arch/x86/kernel/dumpstack_64.c:14:0:
>> include/linux/kexec.h:237:62: warning: 'struct kexec_buf' declared inside parameter list will not be visible outside of this definition or declaration
    extern int kexec_load_purgatory(struct kimage *image, struct kexec_buf *kbuf);
                                                                 ^~~~~~~~~
   include/linux/kexec.h:288:52: warning: 'struct purgatory_info' declared inside parameter list will not be visible outside of this definition or declaration
    int __weak arch_kexec_apply_relocations_add(struct purgatory_info *pi,
                                                       ^~~~~~~~~~~~~~
   include/linux/kexec.h:292:48: warning: 'struct purgatory_info' declared inside parameter list will not be visible outside of this definition or declaration
    int __weak arch_kexec_apply_relocations(struct purgatory_info *pi,
                                                   ^~~~~~~~~~~~~~
   Cyclomatic Complexity 1 arch/x86/include/asm/current.h:get_current
   Cyclomatic Complexity 1 arch/x86/include/asm/ptrace.h:user_mode
   Cyclomatic Complexity 2 arch/x86/kernel/dumpstack_64.c:in_irq_stack
   Cyclomatic Complexity 4 arch/x86/kernel/dumpstack_64.c:in_exception_stack
   Cyclomatic Complexity 5 arch/x86/kernel/dumpstack_64.c:stack_type_name
   Cyclomatic Complexity 11 arch/x86/kernel/dumpstack_64.c:get_stack_info
   Cyclomatic Complexity 8 arch/x86/kernel/dumpstack_64.c:show_regs
--
   In file included from arch/x86/kernel/dumpstack.c:16:0:
>> include/linux/kexec.h:237:62: warning: 'struct kexec_buf' declared inside parameter list will not be visible outside of this definition or declaration
    extern int kexec_load_purgatory(struct kimage *image, struct kexec_buf *kbuf);
                                                                 ^~~~~~~~~
   include/linux/kexec.h:288:52: warning: 'struct purgatory_info' declared inside parameter list will not be visible outside of this definition or declaration
    int __weak arch_kexec_apply_relocations_add(struct purgatory_info *pi,
                                                       ^~~~~~~~~~~~~~
   include/linux/kexec.h:292:48: warning: 'struct purgatory_info' declared inside parameter list will not be visible outside of this definition or declaration
    int __weak arch_kexec_apply_relocations(struct purgatory_info *pi,
                                                   ^~~~~~~~~~~~~~
   Cyclomatic Complexity 5 include/linux/compiler.h:__read_once_size
   Cyclomatic Complexity 5 include/linux/compiler.h:__read_once_size_nocheck
   Cyclomatic Complexity 5 include/linux/compiler.h:__write_once_size
   Cyclomatic Complexity 2 include/linux/printk.h:console_verbose
   Cyclomatic Complexity 1 arch/x86/include/asm/current.h:get_current
   Cyclomatic Complexity 1 arch/x86/include/asm/ptrace.h:kernel_stack_pointer
   Cyclomatic Complexity 1 arch/x86/include/asm/atomic.h:atomic_read
   Cyclomatic Complexity 1 arch/x86/include/asm/atomic.h:atomic_cmpxchg
   Cyclomatic Complexity 1 arch/x86/include/asm/paravirt.h:arch_local_save_flags
   Cyclomatic Complexity 1 arch/x86/include/asm/paravirt.h:arch_local_irq_restore
   Cyclomatic Complexity 1 arch/x86/include/asm/paravirt.h:arch_local_irq_disable
   Cyclomatic Complexity 1 arch/x86/include/asm/paravirt.h:arch_local_irq_save
   Cyclomatic Complexity 1 arch/x86/include/asm/preempt.h:preempt_count
   Cyclomatic Complexity 3 include/asm-generic/qspinlock.h:queued_spin_trylock
   Cyclomatic Complexity 2 include/asm-generic/qspinlock.h:queued_spin_lock
   Cyclomatic Complexity 1 include/linux/mm.h:debug_pagealloc_enabled
   Cyclomatic Complexity 1 include/linux/module.h:print_modules
   Cyclomatic Complexity 1 include/linux/ftrace.h:ftrace_graph_ret_addr
   Cyclomatic Complexity 1 include/linux/sched/task_stack.h:task_stack_page
   Cyclomatic Complexity 5 arch/x86/include/asm/stacktrace.h:on_stack
   Cyclomatic Complexity 1 arch/x86/include/asm/unwind.h:unwind_done
   Cyclomatic Complexity 3 arch/x86/include/asm/unwind.h:unwind_get_entry_regs
   Cyclomatic Complexity 1 arch/x86/include/asm/cpu_entry_area.h:cpu_entry_stack
   Cyclomatic Complexity 3 arch/x86/include/asm/stacktrace.h:get_stack_pointer
   Cyclomatic Complexity 2 arch/x86/include/asm/unwind.h:unwind_start
   Cyclomatic Complexity 1 include/linux/nmi.h:touch_nmi_watchdog
   Cyclomatic Complexity 2 arch/x86/kernel/dumpstack.c:printk_stack_address
   Cyclomatic Complexity 2 arch/x86/include/asm/qspinlock.h:native_queued_spin_unlock
   Cyclomatic Complexity 1 arch/x86/include/asm/qspinlock.h:queued_spin_unlock
   Cyclomatic Complexity 1 include/linux/kernel.h:kstrtoul
   Cyclomatic Complexity 4 arch/x86/kernel/dumpstack.c:code_bytes_setup
   Cyclomatic Complexity 2 arch/x86/kernel/dumpstack.c:in_task_stack
   Cyclomatic Complexity 2 arch/x86/kernel/dumpstack.c:in_entry_stack
   Cyclomatic Complexity 1 arch/x86/kernel/dumpstack.c:show_iret_regs
   Cyclomatic Complexity 5 arch/x86/kernel/dumpstack.c:show_regs_if_on_stack
   Cyclomatic Complexity 16 arch/x86/kernel/dumpstack.c:show_trace_log_lvl
   Cyclomatic Complexity 4 arch/x86/kernel/dumpstack.c:show_stack
   Cyclomatic Complexity 1 arch/x86/kernel/dumpstack.c:show_stack_regs
   Cyclomatic Complexity 3 arch/x86/kernel/dumpstack.c:oops_begin
   Cyclomatic Complexity 4 arch/x86/kernel/dumpstack.c:oops_end
   Cyclomatic Complexity 3 arch/x86/kernel/dumpstack.c:__die
   Cyclomatic Complexity 2 arch/x86/kernel/dumpstack.c:die
--
   In file included from arch/x86/kernel/setup.c:45:0:
>> include/linux/kexec.h:237:62: warning: 'struct kexec_buf' declared inside parameter list will not be visible outside of this definition or declaration
    extern int kexec_load_purgatory(struct kimage *image, struct kexec_buf *kbuf);
                                                                 ^~~~~~~~~
   include/linux/kexec.h:288:52: warning: 'struct purgatory_info' declared inside parameter list will not be visible outside of this definition or declaration
    int __weak arch_kexec_apply_relocations_add(struct purgatory_info *pi,
                                                       ^~~~~~~~~~~~~~
   include/linux/kexec.h:292:48: warning: 'struct purgatory_info' declared inside parameter list will not be visible outside of this definition or declaration
    int __weak arch_kexec_apply_relocations(struct purgatory_info *pi,
                                                   ^~~~~~~~~~~~~~
   Cyclomatic Complexity 1 arch/x86/include/asm/bitops.h:constant_test_bit
   Cyclomatic Complexity 1 arch/x86/include/asm/kaslr.h:kernel_randomize_memory
   Cyclomatic Complexity 1 arch/x86/include/asm/page_types.h:get_max_mapped
   Cyclomatic Complexity 1 include/linux/string.h:strnlen
   Cyclomatic Complexity 4 include/linux/string.h:strlen
   Cyclomatic Complexity 6 include/linux/string.h:strlcpy
   Cyclomatic Complexity 3 include/linux/string.h:memset
   Cyclomatic Complexity 1 arch/x86/include/asm/special_insns.h:native_read_cr4
   Cyclomatic Complexity 1 arch/x86/include/asm/special_insns.h:__read_cr4
   Cyclomatic Complexity 1 arch/x86/include/asm/mpspec.h:get_smp_config
   Cyclomatic Complexity 1 arch/x86/include/asm/mpspec.h:find_smp_config
   Cyclomatic Complexity 1 arch/x86/include/asm/numa.h:init_cpu_to_node
   Cyclomatic Complexity 1 arch/x86/include/asm/apic.h:generic_apic_probe
   Cyclomatic Complexity 1 arch/x86/include/asm/apic.h:check_x2apic
   Cyclomatic Complexity 1 include/linux/kdev_t.h:old_decode_dev
   Cyclomatic Complexity 1 include/linux/sfi.h:sfi_init
   Cyclomatic Complexity 1 include/linux/efi.h:efi_esrt_init
   Cyclomatic Complexity 1 include/linux/efi.h:efi_fake_memmap
   Cyclomatic Complexity 1 include/linux/efi.h:efi_enabled
   Cyclomatic Complexity 1 include/linux/iscsi_ibft.h:find_ibft_region
   Cyclomatic Complexity 1 include/linux/dma-contiguous.h:dma_contiguous_reserve
   Cyclomatic Complexity 1 include/linux/usb/xhci-dbgp.h:early_xdbc_setup_hardware
   Cyclomatic Complexity 1 include/linux/usb/xhci-dbgp.h:early_xdbc_register_console
   Cyclomatic Complexity 1 arch/x86/include/asm/mtrr.h:mtrr_trim_uncached_memory
   Cyclomatic Complexity 1 arch/x86/include/asm/setup.h:kaslr_enabled
   Cyclomatic Complexity 1 arch/x86/include/asm/setup.h:kaslr_offset
   Cyclomatic Complexity 1 arch/x86/include/asm/efi.h:parse_efi_setup
   Cyclomatic Complexity 1 arch/x86/include/asm/kasan.h:kasan_init
   Cyclomatic Complexity 1 arch/x86/include/asm/gart.h:early_gart_iommu_check
   Cyclomatic Complexity 1 arch/x86/include/asm/mpx.h:mpx_mm_init
   Cyclomatic Complexity 1 arch/x86/include/asm/mmu_context.h:vma_pkey
   Cyclomatic Complexity 1 arch/x86/include/asm/olpc_ofw.h:olpc_ofw_detect
   Cyclomatic Complexity 1 arch/x86/include/asm/olpc_ofw.h:setup_olpc_ofw_pgd
   Cyclomatic Complexity 1 arch/x86/include/asm/prom.h:add_dtb
   Cyclomatic Complexity 1 arch/x86/include/asm/prom.h:x86_dtb_init
   Cyclomatic Complexity 1 arch/x86/include/asm/unwind.h:unwind_init
   Cyclomatic Complexity 1 arch/x86/kernel/setup.c:copy_edd
   Cyclomatic Complexity 1 arch/x86/kernel/setup.c:get_ramdisk_image
   Cyclomatic Complexity 1 arch/x86/kernel/setup.c:get_ramdisk_size
   Cyclomatic Complexity 4 arch/x86/kernel/setup.c:parse_reservelow
   Cyclomatic Complexity 3 arch/x86/kernel/setup.c:early_reserve_initrd
   Cyclomatic Complexity 2 arch/x86/kernel/setup.c:reserve_ibft_region
   Cyclomatic Complexity 2 arch/x86/kernel/setup.c:reserve_brk
   Cyclomatic Complexity 1 arch/x86/kernel/setup.c:trim_low_memory_range
   Cyclomatic Complexity 2 arch/x86/kernel/setup.c:dump_kernel_offset
   Cyclomatic Complexity 2 arch/x86/kernel/setup.c:memblock_x86_reserve_range_setup_data
   Cyclomatic Complexity 5 arch/x86/kernel/setup.c:parse_setup_data
   Cyclomatic Complexity 2 arch/x86/kernel/setup.c:e820_add_kernel_range
   Cyclomatic Complexity 1 arch/x86/kernel/setup.c:trim_bios_range
   Cyclomatic Complexity 1 arch/x86/include/asm/mtrr.h:mtrr_bp_init
   Cyclomatic Complexity 5 arch/x86/kernel/setup.c:snb_gfx_workaround_needed
   Cyclomatic Complexity 4 arch/x86/kernel/setup.c:trim_snb_memory
   Cyclomatic Complexity 1 arch/x86/kernel/setup.c:trim_platform_memory_ranges
   Cyclomatic Complexity 1 arch/x86/kernel/setup.c:relocate_initrd
   Cyclomatic Complexity 4 arch/x86/kernel/setup.c:reserve_initrd
   Cyclomatic Complexity 5 arch/x86/kernel/setup.c:reserve_crashkernel_low
   Cyclomatic Complexity 12 arch/x86/kernel/setup.c:reserve_crashkernel
   Cyclomatic Complexity 1 arch/x86/kernel/setup.c:register_kernel_offset_dumper
   Cyclomatic Complexity 1 arch/x86/kernel/setup.c:__brk_reservation_fn_dmi_alloc__
   Cyclomatic Complexity 1 arch/x86/kernel/setup.c:extend_brk
   Cyclomatic Complexity 2 arch/x86/kernel/setup.c:reserve_standard_io_resources
   Cyclomatic Complexity 14 arch/x86/kernel/setup.c:setup_arch
   Cyclomatic Complexity 2 arch/x86/kernel/setup.c:arch_show_smap
--
   In file included from include/linux/crash_dump.h:5:0,
                    from arch/x86/kernel/e820.c:11:
>> include/linux/kexec.h:237:62: warning: 'struct kexec_buf' declared inside parameter list will not be visible outside of this definition or declaration
    extern int kexec_load_purgatory(struct kimage *image, struct kexec_buf *kbuf);
                                                                 ^~~~~~~~~
   include/linux/kexec.h:288:52: warning: 'struct purgatory_info' declared inside parameter list will not be visible outside of this definition or declaration
    int __weak arch_kexec_apply_relocations_add(struct purgatory_info *pi,
                                                       ^~~~~~~~~~~~~~
   include/linux/kexec.h:292:48: warning: 'struct purgatory_info' declared inside parameter list will not be visible outside of this definition or declaration
    int __weak arch_kexec_apply_relocations(struct purgatory_info *pi,
                                                   ^~~~~~~~~~~~~~
   Cyclomatic Complexity 1 arch/x86/include/asm/bitops.h:fls64
   Cyclomatic Complexity 1 include/linux/log2.h:__ilog2_u64
   Cyclomatic Complexity 1 include/asm-generic/getorder.h:__get_order
   Cyclomatic Complexity 1 include/linux/printk.h:early_printk
   Cyclomatic Complexity 3 include/linux/string.h:memset
   Cyclomatic Complexity 4 include/linux/string.h:memcpy
   Cyclomatic Complexity 1 include/linux/kasan.h:kasan_kmalloc
   Cyclomatic Complexity 28 include/linux/slab.h:kmalloc_index
   Cyclomatic Complexity 1 include/linux/slab.h:kmem_cache_alloc_trace
   Cyclomatic Complexity 1 include/linux/slab.h:kmalloc_order_trace
   Cyclomatic Complexity 68 include/linux/slab.h:kmalloc_large
   Cyclomatic Complexity 5 include/linux/slab.h:kmalloc
   Cyclomatic Complexity 1 include/linux/suspend.h:register_nosave_region
   Cyclomatic Complexity 1 include/linux/firmware-map.h:firmware_map_add_early
   Cyclomatic Complexity 8 arch/x86/kernel/e820.c:__e820__mapped_all
   Cyclomatic Complexity 3 arch/x86/kernel/e820.c:cpcompare
   Cyclomatic Complexity 5 arch/x86/kernel/e820.c:e820_search_gap
   Cyclomatic Complexity 8 arch/x86/kernel/e820.c:e820_type_to_string
   Cyclomatic Complexity 2 arch/x86/kernel/e820.c:e820_type_to_iomem_type
   Cyclomatic Complexity 5 arch/x86/kernel/e820.c:e820_type_to_iores_desc
   Cyclomatic Complexity 3 arch/x86/kernel/e820.c:do_mark_busy
   Cyclomatic Complexity 3 arch/x86/kernel/e820.c:ram_alignment
   Cyclomatic Complexity 2 arch/x86/kernel/e820.c:__e820__range_add
   Cyclomatic Complexity 7 arch/x86/kernel/e820.c:e820_print_type
   Cyclomatic Complexity 7 arch/x86/kernel/e820.c:e820_end_pfn
   Cyclomatic Complexity 10 arch/x86/kernel/e820.c:__e820__range_update
   Cyclomatic Complexity 1 arch/x86/kernel/e820.c:e820__range_update_kexec
   Cyclomatic Complexity 3 arch/x86/kernel/e820.c:e820__register_nvs_regions
   Cyclomatic Complexity 0 arch/x86/kernel/e820.c:early_panic
   Cyclomatic Complexity 2 include/linux/memblock.h:memblock_dump_all
   Cyclomatic Complexity 6 arch/x86/kernel/e820.c:e820__mapped_any
   Cyclomatic Complexity 1 arch/x86/kernel/e820.c:e820__mapped_all
   Cyclomatic Complexity 2 arch/x86/kernel/e820.c:e820__get_entry_type
   Cyclomatic Complexity 1 arch/x86/kernel/e820.c:e820__range_add
   Cyclomatic Complexity 4 arch/x86/kernel/e820.c:__append_e820_table
   Cyclomatic Complexity 2 arch/x86/kernel/e820.c:append_e820_table
   Cyclomatic Complexity 2 arch/x86/kernel/e820.c:e820__print_table
   Cyclomatic Complexity 18 arch/x86/kernel/e820.c:e820__update_table
   Cyclomatic Complexity 1 arch/x86/kernel/e820.c:e820__update_table_kexec
   Cyclomatic Complexity 1 arch/x86/kernel/e820.c:e820__range_update
   Cyclomatic Complexity 12 arch/x86/kernel/e820.c:e820__range_remove
   Cyclomatic Complexity 4 arch/x86/kernel/e820.c:parse_memopt
   Cyclomatic Complexity 2 arch/x86/kernel/e820.c:e820__update_table_print
   Cyclomatic Complexity 2 arch/x86/kernel/e820.c:e820__setup_pci_gap
   Cyclomatic Complexity 1 arch/x86/kernel/e820.c:e820__reallocate_tables
   Cyclomatic Complexity 1 arch/x86/kernel/e820.c:e820__memory_setup_extended
   Cyclomatic Complexity 5 arch/x86/kernel/e820.c:e820__register_nosave_regions
   Cyclomatic Complexity 2 arch/x86/kernel/e820.c:e820__memblock_alloc_reserved
   Cyclomatic Complexity 1 arch/x86/kernel/e820.c:e820__end_of_ram_pfn
   Cyclomatic Complexity 9 arch/x86/kernel/e820.c:parse_memmap_one
   Cyclomatic Complexity 3 arch/x86/kernel/e820.c:parse_memmap_opt
   Cyclomatic Complexity 1 arch/x86/kernel/e820.c:e820__end_of_low_ram_pfn
   Cyclomatic Complexity 3 arch/x86/kernel/e820.c:e820__reserve_setup_data
   Cyclomatic Complexity 3 arch/x86/kernel/e820.c:e820__finish_early_params
   Cyclomatic Complexity 4 arch/x86/kernel/e820.c:e820__reserve_resources
   Cyclomatic Complexity 7 arch/x86/kernel/e820.c:e820__reserve_resources_late
   Cyclomatic Complexity 3 arch/x86/kernel/e820.c:e820__memory_setup_default
   Cyclomatic Complexity 2 arch/x86/kernel/e820.c:e820__memory_setup
   Cyclomatic Complexity 3 arch/x86/kernel/e820.c:e820__memblock_setup
--
   In file included from arch/x86/kernel/setup_percpu.c:9:0:
>> include/linux/kexec.h:237:62: warning: 'struct kexec_buf' declared inside parameter list will not be visible outside of this definition or declaration
    extern int kexec_load_purgatory(struct kimage *image, struct kexec_buf *kbuf);
                                                                 ^~~~~~~~~
   include/linux/kexec.h:288:52: warning: 'struct purgatory_info' declared inside parameter list will not be visible outside of this definition or declaration
    int __weak arch_kexec_apply_relocations_add(struct purgatory_info *pi,
                                                       ^~~~~~~~~~~~~~
   include/linux/kexec.h:292:48: warning: 'struct purgatory_info' declared inside parameter list will not be visible outside of this definition or declaration
    int __weak arch_kexec_apply_relocations(struct purgatory_info *pi,
                                                   ^~~~~~~~~~~~~~
   Cyclomatic Complexity 2 arch/x86/include/asm/page_64.h:__phys_addr_nodebug
   Cyclomatic Complexity 1 arch/x86/include/asm/topology.h:setup_node_to_cpumask_map
   Cyclomatic Complexity 1 arch/x86/include/asm/stackprotector.h:setup_stack_canary_segment
   Cyclomatic Complexity 1 arch/x86/kernel/setup_percpu.c:pcpu_cpu_distance
   Cyclomatic Complexity 1 arch/x86/kernel/setup_percpu.c:setup_percpu_segment
   Cyclomatic Complexity 1 arch/x86/kernel/setup_percpu.c:pcpup_populate_pte
   Cyclomatic Complexity 1 arch/x86/kernel/setup_percpu.c:pcpu_fc_free
   Cyclomatic Complexity 1 arch/x86/kernel/setup_percpu.c:pcpu_alloc_bootmem
   Cyclomatic Complexity 1 arch/x86/kernel/setup_percpu.c:pcpu_fc_alloc
   Cyclomatic Complexity 6 arch/x86/kernel/setup_percpu.c:setup_per_cpu_areas
..

vim +237 include/linux/kexec.h

   225	
   226	/* kexec interface functions */
   227	extern void machine_kexec(struct kimage *image);
   228	extern int machine_kexec_prepare(struct kimage *image);
   229	extern void machine_kexec_cleanup(struct kimage *image);
   230	extern asmlinkage long sys_kexec_load(unsigned long entry,
   231						unsigned long nr_segments,
   232						struct kexec_segment __user *segments,
   233						unsigned long flags);
   234	extern int kernel_kexec(void);
   235	extern struct page *kimage_alloc_control_pages(struct kimage *image,
   236							unsigned int order);
 > 237	extern int kexec_load_purgatory(struct kimage *image, struct kexec_buf *kbuf);
   238	extern int kexec_purgatory_get_set_symbol(struct kimage *image,
   239						  const char *name, void *buf,
   240						  unsigned int size, bool get_value);
   241	extern void *kexec_purgatory_get_symbol_addr(struct kimage *image,
   242						     const char *name);
   243	extern void __crash_kexec(struct pt_regs *);
   244	extern void crash_kexec(struct pt_regs *);
   245	int kexec_should_crash(struct task_struct *);
   246	int kexec_crash_loaded(void);
   247	void crash_save_cpu(struct pt_regs *regs, int cpu);
   248	extern int kimage_crash_copy_vmcoreinfo(struct kimage *image);
   249	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 24190 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/kexec/attachments/20180228/d98cf219/attachment-0001.gz>


More information about the kexec mailing list