lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Tue, 5 Mar 2019 15:27:18 +0800
From:   kbuild test robot <lkp@...el.com>
To:     Fenghua Yu <fenghua.yu@...el.com>
Cc:     kbuild-all@...org, Thomas Gleixner <tglx@...utronix.de>,
        Ingo Molnar <mingo@...hat.com>, Borislav Petkov <bp@...en8.de>,
        H Peter Anvin <hpa@...or.com>,
        Paolo Bonzini <pbonzini@...hat.com>,
        Dave Hansen <dave.hansen@...el.com>,
        Ashok Raj <ashok.raj@...el.com>,
        Peter Zijlstra <peterz@...radead.org>,
        Ravi V Shankar <ravi.v.shankar@...el.com>,
        Xiaoyao Li <xiaoyao.li@...el.com>,
        linux-kernel <linux-kernel@...r.kernel.org>,
        x86 <x86@...nel.org>, kvm@...r.kernel.org,
        Fenghua Yu <fenghua.yu@...el.com>
Subject: Re: [PATCH v4 11/17] x86/clearcpuid: Clear CPUID bit in CPUID
 faulting

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@...ux.intel.com>
:::::: CC: Thomas Gleixner <tglx@...utronix.de>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Download attachment ".config.gz" of type "application/gzip" (36754 bytes)

Powered by blists - more mailing lists