tree: https://github.com/zen-kernel/zen-kernel 5.6/zen-sauce head: 28b9700a330bb5957c6ad7263095d148d5c35242 commit: 651fb09094936c829a4d430908c7e523e357cfbd [4/26] ZEN: Unrestrict CONFIG_OPTIMIZE_FOR_PERFORMANCE_O3 config: x86_64-randconfig-r014-20200509 (attached as .config) compiler: gcc-7 (Ubuntu 7.5.0-6ubuntu2) 7.5.0 reproduce: git checkout 651fb09094936c829a4d430908c7e523e357cfbd # save the attached .config to linux build tree make ARCH=x86_64 If you fix the issue, kindly add following tag as appropriate Reported-by: kbuild test robot All warnings (new ones prefixed by >>): kernel/trace/trace_events_hist.c: In function 'synth_event_add_next_val': >> kernel/trace/trace_events_hist.c:2118:8: warning: argument 2 null where non-null expected [-Wnonnull] if (strcmp(field->name, field_name) == 0) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from include/linux/bitmap.h:9:0, from include/linux/cpumask.h:12, from arch/x86/include/asm/cpumask.h:5, from arch/x86/include/asm/msr.h:11, from arch/x86/include/asm/processor.h:22, from arch/x86/include/asm/cpufeature.h:5, from arch/x86/include/asm/thread_info.h:53, from include/linux/thread_info.h:38, from arch/x86/include/asm/preempt.h:7, from include/linux/preempt.h:78, from include/linux/spinlock.h:51, from include/linux/seqlock.h:36, from include/linux/time.h:6, from include/linux/stat.h:19, from include/linux/module.h:13, from kernel/trace/trace_events_hist.c:8: include/linux/string.h:48:12: note: in a call to function 'strcmp' declared here extern int strcmp(const char *,const char *); ^~~~~~ vim +2118 kernel/trace/trace_events_hist.c 8dcc53ad956d2c Tom Zanussi 2020-01-29 2082 249d7b2ef674cd Tom Zanussi 2020-01-31 2083 static int __synth_event_add_val(const char *field_name, u64 val, 8dcc53ad956d2c Tom Zanussi 2020-01-29 2084 struct synth_event_trace_state *trace_state) 8dcc53ad956d2c Tom Zanussi 2020-01-29 2085 { 249d7b2ef674cd Tom Zanussi 2020-01-31 2086 struct synth_field *field = NULL; 249d7b2ef674cd Tom Zanussi 2020-01-31 2087 struct synth_trace_event *entry; 249d7b2ef674cd Tom Zanussi 2020-01-31 2088 struct synth_event *event; 249d7b2ef674cd Tom Zanussi 2020-01-31 2089 int i, ret = 0; 249d7b2ef674cd Tom Zanussi 2020-01-31 2090 249d7b2ef674cd Tom Zanussi 2020-01-31 2091 if (!trace_state) { 249d7b2ef674cd Tom Zanussi 2020-01-31 2092 ret = -EINVAL; 249d7b2ef674cd Tom Zanussi 2020-01-31 2093 goto out; 249d7b2ef674cd Tom Zanussi 2020-01-31 2094 } 249d7b2ef674cd Tom Zanussi 2020-01-31 2095 249d7b2ef674cd Tom Zanussi 2020-01-31 2096 /* can't mix add_next_synth_val() with add_synth_val() */ 249d7b2ef674cd Tom Zanussi 2020-01-31 2097 if (field_name) { 249d7b2ef674cd Tom Zanussi 2020-01-31 2098 if (trace_state->add_next) { 249d7b2ef674cd Tom Zanussi 2020-01-31 2099 ret = -EINVAL; 249d7b2ef674cd Tom Zanussi 2020-01-31 2100 goto out; 249d7b2ef674cd Tom Zanussi 2020-01-31 2101 } 249d7b2ef674cd Tom Zanussi 2020-01-31 2102 trace_state->add_name = true; 249d7b2ef674cd Tom Zanussi 2020-01-31 2103 } else { 249d7b2ef674cd Tom Zanussi 2020-01-31 2104 if (trace_state->add_name) { 249d7b2ef674cd Tom Zanussi 2020-01-31 2105 ret = -EINVAL; 249d7b2ef674cd Tom Zanussi 2020-01-31 2106 goto out; 249d7b2ef674cd Tom Zanussi 2020-01-31 2107 } 249d7b2ef674cd Tom Zanussi 2020-01-31 2108 trace_state->add_next = true; 249d7b2ef674cd Tom Zanussi 2020-01-31 2109 } 249d7b2ef674cd Tom Zanussi 2020-01-31 2110 7276531d4036f5 Tom Zanussi 2020-02-10 2111 if (trace_state->disabled) 249d7b2ef674cd Tom Zanussi 2020-01-31 2112 goto out; 8dcc53ad956d2c Tom Zanussi 2020-01-29 2113 249d7b2ef674cd Tom Zanussi 2020-01-31 2114 event = trace_state->event; 249d7b2ef674cd Tom Zanussi 2020-01-31 2115 if (trace_state->add_name) { 249d7b2ef674cd Tom Zanussi 2020-01-31 2116 for (i = 0; i < event->n_fields; i++) { 249d7b2ef674cd Tom Zanussi 2020-01-31 2117 field = event->fields[i]; 249d7b2ef674cd Tom Zanussi 2020-01-31 @2118 if (strcmp(field->name, field_name) == 0) 249d7b2ef674cd Tom Zanussi 2020-01-31 2119 break; 249d7b2ef674cd Tom Zanussi 2020-01-31 2120 } 249d7b2ef674cd Tom Zanussi 2020-01-31 2121 if (!field) { 249d7b2ef674cd Tom Zanussi 2020-01-31 2122 ret = -EINVAL; 249d7b2ef674cd Tom Zanussi 2020-01-31 2123 goto out; 249d7b2ef674cd Tom Zanussi 2020-01-31 2124 } 249d7b2ef674cd Tom Zanussi 2020-01-31 2125 } else { 249d7b2ef674cd Tom Zanussi 2020-01-31 2126 if (trace_state->cur_field >= event->n_fields) { 249d7b2ef674cd Tom Zanussi 2020-01-31 2127 ret = -EINVAL; 249d7b2ef674cd Tom Zanussi 2020-01-31 2128 goto out; 249d7b2ef674cd Tom Zanussi 2020-01-31 2129 } 249d7b2ef674cd Tom Zanussi 2020-01-31 2130 field = event->fields[trace_state->cur_field++]; 249d7b2ef674cd Tom Zanussi 2020-01-31 2131 } 249d7b2ef674cd Tom Zanussi 2020-01-31 2132 249d7b2ef674cd Tom Zanussi 2020-01-31 2133 entry = trace_state->entry; 8dcc53ad956d2c Tom Zanussi 2020-01-29 2134 if (field->is_string) { 8dcc53ad956d2c Tom Zanussi 2020-01-29 2135 char *str_val = (char *)(long)val; 8dcc53ad956d2c Tom Zanussi 2020-01-29 2136 char *str_field; 8dcc53ad956d2c Tom Zanussi 2020-01-29 2137 249d7b2ef674cd Tom Zanussi 2020-01-31 2138 if (!str_val) { 249d7b2ef674cd Tom Zanussi 2020-01-31 2139 ret = -EINVAL; 249d7b2ef674cd Tom Zanussi 2020-01-31 2140 goto out; 249d7b2ef674cd Tom Zanussi 2020-01-31 2141 } 8dcc53ad956d2c Tom Zanussi 2020-01-29 2142 8dcc53ad956d2c Tom Zanussi 2020-01-29 2143 str_field = (char *)&entry->fields[field->offset]; 8dcc53ad956d2c Tom Zanussi 2020-01-29 2144 strscpy(str_field, str_val, STR_VAR_LEN_MAX); 1d9d4c90194a8c Tom Zanussi 2020-02-14 2145 } else { 1d9d4c90194a8c Tom Zanussi 2020-02-14 2146 switch (field->size) { 1d9d4c90194a8c Tom Zanussi 2020-02-14 2147 case 1: 1d9d4c90194a8c Tom Zanussi 2020-02-14 2148 *(u8 *)&trace_state->entry->fields[field->offset] = (u8)val; 1d9d4c90194a8c Tom Zanussi 2020-02-14 2149 break; 1d9d4c90194a8c Tom Zanussi 2020-02-14 2150 1d9d4c90194a8c Tom Zanussi 2020-02-14 2151 case 2: 1d9d4c90194a8c Tom Zanussi 2020-02-14 2152 *(u16 *)&trace_state->entry->fields[field->offset] = (u16)val; 1d9d4c90194a8c Tom Zanussi 2020-02-14 2153 break; 1d9d4c90194a8c Tom Zanussi 2020-02-14 2154 1d9d4c90194a8c Tom Zanussi 2020-02-14 2155 case 4: 1d9d4c90194a8c Tom Zanussi 2020-02-14 2156 *(u32 *)&trace_state->entry->fields[field->offset] = (u32)val; 1d9d4c90194a8c Tom Zanussi 2020-02-14 2157 break; 1d9d4c90194a8c Tom Zanussi 2020-02-14 2158 1d9d4c90194a8c Tom Zanussi 2020-02-14 2159 default: 1d9d4c90194a8c Tom Zanussi 2020-02-14 2160 trace_state->entry->fields[field->offset] = val; 1d9d4c90194a8c Tom Zanussi 2020-02-14 2161 break; 1d9d4c90194a8c Tom Zanussi 2020-02-14 2162 } 1d9d4c90194a8c Tom Zanussi 2020-02-14 2163 } 249d7b2ef674cd Tom Zanussi 2020-01-31 2164 out: 249d7b2ef674cd Tom Zanussi 2020-01-31 2165 return ret; 8dcc53ad956d2c Tom Zanussi 2020-01-29 2166 } 8dcc53ad956d2c Tom Zanussi 2020-01-29 2167 :::::: The code at line 2118 was first introduced by commit :::::: 249d7b2ef674cdae28c377cfe6f56696548305d5 tracing: Consolidate some synth_event_trace code :::::: TO: Tom Zanussi :::::: CC: Steven Rostedt (VMware) --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org