[PATCH 05/11] kexec_file: Use read-only sections in arch_kexec_apply_relocations*

kbuild test robot lkp at intel.com
Wed Feb 28 08:32:46 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 init/initramfs.c:527:0:
>> include/linux/kexec.h:293: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:297: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:__write_once_size
   Cyclomatic Complexity 1 arch/x86/include/asm/bitops.h:fls64
   Cyclomatic Complexity 1 include/linux/log2.h:__ilog2_u64
   Cyclomatic Complexity 1 include/linux/list.h:INIT_LIST_HEAD
   Cyclomatic Complexity 1 include/linux/list.h:__list_del
   Cyclomatic Complexity 1 include/asm-generic/getorder.h:__get_order
   Cyclomatic Complexity 1 include/linux/string.h:strnlen
   Cyclomatic Complexity 4 include/linux/string.h:strlen
   Cyclomatic Complexity 3 include/linux/string.h:memset
   Cyclomatic Complexity 4 include/linux/string.h:memcpy
   Cyclomatic Complexity 4 include/linux/string.h:memcmp
   Cyclomatic Complexity 2 include/linux/string.h:strcpy
   Cyclomatic Complexity 1 include/linux/kdev_t.h:new_encode_dev
   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 2 init/initramfs.c:error
   Cyclomatic Complexity 1 init/initramfs.c:hash
   Cyclomatic Complexity 1 init/initramfs.c:eat
   Cyclomatic Complexity 2 init/initramfs.c:read_into
   Cyclomatic Complexity 1 init/initramfs.c:do_start
   Cyclomatic Complexity 3 init/initramfs.c:do_collect
   Cyclomatic Complexity 2 init/initramfs.c:do_skip
   Cyclomatic Complexity 5 init/initramfs.c:do_reset
   Cyclomatic Complexity 2 init/initramfs.c:write_buffer
   Cyclomatic Complexity 6 init/initramfs.c:flush_buffer
   Cyclomatic Complexity 2 init/initramfs.c:retain_initrd_param
   Cyclomatic Complexity 6 init/initramfs.c:find_link
   Cyclomatic Complexity 3 init/initramfs.c:free_hash
   Cyclomatic Complexity 1 include/linux/fs.h:vfs_lstat
   Cyclomatic Complexity 4 init/initramfs.c:clean_path
   Cyclomatic Complexity 1 init/initramfs.c:do_utime
   Cyclomatic Complexity 1 init/initramfs.c:do_symlink
   Cyclomatic Complexity 6 init/initramfs.c:xwrite
   Cyclomatic Complexity 4 init/initramfs.c:do_copy
   Cyclomatic Complexity 2 include/linux/list.h:__list_add
   Cyclomatic Complexity 1 include/linux/list.h:list_add
   Cyclomatic Complexity 1 init/initramfs.c:dir_add
   Cyclomatic Complexity 4 init/initramfs.c:maybe_link
   Cyclomatic Complexity 12 init/initramfs.c:do_name
   Cyclomatic Complexity 2 init/initramfs.c:parse_header
   Cyclomatic Complexity 8 init/initramfs.c:do_header
   Cyclomatic Complexity 2 include/linux/list.h:__list_del_entry
   Cyclomatic Complexity 1 include/linux/list.h:list_del
   Cyclomatic Complexity 5 init/initramfs.c:dir_utime
   Cyclomatic Complexity 14 init/initramfs.c:unpack_to_rootfs
   Cyclomatic Complexity 6 init/initramfs.c:free_initrd
   Cyclomatic Complexity 3 init/initramfs.c:populate_rootfs
--
   In file included from arch/x86/kernel/traps.c:30:0:
>> include/linux/kexec.h:293: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:297: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:293: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:297: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:293: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:297: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:293: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:297: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:293: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:297: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
..

vim +293 include/linux/kexec.h

   286	
   287	int __weak arch_kexec_kernel_image_probe(struct kimage *image, void *buf,
   288						 unsigned long buf_len);
   289	void * __weak arch_kexec_kernel_image_load(struct kimage *image);
   290	int __weak arch_kimage_file_post_load_cleanup(struct kimage *image);
   291	int __weak arch_kexec_kernel_verify_sig(struct kimage *image, void *buf,
   292						unsigned long buf_len);
 > 293	int __weak arch_kexec_apply_relocations_add(struct purgatory_info *pi,
   294						    Elf_Shdr *section,
   295						    const Elf_Shdr *relsec,
   296						    const Elf_Shdr *symtab);
   297	int __weak arch_kexec_apply_relocations(struct purgatory_info *pi,
   298						Elf_Shdr *section,
   299						const Elf_Shdr *relsec,
   300						const Elf_Shdr *symtab);
   301	void arch_kexec_protect_crashkres(void);
   302	void arch_kexec_unprotect_crashkres(void);
   303	

---
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/20180301/d3fef125/attachment-0001.gz>


More information about the kexec mailing list