Hi Peter, I love your patch! Perhaps something to improve: [auto build test WARNING on kvm/linux-next] [also build test WARNING on v5.0 next-20190304] [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/Fenghua-Yu/x86-split_lock-Enable-AC-exception-for-split-locked-accesses/20190305-044643 base: https://git.kernel.org/pub/scm/virt/kvm/kvm.git linux-next config: i386-randconfig-a1-201909 (attached as .config) compiler: gcc-4.9 (Debian 4.9.4-2) 4.9.4 reproduce: # save the attached .config to linux build tree make ARCH=i386 All warnings (new ones prefixed by >>): In file included from arch/x86/kernel/cpu/intel.c:22:0: >> arch/x86/include/asm/insn-eval.h:18:58: warning: 'struct insn' declared inside parameter list void __user *insn_get_addr_ref(struct insn *insn, struct pt_regs *regs); ^ >> arch/x86/include/asm/insn-eval.h:18:58: warning: its scope is only this definition or declaration, which is probably not what you want arch/x86/include/asm/insn-eval.h:19:53: warning: 'struct insn' declared inside parameter list int insn_get_modrm_rm_off(struct insn *insn, struct pt_regs *regs); ^ Cyclomatic Complexity 5 include/linux/compiler.h:__read_once_size Cyclomatic Complexity 1 include/linux/kasan-checks.h:kasan_check_read Cyclomatic Complexity 2 arch/x86/include/asm/bitops.h:set_bit Cyclomatic Complexity 1 arch/x86/include/asm/bitops.h:constant_test_bit Cyclomatic Complexity 1 arch/x86/include/asm/bitops.h:variable_test_bit Cyclomatic Complexity 1 arch/x86/include/asm/bitops.h:fls Cyclomatic Complexity 2 include/linux/bitops.h:get_count_order Cyclomatic Complexity 1 include/linux/string.h:strnlen Cyclomatic Complexity 4 include/linux/string.h:strlen Cyclomatic Complexity 4 include/linux/string.h:memcpy Cyclomatic Complexity 2 include/linux/string.h:strcpy Cyclomatic Complexity 1 arch/x86/include/asm/atomic.h:arch_atomic_read Cyclomatic Complexity 1 include/asm-generic/atomic-instrumented.h:atomic_read Cyclomatic Complexity 1 arch/x86/include/asm/current.h:get_current Cyclomatic Complexity 1 arch/x86/include/asm/irqflags.h:native_save_fl Cyclomatic Complexity 1 arch/x86/include/asm/irqflags.h:native_restore_fl Cyclomatic Complexity 1 arch/x86/include/asm/irqflags.h:native_irq_disable Cyclomatic Complexity 1 arch/x86/include/asm/irqflags.h:arch_local_save_flags Cyclomatic Complexity 1 arch/x86/include/asm/irqflags.h:arch_local_irq_restore Cyclomatic Complexity 1 arch/x86/include/asm/irqflags.h:arch_local_irq_disable Cyclomatic Complexity 1 arch/x86/include/asm/irqflags.h:arch_local_irq_save Cyclomatic Complexity 1 include/linux/jump_label.h:static_key_count Cyclomatic Complexity 2 include/linux/jump_label.h:static_key_false Cyclomatic Complexity 1 arch/x86/include/asm/ptrace.h:user_64bit_mode Cyclomatic Complexity 1 arch/x86/include/asm/msr.h:__rdmsr Cyclomatic Complexity 1 arch/x86/include/asm/msr.h:__wrmsr Cyclomatic Complexity 2 arch/x86/include/asm/msr.h:native_read_msr Cyclomatic Complexity 2 arch/x86/include/asm/msr.h:native_read_msr_safe Cyclomatic Complexity 2 arch/x86/include/asm/msr.h:native_write_msr Cyclomatic Complexity 1 arch/x86/include/asm/msr.h:wrmsrl Cyclomatic Complexity 1 arch/x86/include/asm/msr.h:rdmsrl_safe Cyclomatic Complexity 1 arch/x86/include/asm/processor.h:native_cpuid Cyclomatic Complexity 1 arch/x86/include/asm/processor.h:native_cpuid_eax Cyclomatic Complexity 1 arch/x86/include/asm/processor.h:cpuid Cyclomatic Complexity 1 arch/x86/include/asm/processor.h:cpuid_count Cyclomatic Complexity 1 arch/x86/include/asm/processor.h:cpuid_eax Cyclomatic Complexity 2 include/linux/thread_info.h:test_ti_thread_flag Cyclomatic Complexity 2 include/linux/thread_info.h:check_object_size Cyclomatic Complexity 2 include/linux/thread_info.h:copy_overflow Cyclomatic Complexity 4 include/linux/thread_info.h:check_copy_size Cyclomatic Complexity 2 include/linux/uaccess.h:copy_from_user Cyclomatic Complexity 1 arch/x86/include/asm/microcode_intel.h:intel_get_microcode_revision Cyclomatic Complexity 1 arch/x86/kernel/cpu/intel.c:forcempx_setup Cyclomatic Complexity 1 arch/x86/kernel/cpu/intel.c:ring3mwait_disable Cyclomatic Complexity 5 arch/x86/kernel/cpu/intel.c:probe_xeon_phi_r3mwait Cyclomatic Complexity 6 arch/x86/kernel/cpu/intel.c:bad_spectre_microcode Cyclomatic Complexity 1 arch/x86/kernel/cpu/intel.c:forcepae_setup Cyclomatic Complexity 1 arch/x86/kernel/cpu/intel.c:srat_detect_node Cyclomatic Complexity 4 arch/x86/kernel/cpu/intel.c:init_cpuid_fault Cyclomatic Complexity 2 arch/x86/kernel/cpu/intel.c:init_intel_misc_features Cyclomatic Complexity 4 arch/x86/kernel/cpu/intel.c:intel_size_cache Cyclomatic Complexity 38 arch/x86/kernel/cpu/intel.c:intel_tlb_lookup Cyclomatic Complexity 6 arch/x86/kernel/cpu/intel.c:intel_detect_tlb Cyclomatic Complexity 5 arch/x86/kernel/cpu/intel.c:init_intel_energy_perf Cyclomatic Complexity 1 arch/x86/kernel/cpu/intel.c:intel_bsp_resume Cyclomatic Complexity 16 arch/x86/kernel/cpu/intel.c:detect_tme Cyclomatic Complexity 9 arch/x86/kernel/cpu/intel.c:intel_smp_check Cyclomatic Complexity 9 arch/x86/kernel/cpu/intel.c:detect_vmx_virtcap Cyclomatic Complexity 13 arch/x86/kernel/cpu/intel.c:intel_workarounds Cyclomatic Complexity 1 arch/x86/include/asm/microcode.h:exit_amd_microcode Cyclomatic Complexity 4 arch/x86/kernel/cpu/intel.c:check_mpx_erratum Cyclomatic Complexity 37 arch/x86/kernel/cpu/intel.c:early_init_intel Cyclomatic Complexity 30 arch/x86/kernel/cpu/intel.c:init_intel Cyclomatic Complexity 3 arch/x86/kernel/cpu/intel.c:ppro_with_ram_bug Cyclomatic Complexity 8 arch/x86/kernel/cpu/intel.c:fixup_cpuid_exception Cyclomatic Complexity 4 arch/x86/kernel/cpu/intel.c:init_core_capability -- In file included from arch/x86//kernel/cpu/intel.c:22:0: >> arch/x86/include/asm/insn-eval.h:18:58: warning: 'struct insn' declared inside parameter list void __user *insn_get_addr_ref(struct insn *insn, struct pt_regs *regs); ^ >> arch/x86/include/asm/insn-eval.h:18:58: warning: its scope is only this definition or declaration, which is probably not what you want arch/x86/include/asm/insn-eval.h:19:53: warning: 'struct insn' declared inside parameter list int insn_get_modrm_rm_off(struct insn *insn, struct pt_regs *regs); ^ Cyclomatic Complexity 5 include/linux/compiler.h:__read_once_size Cyclomatic Complexity 1 include/linux/kasan-checks.h:kasan_check_read Cyclomatic Complexity 2 arch/x86/include/asm/bitops.h:set_bit Cyclomatic Complexity 1 arch/x86/include/asm/bitops.h:constant_test_bit Cyclomatic Complexity 1 arch/x86/include/asm/bitops.h:variable_test_bit Cyclomatic Complexity 1 arch/x86/include/asm/bitops.h:fls Cyclomatic Complexity 2 include/linux/bitops.h:get_count_order Cyclomatic Complexity 1 include/linux/string.h:strnlen Cyclomatic Complexity 4 include/linux/string.h:strlen Cyclomatic Complexity 4 include/linux/string.h:memcpy Cyclomatic Complexity 2 include/linux/string.h:strcpy Cyclomatic Complexity 1 arch/x86/include/asm/atomic.h:arch_atomic_read Cyclomatic Complexity 1 include/asm-generic/atomic-instrumented.h:atomic_read Cyclomatic Complexity 1 arch/x86/include/asm/current.h:get_current Cyclomatic Complexity 1 arch/x86/include/asm/irqflags.h:native_save_fl Cyclomatic Complexity 1 arch/x86/include/asm/irqflags.h:native_restore_fl Cyclomatic Complexity 1 arch/x86/include/asm/irqflags.h:native_irq_disable Cyclomatic Complexity 1 arch/x86/include/asm/irqflags.h:arch_local_save_flags Cyclomatic Complexity 1 arch/x86/include/asm/irqflags.h:arch_local_irq_restore Cyclomatic Complexity 1 arch/x86/include/asm/irqflags.h:arch_local_irq_disable Cyclomatic Complexity 1 arch/x86/include/asm/irqflags.h:arch_local_irq_save Cyclomatic Complexity 1 include/linux/jump_label.h:static_key_count Cyclomatic Complexity 2 include/linux/jump_label.h:static_key_false Cyclomatic Complexity 1 arch/x86/include/asm/ptrace.h:user_64bit_mode Cyclomatic Complexity 1 arch/x86/include/asm/msr.h:__rdmsr Cyclomatic Complexity 1 arch/x86/include/asm/msr.h:__wrmsr Cyclomatic Complexity 2 arch/x86/include/asm/msr.h:native_read_msr Cyclomatic Complexity 2 arch/x86/include/asm/msr.h:native_read_msr_safe Cyclomatic Complexity 2 arch/x86/include/asm/msr.h:native_write_msr Cyclomatic Complexity 1 arch/x86/include/asm/msr.h:wrmsrl Cyclomatic Complexity 1 arch/x86/include/asm/msr.h:rdmsrl_safe Cyclomatic Complexity 1 arch/x86/include/asm/processor.h:native_cpuid Cyclomatic Complexity 1 arch/x86/include/asm/processor.h:native_cpuid_eax Cyclomatic Complexity 1 arch/x86/include/asm/processor.h:cpuid Cyclomatic Complexity 1 arch/x86/include/asm/processor.h:cpuid_count Cyclomatic Complexity 1 arch/x86/include/asm/processor.h:cpuid_eax Cyclomatic Complexity 2 include/linux/thread_info.h:test_ti_thread_flag Cyclomatic Complexity 2 include/linux/thread_info.h:check_object_size Cyclomatic Complexity 2 include/linux/thread_info.h:copy_overflow Cyclomatic Complexity 4 include/linux/thread_info.h:check_copy_size Cyclomatic Complexity 2 include/linux/uaccess.h:copy_from_user Cyclomatic Complexity 1 arch/x86/include/asm/microcode_intel.h:intel_get_microcode_revision Cyclomatic Complexity 1 arch/x86//kernel/cpu/intel.c:forcempx_setup Cyclomatic Complexity 1 arch/x86//kernel/cpu/intel.c:ring3mwait_disable Cyclomatic Complexity 5 arch/x86//kernel/cpu/intel.c:probe_xeon_phi_r3mwait Cyclomatic Complexity 6 arch/x86//kernel/cpu/intel.c:bad_spectre_microcode Cyclomatic Complexity 1 arch/x86//kernel/cpu/intel.c:forcepae_setup Cyclomatic Complexity 1 arch/x86//kernel/cpu/intel.c:srat_detect_node Cyclomatic Complexity 4 arch/x86//kernel/cpu/intel.c:init_cpuid_fault Cyclomatic Complexity 2 arch/x86//kernel/cpu/intel.c:init_intel_misc_features Cyclomatic Complexity 4 arch/x86//kernel/cpu/intel.c:intel_size_cache Cyclomatic Complexity 38 arch/x86//kernel/cpu/intel.c:intel_tlb_lookup Cyclomatic Complexity 6 arch/x86//kernel/cpu/intel.c:intel_detect_tlb Cyclomatic Complexity 5 arch/x86//kernel/cpu/intel.c:init_intel_energy_perf Cyclomatic Complexity 1 arch/x86//kernel/cpu/intel.c:intel_bsp_resume Cyclomatic Complexity 16 arch/x86//kernel/cpu/intel.c:detect_tme Cyclomatic Complexity 9 arch/x86//kernel/cpu/intel.c:intel_smp_check Cyclomatic Complexity 9 arch/x86//kernel/cpu/intel.c:detect_vmx_virtcap Cyclomatic Complexity 13 arch/x86//kernel/cpu/intel.c:intel_workarounds Cyclomatic Complexity 1 arch/x86/include/asm/microcode.h:exit_amd_microcode Cyclomatic Complexity 4 arch/x86//kernel/cpu/intel.c:check_mpx_erratum Cyclomatic Complexity 37 arch/x86//kernel/cpu/intel.c:early_init_intel Cyclomatic Complexity 30 arch/x86//kernel/cpu/intel.c:init_intel Cyclomatic Complexity 3 arch/x86//kernel/cpu/intel.c:ppro_with_ram_bug Cyclomatic Complexity 8 arch/x86//kernel/cpu/intel.c:fixup_cpuid_exception Cyclomatic Complexity 4 arch/x86//kernel/cpu/intel.c:init_core_capability vim +18 arch/x86/include/asm/insn-eval.h 4efea85f Ricardo Neri 2017-10-27 17 32542ee2 Ricardo Neri 2017-10-27 @18 void __user *insn_get_addr_ref(struct insn *insn, struct pt_regs *regs); e5e45f11 Ricardo Neri 2017-10-27 19 int insn_get_modrm_rm_off(struct insn *insn, struct pt_regs *regs); bd5a410a Ricardo Neri 2017-10-27 20 unsigned long insn_get_seg_base(struct pt_regs *regs, int seg_reg_idx); e2a5dca7 Borislav Petkov 2017-11-23 21 int insn_get_code_seg_params(struct pt_regs *regs); 32542ee2 Ricardo Neri 2017-10-27 22 :::::: The code at line 18 was first introduced by commit :::::: 32542ee295bec38e5e1608f8c9d6d28e5a7e6112 x86/mpx, x86/insn: Relocate insn util functions to a new insn-eval file :::::: TO: Ricardo Neri <ricardo.neri-calderon@xxxxxxxxxxxxxxx> :::::: CC: Thomas Gleixner <tglx@xxxxxxxxxxxxx> --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Attachment:
.config.gz
Description: application/gzip