From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============4310653237251174387==" MIME-Version: 1.0 From: kernel test robot Subject: [linux-next:master 8601/10945] kernel/trace/trace_eprobe.c:51:2: warning: Argument to kfree() is a constant address (4294967277), which is not memory allocated by malloc() [clang-analyzer-unix.Malloc] Date: Sat, 28 Aug 2021 20:21:37 +0800 Message-ID: <202108282033.dHnAz1G3-lkp@intel.com> List-Id: To: kbuild@lists.01.org --===============4310653237251174387== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable CC: llvm(a)lists.linux.dev CC: kbuild-all(a)lists.01.org CC: Linux Memory Management List TO: "Tzvetomir Stoyanov (VMware)" CC: "Steven Rostedt (VMware)" tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git= master head: 5e63226c72287bc6c6724d4fc7e157af0e3d7908 commit: 7491e2c442781a1860181adb5ab472a52075f393 [8601/10945] tracing: Add = a probe that attaches to trace events :::::: branch date: 25 hours ago :::::: commit date: 8 days ago config: i386-randconfig-c001-20210827 (attached as .config) compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 107608= 2a0d97bd5c16a25ee7cf3dbb6ee4b5a9fe) reproduce (this is a W=3D1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/= make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.g= it/commit/?id=3D7491e2c442781a1860181adb5ab472a52075f393 git remote add linux-next https://git.kernel.org/pub/scm/linux/kern= el/git/next/linux-next.git git fetch --no-tags linux-next master git checkout 7491e2c442781a1860181adb5ab472a52075f393 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=3D$HOME/0day COMPILER=3Dclang make.cross ARCH= =3Di386 clang-analyzer = If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot clang-analyzer warnings: (new ones prefixed by >>) ^ include/linux/compiler_types.h:290:3: note: expanded from macro '__nativ= e_word' (sizeof(t) =3D=3D sizeof(char) || sizeof(t) =3D=3D sizeof(short)= || \ ^ include/linux/list.h:282:9: note: Left side of '||' is false return READ_ONCE(head->next) =3D=3D head; ^ include/asm-generic/rwonce.h:49:2: note: expanded from macro 'READ_ONCE' compiletime_assert_rwonce_type(x); \ ^ include/asm-generic/rwonce.h:36:21: note: expanded from macro 'compileti= me_assert_rwonce_type' compiletime_assert(__native_word(t) || sizeof(t) =3D=3D sizeof(l= ong long), \ ^ include/linux/compiler_types.h:290:3: note: expanded from macro '__nativ= e_word' (sizeof(t) =3D=3D sizeof(char) || sizeof(t) =3D=3D sizeof(short)= || \ ^ include/linux/list.h:282:9: note: Left side of '||' is true return READ_ONCE(head->next) =3D=3D head; ^ include/asm-generic/rwonce.h:49:2: note: expanded from macro 'READ_ONCE' compiletime_assert_rwonce_type(x); \ ^ include/asm-generic/rwonce.h:36:21: note: expanded from macro 'compileti= me_assert_rwonce_type' compiletime_assert(__native_word(t) || sizeof(t) =3D=3D sizeof(l= ong long), \ ^ include/linux/compiler_types.h:291:28: note: expanded from macro '__nati= ve_word' sizeof(t) =3D=3D sizeof(int) || sizeof(t) =3D=3D sizeof(long)) ^ include/linux/list.h:282:9: note: Taking false branch return READ_ONCE(head->next) =3D=3D head; ^ include/asm-generic/rwonce.h:49:2: note: expanded from macro 'READ_ONCE' compiletime_assert_rwonce_type(x); \ ^ include/asm-generic/rwonce.h:36:2: note: expanded from macro 'compiletim= e_assert_rwonce_type' compiletime_assert(__native_word(t) || sizeof(t) =3D=3D sizeof(l= ong long), \ ^ include/linux/compiler_types.h:328:2: note: expanded from macro 'compile= time_assert' _compiletime_assert(condition, msg, __compiletime_assert_, __COU= NTER__) ^ include/linux/compiler_types.h:316:2: note: expanded from macro '_compil= etime_assert' __compiletime_assert(condition, msg, prefix, suffix) ^ include/linux/compiler_types.h:308:3: note: expanded from macro '__compi= letime_assert' if (!(condition)) \ ^ include/linux/list.h:282:9: note: Loop condition is false. Exiting loop return READ_ONCE(head->next) =3D=3D head; ^ include/asm-generic/rwonce.h:49:2: note: expanded from macro 'READ_ONCE' compiletime_assert_rwonce_type(x); \ ^ include/asm-generic/rwonce.h:36:2: note: expanded from macro 'compiletim= e_assert_rwonce_type' compiletime_assert(__native_word(t) || sizeof(t) =3D=3D sizeof(l= ong long), \ ^ include/linux/compiler_types.h:328:2: note: expanded from macro 'compile= time_assert' _compiletime_assert(condition, msg, __compiletime_assert_, __COU= NTER__) ^ include/linux/compiler_types.h:316:2: note: expanded from macro '_compil= etime_assert' __compiletime_assert(condition, msg, prefix, suffix) ^ include/linux/compiler_types.h:306:2: note: expanded from macro '__compi= letime_assert' do { \ ^ include/linux/list.h:282:2: note: Returning zero, which participates in = a condition later return READ_ONCE(head->next) =3D=3D head; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/list.h:467:7: note: Returning from 'list_empty' if (!list_empty(list)) ^~~~~~~~~~~~~~~~ include/linux/list.h:467:2: note: Taking true branch if (!list_empty(list)) ^ include/linux/list.h:468:23: note: Passing null pointer value via 2nd pa= rameter 'prev' __list_splice(list, head->prev, head); ^~~~~~~~~~ include/linux/list.h:468:3: note: Calling '__list_splice' __list_splice(list, head->prev, head); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/list.h:441:13: note: Access to field 'next' results in a d= ereference of a null pointer (loaded from variable 'prev') prev->next =3D first; ~~~~ ^ Suppressed 3 warnings (3 in non-user code). Use -header-filter=3D.* to display errors from all non-system headers. U= se -system-headers to display errors from system headers as well. 3 warnings generated. Suppressed 3 warnings (3 in non-user code). Use -header-filter=3D.* to display errors from all non-system headers. U= se -system-headers to display errors from system headers as well. 3 warnings generated. Suppressed 3 warnings (3 in non-user code). Use -header-filter=3D.* to display errors from all non-system headers. U= se -system-headers to display errors from system headers as well. 3 warnings generated. Suppressed 3 warnings (3 in non-user code). Use -header-filter=3D.* to display errors from all non-system headers. U= se -system-headers to display errors from system headers as well. 3 warnings generated. Suppressed 3 warnings (3 in non-user code). Use -header-filter=3D.* to display errors from all non-system headers. U= se -system-headers to display errors from system headers as well. 3 warnings generated. Suppressed 3 warnings (3 in non-user code). Use -header-filter=3D.* to display errors from all non-system headers. U= se -system-headers to display errors from system headers as well. 9 warnings generated. >> kernel/trace/trace_eprobe.c:51:2: warning: Argument to kfree() is a cons= tant address (4294967277), which is not memory allocated by malloc() [clang= -analyzer-unix.Malloc] kfree(ep); ^ kernel/trace/trace_eprobe.c:817:6: note: Assuming 'argc' is >=3D 2 if (argc < 2 || argv[0][0] !=3D 'e') ^~~~~~~~ kernel/trace/trace_eprobe.c:817:6: note: Left side of '||' is false kernel/trace/trace_eprobe.c:817:18: note: Assuming the condition is false if (argc < 2 || argv[0][0] !=3D 'e') ^~~~~~~~~~~~~~~~~ kernel/trace/trace_eprobe.c:817:2: note: Taking false branch if (argc < 2 || argv[0][0] !=3D 'e') ^ kernel/trace/trace_eprobe.c:823:6: note: Assuming 'event' is non-null if (event) { ^~~~~ kernel/trace/trace_eprobe.c:823:2: note: Taking true branch if (event) { ^ kernel/trace/trace_eprobe.c:827:7: note: Assuming 'ret' is 0 if (ret) ^~~ kernel/trace/trace_eprobe.c:827:3: note: Taking false branch if (ret) ^ kernel/trace/trace_eprobe.c:834:6: note: Left side of '||' is false if (!is_good_name(event) || !is_good_name(group)) ^ kernel/trace/trace_eprobe.c:834:2: note: Taking false branch if (!is_good_name(event) || !is_good_name(group)) ^ kernel/trace/trace_eprobe.c:840:6: note: Assuming 'ret' is 0 if (ret || !sys_name) ^~~ kernel/trace/trace_eprobe.c:840:6: note: Left side of '||' is false kernel/trace/trace_eprobe.c:840:13: note: Assuming 'sys_name' is non-null if (ret || !sys_name) ^~~~~~~~~ kernel/trace/trace_eprobe.c:840:2: note: Taking false branch if (ret || !sys_name) ^ kernel/trace/trace_eprobe.c:842:6: note: Left side of '||' is false if (!is_good_name(sys_event) || !is_good_name(sys_name)) ^ kernel/trace/trace_eprobe.c:842:2: note: Taking false branch if (!is_good_name(sys_event) || !is_good_name(sys_name)) ^ kernel/trace/trace_eprobe.c:850:2: note: Taking true branch if (IS_ERR(ep)) { ^ kernel/trace/trace_eprobe.c:853:3: note: Taking true branch WARN_ON_ONCE(ret !=3D -ENOMEM); ^ include/asm-generic/bug.h:105:2: note: expanded from macro 'WARN_ON_ONCE' if (unlikely(__ret_warn_on)) \ ^ kernel/trace/trace_eprobe.c:853:3: note: Loop condition is false. Exiti= ng loop WARN_ON_ONCE(ret !=3D -ENOMEM); ^ include/asm-generic/bug.h:106:3: note: expanded from macro 'WARN_ON_ONCE' __WARN_FLAGS(BUGFLAG_ONCE | \ ^ arch/x86/include/asm/bug.h:78:2: note: expanded from macro '__WARN_FLAGS' instrumentation_begin(); \ ^ include/linux/instrumentation.h:57:34: note: expanded from macro 'instru= mentation_begin' # define instrumentation_begin() do { } while(0) ^ kernel/trace/trace_eprobe.c:853:3: note: Loop condition is false. Exiti= ng loop WARN_ON_ONCE(ret !=3D -ENOMEM); ^ include/asm-generic/bug.h:106:3: note: expanded from macro 'WARN_ON_ONCE' __WARN_FLAGS(BUGFLAG_ONCE | \ ^ arch/x86/include/asm/bug.h:79:2: note: expanded from macro '__WARN_FLAGS' _BUG_FLAGS(ASM_UD2, BUGFLAG_WARNING|(flags)); \ ^ arch/x86/include/asm/bug.h:25:37: note: expanded from macro '_BUG_FLAGS' #define _BUG_FLAGS(ins, flags) \ ^ kernel/trace/trace_eprobe.c:853:3: note: Loop condition is false. Exiti= ng loop WARN_ON_ONCE(ret !=3D -ENOMEM); ^ include/asm-generic/bug.h:106:3: note: expanded from macro 'WARN_ON_ONCE' __WARN_FLAGS(BUGFLAG_ONCE | \ ^ arch/x86/include/asm/bug.h:81:2: note: expanded from macro '__WARN_FLAGS' instrumentation_end(); \ ^ include/linux/instrumentation.h:58:33: note: expanded from macro 'instru= mentation_end' # define instrumentation_end() do { } while(0) ^ kernel/trace/trace_eprobe.c:853:3: note: Loop condition is false. Exiti= ng loop WARN_ON_ONCE(ret !=3D -ENOMEM); ^ include/asm-generic/bug.h:106:3: note: expanded from macro 'WARN_ON_ONCE' __WARN_FLAGS(BUGFLAG_ONCE | \ ^ arch/x86/include/asm/bug.h:76:33: note: expanded from macro '__WARN_FLAG= S' #define __WARN_FLAGS(flags) \ ^ -- ^ kernel/trace/trace_eprobe.c:49:6: note: Assuming field 'event' is null if (ep->event) ^~~~~~~~~ kernel/trace/trace_eprobe.c:49:2: note: Taking false branch if (ep->event) ^ kernel/trace/trace_eprobe.c:51:2: note: Argument to kfree() is a constan= t address (4294967277), which is not memory allocated by malloc() kfree(ep); ^ ~~ kernel/trace/trace_eprobe.c:51:2: warning: Argument to kfree() is a cons= tant address (4294967284), which is not memory allocated by malloc() [clang= -analyzer-unix.Malloc] kfree(ep); ^ kernel/trace/trace_eprobe.c:817:6: note: Assuming 'argc' is >=3D 2 if (argc < 2 || argv[0][0] !=3D 'e') ^~~~~~~~ kernel/trace/trace_eprobe.c:817:6: note: Left side of '||' is false kernel/trace/trace_eprobe.c:817:18: note: Assuming the condition is false if (argc < 2 || argv[0][0] !=3D 'e') ^~~~~~~~~~~~~~~~~ kernel/trace/trace_eprobe.c:817:2: note: Taking false branch if (argc < 2 || argv[0][0] !=3D 'e') ^ kernel/trace/trace_eprobe.c:823:6: note: Assuming 'event' is non-null if (event) { ^~~~~ kernel/trace/trace_eprobe.c:823:2: note: Taking true branch if (event) { ^ kernel/trace/trace_eprobe.c:827:7: note: Assuming 'ret' is 0 if (ret) ^~~ kernel/trace/trace_eprobe.c:827:3: note: Taking false branch if (ret) ^ kernel/trace/trace_eprobe.c:834:6: note: Left side of '||' is false if (!is_good_name(event) || !is_good_name(group)) ^ kernel/trace/trace_eprobe.c:834:30: note: Assuming the condition is false if (!is_good_name(event) || !is_good_name(group)) ^~~~~~~~~~~~~~~~~~~~ kernel/trace/trace_eprobe.c:834:2: note: Taking false branch if (!is_good_name(event) || !is_good_name(group)) ^ kernel/trace/trace_eprobe.c:840:6: note: Assuming 'ret' is 0 if (ret || !sys_name) ^~~ kernel/trace/trace_eprobe.c:840:6: note: Left side of '||' is false kernel/trace/trace_eprobe.c:840:13: note: Assuming 'sys_name' is non-null if (ret || !sys_name) ^~~~~~~~~ kernel/trace/trace_eprobe.c:840:2: note: Taking false branch if (ret || !sys_name) ^ kernel/trace/trace_eprobe.c:842:6: note: Assuming the condition is false if (!is_good_name(sys_event) || !is_good_name(sys_name)) ^~~~~~~~~~~~~~~~~~~~~~~~ kernel/trace/trace_eprobe.c:842:6: note: Left side of '||' is false kernel/trace/trace_eprobe.c:842:34: note: Assuming the condition is false if (!is_good_name(sys_event) || !is_good_name(sys_name)) ^~~~~~~~~~~~~~~~~~~~~~~ kernel/trace/trace_eprobe.c:842:2: note: Taking false branch if (!is_good_name(sys_event) || !is_good_name(sys_name)) ^ kernel/trace/trace_eprobe.c:850:2: note: Taking true branch if (IS_ERR(ep)) { ^ kernel/trace/trace_eprobe.c:853:16: note: Assuming the condition is false WARN_ON_ONCE(ret !=3D -ENOMEM); ^ include/asm-generic/bug.h:104:25: note: expanded from macro 'WARN_ON_ONC= E' int __ret_warn_on =3D !!(condition); \ ^~~~~~~~~ kernel/trace/trace_eprobe.c:853:3: note: Taking false branch WARN_ON_ONCE(ret !=3D -ENOMEM); ^ include/asm-generic/bug.h:105:2: note: expanded from macro 'WARN_ON_ONCE' if (unlikely(__ret_warn_on)) \ ^ kernel/trace/trace_eprobe.c:854:3: note: Control jumps to line 885 goto error; /* We know ep is not allocated */ ^ kernel/trace/trace_eprobe.c:885:2: note: Calling 'trace_event_probe_clea= nup' trace_event_probe_cleanup(ep); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kernel/trace/trace_eprobe.c:44:7: note: 'ep' is non-null if (!ep) ^~ kernel/trace/trace_eprobe.c:44:2: note: Taking false branch if (!ep) ^ kernel/trace/trace_eprobe.c:49:6: note: Assuming field 'event' is null if (ep->event) ^~~~~~~~~ kernel/trace/trace_eprobe.c:49:2: note: Taking false branch if (ep->event) ^ kernel/trace/trace_eprobe.c:51:2: note: Argument to kfree() is a constan= t address (4294967284), which is not memory allocated by malloc() kfree(ep); ^ ~~ >> kernel/trace/trace_eprobe.c:154:23: warning: Access to field 'event' res= ults in a dereference of a null pointer (loaded from variable 'ep') [clang-= analyzer-core.NullDereference] trace_event_put_ref(ep->event); ^ kernel/trace/trace_eprobe.c:817:6: note: Assuming 'argc' is >=3D 2 if (argc < 2 || argv[0][0] !=3D 'e') ^~~~~~~~ kernel/trace/trace_eprobe.c:817:6: note: Left side of '||' is false kernel/trace/trace_eprobe.c:817:18: note: Assuming the condition is false if (argc < 2 || argv[0][0] !=3D 'e') ^~~~~~~~~~~~~~~~~ kernel/trace/trace_eprobe.c:817:2: note: Taking false branch if (argc < 2 || argv[0][0] !=3D 'e') ^ kernel/trace/trace_eprobe.c:823:6: note: Assuming 'event' is non-null if (event) { ^~~~~ kernel/trace/trace_eprobe.c:823:2: note: Taking true branch if (event) { ^ kernel/trace/trace_eprobe.c:827:7: note: Assuming 'ret' is 0 if (ret) ^~~ kernel/trace/trace_eprobe.c:827:3: note: Taking false branch if (ret) ^ kernel/trace/trace_eprobe.c:834:7: note: Calling 'is_good_name' if (!is_good_name(event) || !is_good_name(group)) ^~~~~~~~~~~~~~~~~~~ kernel/trace/trace.h:1922:6: note: Assuming the condition is false if (!isalpha(*name) && *name !=3D '_') ^~~~~~~~~~~~~~~ kernel/trace/trace.h:1922:22: note: Left side of '&&' is false if (!isalpha(*name) && *name !=3D '_') ^ kernel/trace/trace.h:1924:9: note: Assuming the condition is false while (*++name !=3D '\0') { ^~~~~~~~~~~~~~~ kernel/trace/trace.h:1924:2: note: Loop condition is false. Execution co= ntinues on line 1928 while (*++name !=3D '\0') { ^ kernel/trace/trace.h:1928:2: note: Returning the value 1, which particip= ates in a condition later return true; ^~~~~~~~~~~ kernel/trace/trace_eprobe.c:834:7: note: Returning from 'is_good_name' if (!is_good_name(event) || !is_good_name(group)) ^~~~~~~~~~~~~~~~~~~ kernel/trace/trace_eprobe.c:834:6: note: Left side of '||' is false if (!is_good_name(event) || !is_good_name(group)) ^ kernel/trace/trace_eprobe.c:834:31: note: Calling 'is_good_name' if (!is_good_name(event) || !is_good_name(group)) ^~~~~~~~~~~~~~~~~~~ kernel/trace/trace.h:1922:6: note: Assuming the condition is false if (!isalpha(*name) && *name !=3D '_') ^~~~~~~~~~~~~~~ kernel/trace/trace.h:1922:22: note: Left side of '&&' is false if (!isalpha(*name) && *name !=3D '_') ^ kernel/trace/trace.h:1924:9: note: Assuming the condition is false while (*++name !=3D '\0') { ^~~~~~~~~~~~~~~ kernel/trace/trace.h:1924:2: note: Loop condition is false. Execution co= ntinues on line 1928 while (*++name !=3D '\0') { ^ kernel/trace/trace.h:1928:2: note: Returning the value 1, which particip= ates in a condition later return true; ^~~~~~~~~~~ kernel/trace/trace_eprobe.c:834:31: note: Returning from 'is_good_name' if (!is_good_name(event) || !is_good_name(group)) ^~~~~~~~~~~~~~~~~~~ kernel/trace/trace_eprobe.c:834:2: note: Taking false branch if (!is_good_name(event) || !is_good_name(group)) ^ kernel/trace/trace_eprobe.c:840:6: note: Assuming 'ret' is 0 if (ret || !sys_name) ^~~ kernel/trace/trace_eprobe.c:840:6: note: Left side of '||' is false kernel/trace/trace_eprobe.c:840:13: note: Assuming 'sys_name' is non-null if (ret || !sys_name) ^~~~~~~~~ kernel/trace/trace_eprobe.c:840:2: note: Taking false branch if (ret || !sys_name) ^ kernel/trace/trace_eprobe.c:842:7: note: Calling 'is_good_name' if (!is_good_name(sys_event) || !is_good_name(sys_name)) ^~~~~~~~~~~~~~~~~~~~~~~ kernel/trace/trace.h:1922:6: note: Assuming the condition is false if (!isalpha(*name) && *name !=3D '_') ^~~~~~~~~~~~~~~ kernel/trace/trace.h:1922:22: note: Left side of '&&' is false if (!isalpha(*name) && *name !=3D '_') ^ kernel/trace/trace.h:1924:9: note: Assuming the condition is false while (*++name !=3D '\0') { ^~~~~~~~~~~~~~~ kernel/trace/trace.h:1924:2: note: Loop condition is false. Execution co= ntinues on line 1928 while (*++name !=3D '\0') { ^ kernel/trace/trace.h:1928:2: note: Returning the value 1, which particip= ates in a condition later return true; ^~~~~~~~~~~ -- container_of(ptr, type, member) ^ include/linux/kernel.h:495:61: note: expanded from macro 'container_of' BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \ ^ kernel/trace/trace_eprobe.c:703:3: note: Taking false branch list_for_each_entry(pos, trace_probe_probe_list(tp), lis= t) { ^ include/linux/list.h:628:13: note: expanded from macro 'list_for_each_en= try' for (pos =3D list_first_entry(head, typeof(*pos), member); = \ ^ include/linux/list.h:522:2: note: expanded from macro 'list_first_entry' list_entry((ptr)->next, type, member) ^ include/linux/list.h:511:2: note: expanded from macro 'list_entry' container_of(ptr, type, member) ^ note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit= =3D0 to see all) include/linux/compiler_types.h:328:2: note: expanded from macro 'compile= time_assert' _compiletime_assert(condition, msg, __compiletime_assert_, __COU= NTER__) ^ include/linux/compiler_types.h:316:2: note: expanded from macro '_compil= etime_assert' __compiletime_assert(condition, msg, prefix, suffix) ^ include/linux/compiler_types.h:308:3: note: expanded from macro '__compi= letime_assert' if (!(condition)) \ ^ kernel/trace/trace_eprobe.c:703:3: note: Loop condition is false. Exiti= ng loop list_for_each_entry(pos, trace_probe_probe_list(tp), lis= t) { ^ include/linux/list.h:628:13: note: expanded from macro 'list_for_each_en= try' for (pos =3D list_first_entry(head, typeof(*pos), member); = \ ^ include/linux/list.h:522:2: note: expanded from macro 'list_first_entry' list_entry((ptr)->next, type, member) ^ include/linux/list.h:511:2: note: expanded from macro 'list_entry' container_of(ptr, type, member) ^ note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit= =3D0 to see all) include/linux/compiler_types.h:328:2: note: expanded from macro 'compile= time_assert' _compiletime_assert(condition, msg, __compiletime_assert_, __COU= NTER__) ^ include/linux/compiler_types.h:316:2: note: expanded from macro '_compil= etime_assert' __compiletime_assert(condition, msg, prefix, suffix) ^ include/linux/compiler_types.h:306:2: note: expanded from macro '__compi= letime_assert' do { \ ^ kernel/trace/trace_eprobe.c:703:3: note: Loop condition is true. Enteri= ng loop body list_for_each_entry(pos, trace_probe_probe_list(tp), lis= t) { ^ include/linux/list.h:628:2: note: expanded from macro 'list_for_each_ent= ry' for (pos =3D list_first_entry(head, typeof(*pos), member); = \ ^ kernel/trace/trace_eprobe.c:704:9: note: Left side of '&&' is false ep =3D container_of(pos, struct trace_eprobe, tp= ); ^ include/linux/kernel.h:495:61: note: expanded from macro 'container_of' BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \ ^ kernel/trace/trace_eprobe.c:704:9: note: Taking false branch ep =3D container_of(pos, struct trace_eprobe, tp= ); ^ include/linux/kernel.h:495:2: note: expanded from macro 'container_of' BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \ ^ include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON= _MSG' #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) ^ include/linux/compiler_types.h:328:2: note: expanded from macro 'compile= time_assert' _compiletime_assert(condition, msg, __compiletime_assert_, __COU= NTER__) ^ include/linux/compiler_types.h:316:2: note: expanded from macro '_compil= etime_assert' __compiletime_assert(condition, msg, prefix, suffix) ^ include/linux/compiler_types.h:308:3: note: expanded from macro '__compi= letime_assert' if (!(condition)) \ ^ kernel/trace/trace_eprobe.c:704:9: note: Loop condition is false. Exiti= ng loop ep =3D container_of(pos, struct trace_eprobe, tp= ); ^ include/linux/kernel.h:495:2: note: expanded from macro 'container_of' BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \ ^ include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON= _MSG' #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) ^ include/linux/compiler_types.h:328:2: note: expanded from macro 'compile= time_assert' _compiletime_assert(condition, msg, __compiletime_assert_, __COU= NTER__) ^ include/linux/compiler_types.h:316:2: note: expanded from macro '_compil= etime_assert' __compiletime_assert(condition, msg, prefix, suffix) ^ include/linux/compiler_types.h:306:2: note: expanded from macro '__compi= letime_assert' do { \ ^ kernel/trace/trace_eprobe.c:705:23: note: Access to field 'tr' results i= n a dereference of a null pointer (loaded from variable 'file') disable_eprobe(ep, file->tr); ^~~~ >> kernel/trace/trace_eprobe.c:886:2: warning: Use of memory after it is fr= eed [clang-analyzer-unix.Malloc] return ret; ^ ~~~ kernel/trace/trace_eprobe.c:817:6: note: Assuming 'argc' is >=3D 2 if (argc < 2 || argv[0][0] !=3D 'e') ^~~~~~~~ kernel/trace/trace_eprobe.c:817:6: note: Left side of '||' is false kernel/trace/trace_eprobe.c:817:18: note: Assuming the condition is false if (argc < 2 || argv[0][0] !=3D 'e') ^~~~~~~~~~~~~~~~~ kernel/trace/trace_eprobe.c:817:2: note: Taking false branch if (argc < 2 || argv[0][0] !=3D 'e') ^ kernel/trace/trace_eprobe.c:823:6: note: Assuming 'event' is non-null if (event) { ^~~~~ kernel/trace/trace_eprobe.c:823:2: note: Taking true branch if (event) { ^ kernel/trace/trace_eprobe.c:827:7: note: Assuming 'ret' is 0 if (ret) ^~~ kernel/trace/trace_eprobe.c:827:3: note: Taking false branch if (ret) ^ kernel/trace/trace_eprobe.c:834:6: note: Left side of '||' is false if (!is_good_name(event) || !is_good_name(group)) ^ kernel/trace/trace_eprobe.c:834:30: note: Assuming the condition is false if (!is_good_name(event) || !is_good_name(group)) ^~~~~~~~~~~~~~~~~~~~ kernel/trace/trace_eprobe.c:834:2: note: Taking false branch if (!is_good_name(event) || !is_good_name(group)) ^ kernel/trace/trace_eprobe.c:840:6: note: Assuming 'ret' is 0 if (ret || !sys_name) ^~~ kernel/trace/trace_eprobe.c:840:6: note: Left side of '||' is false kernel/trace/trace_eprobe.c:840:13: note: Assuming 'sys_name' is non-null if (ret || !sys_name) ^~~~~~~~~ kernel/trace/trace_eprobe.c:840:2: note: Taking false branch if (ret || !sys_name) ^ kernel/trace/trace_eprobe.c:842:6: note: Assuming the condition is false if (!is_good_name(sys_event) || !is_good_name(sys_name)) ^~~~~~~~~~~~~~~~~~~~~~~~ kernel/trace/trace_eprobe.c:842:6: note: Left side of '||' is false kernel/trace/trace_eprobe.c:842:34: note: Assuming the condition is false if (!is_good_name(sys_event) || !is_good_name(sys_name)) ^~~~~~~~~~~~~~~~~~~~~~~ kernel/trace/trace_eprobe.c:842:2: note: Taking false branch if (!is_good_name(sys_event) || !is_good_name(sys_name)) ^ kernel/trace/trace_eprobe.c:850:2: note: Taking true branch if (IS_ERR(ep)) { ^ kernel/trace/trace_eprobe.c:853:16: note: Assuming the condition is true WARN_ON_ONCE(ret !=3D -ENOMEM); ^ include/asm-generic/bug.h:104:25: note: expanded from macro 'WARN_ON_ONC= E' int __ret_warn_on =3D !!(condition); \ ^~~~~~~~~ kernel/trace/trace_eprobe.c:853:3: note: Taking true branch WARN_ON_ONCE(ret !=3D -ENOMEM); ^ include/asm-generic/bug.h:105:2: note: expanded from macro 'WARN_ON_ONCE' if (unlikely(__ret_warn_on)) \ ^ kernel/trace/trace_eprobe.c:853:3: note: Loop condition is false. Exiti= ng loop WARN_ON_ONCE(ret !=3D -ENOMEM); ^ include/asm-generic/bug.h:106:3: note: expanded from macro 'WARN_ON_ONCE' __WARN_FLAGS(BUGFLAG_ONCE | \ ^ arch/x86/include/asm/bug.h:78:2: note: expanded from macro '__WARN_FLAGS' instrumentation_begin(); \ ^ include/linux/instrumentation.h:57:34: note: expanded from macro 'instru= mentation_begin' # define instrumentation_begin() do { } while(0) ^ kernel/trace/trace_eprobe.c:853:3: note: Loop condition is false. Exiti= ng loop WARN_ON_ONCE(ret !=3D -ENOMEM); ^ include/asm-generic/bug.h:106:3: note: expanded from macro 'WARN_ON_ONCE' __WARN_FLAGS(BUGFLAG_ONCE | \ ^ arch/x86/include/asm/bug.h:79:2: note: expanded from macro '__WARN_FLAGS' _BUG_FLAGS(ASM_UD2, BUGFLAG_WARNING|(flags)); \ ^ arch/x86/include/asm/bug.h:25:37: note: expanded from macro '_BUG_FLAGS' #define _BUG_FLAGS(ins, flags) \ ^ kernel/trace/trace_eprobe.c:853:3: note: Loop condition is false. Exiti= ng loop WARN_ON_ONCE(ret !=3D -ENOMEM); ^ include/asm-generic/bug.h:106:3: note: expanded from macro 'WARN_ON_ONCE' __WARN_FLAGS(BUGFLAG_ONCE | \ ^ arch/x86/include/asm/bug.h:81:2: note: expanded from macro '__WARN_FLAGS' instrumentation_end(); \ vim +51 kernel/trace/trace_eprobe.c 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 41) = 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 42) static void tra= ce_event_probe_cleanup(struct trace_eprobe *ep) 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 43) { 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 44) if (!ep) 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 45) return; 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 46) trace_probe_cl= eanup(&ep->tp); 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 47) kfree(ep->even= t_name); 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 48) kfree(ep->even= t_system); 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 49) if (ep->event) 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 50) trace_event_p= ut_ref(ep->event); 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 @51) kfree(ep); 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 52) } 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 53) = 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 54) static struct t= race_eprobe *to_trace_eprobe(struct dyn_event *ev) 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 55) { 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 56) return contain= er_of(ev, struct trace_eprobe, devent); 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 57) } 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 58) = 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 59) static int epro= be_dyn_event_create(const char *raw_command) 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 60) { 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 61) return trace_p= robe_create(raw_command, __trace_eprobe_create); 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 62) } 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 63) = 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 64) static int epro= be_dyn_event_show(struct seq_file *m, struct dyn_event *ev) 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 65) { 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 66) struct trace_e= probe *ep =3D to_trace_eprobe(ev); 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 67) int i; 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 68) = 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 69) seq_printf(m, = "e:%s/%s", trace_probe_group_name(&ep->tp), 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 70) trace_probe= _name(&ep->tp)); 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 71) seq_printf(m, = " %s.%s", ep->event_system, ep->event_name); 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 72) = 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 73) for (i =3D 0; = i < ep->tp.nr_args; i++) 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 74) seq_printf(m,= " %s=3D%s", ep->tp.args[i].name, ep->tp.args[i].comm); 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 75) seq_putc(m, '\= n'); 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 76) = 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 77) return 0; 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 78) } 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 79) = 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 80) static int unre= gister_trace_eprobe(struct trace_eprobe *ep) 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 81) { 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 82) /* If other pr= obes are on the event, just unregister eprobe */ 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 83) if (trace_prob= e_has_sibling(&ep->tp)) 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 84) goto unreg; 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 85) = 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 86) /* Enabled eve= nt can not be unregistered */ 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 87) if (trace_prob= e_is_enabled(&ep->tp)) 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 88) return -EBUSY; 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 89) = 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 90) /* Will fail i= f probe is being used by ftrace or perf */ 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 91) if (trace_prob= e_unregister_event_call(&ep->tp)) 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 92) return -EBUSY; 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 93) = 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 94) unreg: 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 95) dyn_event_remo= ve(&ep->devent); 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 96) trace_probe_un= link(&ep->tp); 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 97) = 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 98) return 0; 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 99) } 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 100) = 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 101) static int epro= be_dyn_event_release(struct dyn_event *ev) 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 102) { 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 103) struct trace_e= probe *ep =3D to_trace_eprobe(ev); 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 104) int ret =3D un= register_trace_eprobe(ep); 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 105) = 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 106) if (!ret) 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 107) trace_event_p= robe_cleanup(ep); 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 108) return ret; 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 109) } 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 110) = 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 111) static bool epr= obe_dyn_event_is_busy(struct dyn_event *ev) 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 112) { 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 113) struct trace_e= probe *ep =3D to_trace_eprobe(ev); 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 114) = 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 115) return trace_p= robe_is_enabled(&ep->tp); 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 116) } 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 117) = 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 118) static bool epr= obe_dyn_event_match(const char *system, const char *event, 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 119) int argc, co= nst char **argv, struct dyn_event *ev) 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 120) { 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 121) struct trace_e= probe *ep =3D to_trace_eprobe(ev); 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 122) = 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 123) return strcmp(= trace_probe_name(&ep->tp), event) =3D=3D 0 && 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 124) (!system |= | strcmp(trace_probe_group_name(&ep->tp), system) =3D=3D 0) && 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 125) trace_prob= e_match_command_args(&ep->tp, argc, argv); 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 126) } 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 127) = 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 128) static struct d= yn_event_operations eprobe_dyn_event_ops =3D { 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 129) .create =3D ep= robe_dyn_event_create, 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 130) .show =3D epro= be_dyn_event_show, 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 131) .is_busy =3D e= probe_dyn_event_is_busy, 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 132) .free =3D epro= be_dyn_event_release, 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 133) .match =3D epr= obe_dyn_event_match, 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 134) }; 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 135) = 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 136) static struct t= race_eprobe *alloc_event_probe(const char *group, 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 137) cons= t char *this_event, 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 138) stru= ct trace_event_call *event, 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 139) int = nargs) 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 140) { 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 141) struct trace_e= probe *ep; 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 142) const char *ev= ent_name; 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 143) const char *sy= s_name; 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 144) int ret =3D -E= NOMEM; 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 145) = 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 146) if (!event) 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 147) return ERR_PT= R(-ENODEV); 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 148) = 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 149) sys_name =3D e= vent->class->system; 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 150) event_name =3D= trace_event_name(event); 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 151) = 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 152) ep =3D kzalloc= (struct_size(ep, tp.args, nargs), GFP_KERNEL); 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 153) if (!ep) { 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 @154) trace_event_p= ut_ref(ep->event); 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 155) goto error; 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 156) } 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 157) ep->event =3D = event; 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 158) ep->event_name= =3D kstrdup(event_name, GFP_KERNEL); 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 159) if (!ep->event= _name) 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 160) goto error; 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 161) ep->event_syst= em =3D kstrdup(sys_name, GFP_KERNEL); 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 162) if (!ep->event= _system) 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 163) goto error; 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 164) = 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 165) ret =3D trace_= probe_init(&ep->tp, this_event, group, false); 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 166) if (ret < 0) 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 167) goto error; 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 168) = 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 169) dyn_event_init= (&ep->devent, &eprobe_dyn_event_ops); 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 170) return ep; 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 171) error: 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 172) trace_event_pr= obe_cleanup(ep); 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 173) return ERR_PTR= (ret); 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 174) } 7491e2c442781a Tzvetomir Stoyanov (VMware 2021-08-19 175) = --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org --===============4310653237251174387== Content-Type: application/gzip MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="config.gz" 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 AQA= --===============4310653237251174387==--