:::::: :::::: Manual check reason: "low confidence static check warning: arch/x86/kernel/cpu/common.c:187:45: warning: Parameter 's' can be declared with const [constParameter]" ::::::
CC: [email protected] BCC: [email protected] CC: [email protected] TO: Thomas Gleixner <[email protected]> CC: Borislav Petkov <[email protected]> tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: b13baccc3850ca8b8cccbf8ed9912dbaa0fdf7f3 commit: 8a1dc55a3f3ef0a723c3c117a567e7b5dd2c1793 x86/cpu: Sanitize X86_FEATURE_OSPKE date: 12 months ago :::::: branch date: 28 hours ago :::::: commit date: 12 months ago compiler: gcc-11 (Debian 11.3.0-3) 11.3.0 reproduce (cppcheck warning): # apt-get install cppcheck git checkout 8a1dc55a3f3ef0a723c3c117a567e7b5dd2c1793 cppcheck --quiet --enable=style,performance,portability --template=gcc FILE If you fix the issue, kindly add following tag where applicable Reported-by: kernel test robot <[email protected]> cppcheck warnings: (new ones prefixed by >>) >> arch/x86/mm/tlb.c:1225:8: warning: %ld in format string (no. 1) requires >> 'long' but the argument type is 'unsigned long'. [invalidPrintfArgType_sint] len = sprintf(buf, "%ldn", tlb_single_page_flush_ceiling); ^ -- >> arch/x86/mm/pat/set_memory.c:1033:17: warning: Local variable 'pfn' shadows >> outer variable [shadowVariable] unsigned long pfn = PFN_DOWN(__pa(address)); ^ arch/x86/mm/pat/set_memory.c:971:40: note: Shadowed declaration unsigned long lpaddr, lpinc, ref_pfn, pfn, pfninc = 1; ^ arch/x86/mm/pat/set_memory.c:1033:17: note: Shadow variable unsigned long pfn = PFN_DOWN(__pa(address)); ^ >> arch/x86/mm/pat/set_memory.c:2040:16: warning: Local variable 'addr' shadows >> outer variable [shadowVariable] unsigned long addr = (unsigned long)page_address(page); ^ arch/x86/mm/pat/cpa-test.c:110:22: note: Shadowed declaration static unsigned long addr[NTEST]; ^ arch/x86/mm/pat/set_memory.c:2040:16: note: Shadow variable unsigned long addr = (unsigned long)page_address(page); ^ arch/x86/mm/pat/set_memory.c:2112:16: warning: Local variable 'addr' shadows outer variable [shadowVariable] unsigned long addr = (unsigned long)page_address(page); ^ arch/x86/mm/pat/cpa-test.c:110:22: note: Shadowed declaration static unsigned long addr[NTEST]; ^ arch/x86/mm/pat/set_memory.c:2112:16: note: Shadow variable unsigned long addr = (unsigned long)page_address(page); ^ arch/x86/mm/pat/set_memory.c:2145:16: warning: Local variable 'addr' shadows outer variable [shadowVariable] unsigned long addr = (unsigned long)page_address(page); ^ arch/x86/mm/pat/cpa-test.c:110:22: note: Shadowed declaration static unsigned long addr[NTEST]; ^ arch/x86/mm/pat/set_memory.c:2145:16: note: Shadow variable unsigned long addr = (unsigned long)page_address(page); ^ arch/x86/mm/pat/set_memory.c:2152:16: warning: Local variable 'addr' shadows outer variable [shadowVariable] unsigned long addr = (unsigned long)page_address(page); ^ arch/x86/mm/pat/cpa-test.c:110:22: note: Shadowed declaration static unsigned long addr[NTEST]; ^ arch/x86/mm/pat/set_memory.c:2152:16: note: Shadow variable unsigned long addr = (unsigned long)page_address(page); ^ cppcheck possible warnings: (new ones prefixed by >>, may not real problems) >> arch/x86/mm/tlb.c:1225:8: warning: %ld in format string (no. 1) requires >> 'long' but the argument type is 'unsigned long'. [invalidPrintfArgType_sint] len = sprintf(buf, "%ldn", tlb_single_page_flush_ceiling); ^ -- arch/x86/kernel/cpu/common.c:1366:40: warning: Comparing pointers that point to different objects [comparePointers] for (cdev = __x86_cpu_dev_start; cdev < __x86_cpu_dev_end; cdev++) { ^ arch/x86/kernel/cpu/cpu.h:44:36: note: Variable declared here. extern const struct cpu_dev *const __x86_cpu_dev_start[], ^ arch/x86/kernel/cpu/common.c:1366:14: note: Array decayed to pointer here. for (cdev = __x86_cpu_dev_start; cdev < __x86_cpu_dev_end; cdev++) { ^ arch/x86/kernel/cpu/cpu.h:45:15: note: Variable declared here. *const __x86_cpu_dev_end[]; ^ arch/x86/kernel/cpu/common.c:1366:42: note: Array decayed to pointer here. for (cdev = __x86_cpu_dev_start; cdev < __x86_cpu_dev_end; cdev++) { ^ arch/x86/kernel/cpu/common.c:1366:40: note: Comparing pointers that point to different objects for (cdev = __x86_cpu_dev_start; cdev < __x86_cpu_dev_end; cdev++) { ^ >> arch/x86/kernel/cpu/common.c:187:45: warning: Parameter 's' can be declared >> with const [constParameter] static int __init x86_noinvpcid_setup(char *s) ^ >> arch/x86/kernel/cpu/common.c:467:59: warning: Parameter 'c' can be declared >> with const [constParameter] static __always_inline void setup_pku(struct cpuinfo_x86 *c) ^ >> drivers/acpi/processor_idle.c:162:32: warning: Parameter 'cx' can be >> declared with const [constParameter] struct acpi_processor_cx *cx) ^ -- >> arch/x86/mm/pat/set_memory.c:399:52: warning: Same expression on both sides >> of '||' because 'r1_start<=r2_end&&r1_end>=r2_start' and >> 'r2_start<=r1_end&&r2_end>=r1_start' represent the same value. >> [knownConditionTrueFalse] return (r1_start <= r2_end && r1_end >= r2_start) || ^ vim +/s +187 arch/x86/kernel/cpu/common.c 0790c9aad84901 Andy Lutomirski 2017-06-29 186 d12a72b844a49d Andy Lutomirski 2016-01-29 @187 static int __init x86_noinvpcid_setup(char *s) d12a72b844a49d Andy Lutomirski 2016-01-29 188 { d12a72b844a49d Andy Lutomirski 2016-01-29 189 /* noinvpcid doesn't accept parameters */ d12a72b844a49d Andy Lutomirski 2016-01-29 190 if (s) d12a72b844a49d Andy Lutomirski 2016-01-29 191 return -EINVAL; d12a72b844a49d Andy Lutomirski 2016-01-29 192 d12a72b844a49d Andy Lutomirski 2016-01-29 193 /* do not emit a message if the feature is not present */ d12a72b844a49d Andy Lutomirski 2016-01-29 194 if (!boot_cpu_has(X86_FEATURE_INVPCID)) d12a72b844a49d Andy Lutomirski 2016-01-29 195 return 0; d12a72b844a49d Andy Lutomirski 2016-01-29 196 d12a72b844a49d Andy Lutomirski 2016-01-29 197 setup_clear_cpu_cap(X86_FEATURE_INVPCID); d12a72b844a49d Andy Lutomirski 2016-01-29 198 pr_info("noinvpcid: INVPCID feature disabled\n"); d12a72b844a49d Andy Lutomirski 2016-01-29 199 return 0; d12a72b844a49d Andy Lutomirski 2016-01-29 200 } d12a72b844a49d Andy Lutomirski 2016-01-29 201 early_param("noinvpcid", x86_noinvpcid_setup); d12a72b844a49d Andy Lutomirski 2016-01-29 202 :::::: The code at line 187 was first introduced by commit :::::: d12a72b844a49d4162f24cefdab30bed3f86730e x86/mm: Add a 'noinvpcid' boot option to turn off INVPCID :::::: TO: Andy Lutomirski <[email protected]> :::::: CC: Ingo Molnar <[email protected]> -- 0-DAY CI Kernel Test Service https://01.org/lkp _______________________________________________ kbuild mailing list -- [email protected] To unsubscribe send an email to [email protected]
