Hi Jim, I love your patch! Perhaps something to improve: [auto build test WARNING on linus/master] [also build test WARNING on next-20200613] [cannot apply to jeyu/modules-next linux/master v5.7] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system. BTW, we also suggest to use '--base' option to specify the base tree in git format-patch, please see https://stackoverflow.com/a/37406982] url: https://github.com/0day-ci/linux/commits/Jim-Cromie/dynamic_debug-cleanups-query-features-WIP-print-classes/20200614-000302 base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git df2fbf5bfa0e7fff8b4784507e4d68f200454318 config: um-allmodconfig (attached as .config) compiler: gcc-9 (Debian 9.3.0-13) 9.3.0 reproduce (this is a W=1 build): # save the attached .config to linux build tree make W=1 ARCH=um If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All warnings (new ones prefixed by >>, old ones prefixed by <<): cc1: warning: arch/um/include/uapi: No such file or directory [-Wmissing-include-dirs] In file included from include/linux/kernel.h:11, from include/linux/skbuff.h:13, from include/linux/netlink.h:7, from include/uapi/linux/genetlink.h:6, from include/linux/genetlink.h:5, from include/net/genetlink.h:5, from drivers/net/wireless/ti/wl18xx/event.c:8: include/asm-generic/fixmap.h: In function 'fix_to_virt': include/asm-generic/fixmap.h:32:19: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits] 32 | BUILD_BUG_ON(idx >= __end_of_fixed_addresses); | ^~ include/linux/compiler.h:372:9: note: in definition of macro '__compiletime_assert' 372 | if (!(condition)) | ^~~~~~~~~ include/linux/compiler.h:392:2: note: in expansion of macro '_compiletime_assert' 392 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert' 39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) | ^~~~~~~~~~~~~~~~~~ include/linux/build_bug.h:50:2: note: in expansion of macro 'BUILD_BUG_ON_MSG' 50 | BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition) | ^~~~~~~~~~~~~~~~ include/asm-generic/fixmap.h:32:2: note: in expansion of macro 'BUILD_BUG_ON' 32 | BUILD_BUG_ON(idx >= __end_of_fixed_addresses); | ^~~~~~~~~~~~ In file included from include/linux/uaccess.h:11, from include/linux/sched/task.h:11, from include/linux/sched/signal.h:9, from include/linux/rcuwait.h:6, from include/linux/percpu-rwsem.h:7, from include/linux/fs.h:33, from include/linux/huge_mm.h:8, from include/linux/mm.h:675, from include/linux/bvec.h:13, from include/linux/skbuff.h:17, from include/linux/netlink.h:7, from include/uapi/linux/genetlink.h:6, from include/linux/genetlink.h:5, from include/net/genetlink.h:5, from drivers/net/wireless/ti/wl18xx/event.c:8: arch/um/include/asm/uaccess.h: In function '__access_ok': arch/um/include/asm/uaccess.h:17:29: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits] 17 | (((unsigned long) (addr) >= FIXADDR_USER_START) && | ^~ arch/um/include/asm/uaccess.h:45:3: note: in expansion of macro '__access_ok_vsyscall' 45 | __access_ok_vsyscall(addr, size) || | ^~~~~~~~~~~~~~~~~~~~ In file included from include/linux/printk.h:404, from include/linux/kernel.h:15, from include/linux/skbuff.h:13, from include/linux/netlink.h:7, from include/uapi/linux/genetlink.h:6, from include/linux/genetlink.h:5, from include/net/genetlink.h:5, from drivers/net/wireless/ti/wl18xx/event.c:8: drivers/net/wireless/ti/wl18xx/event.c: In function 'wlcore_smart_config_decode_event': include/linux/kernel.h:943:63: warning: comparison is always true due to limited range of data type [-Wtype-limits] 943 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^ include/linux/dynamic_debug.h:138:8: note: in definition of macro '__dynamic_func_call_no_desc_cl' 138 | func(__VA_ARGS__); | ^~~~~~~~~~~ >> include/linux/dynamic_debug.h:163:2: note: in expansion of macro '_dynamic_func_call_no_desc_cl' 163 | _dynamic_func_call_no_desc_cl(0, fmt, func, ##__VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/dynamic_debug.h:192:2: note: in expansion of macro '_dynamic_func_call_no_desc' 192 | _dynamic_func_call_no_desc(__builtin_constant_p(prefix_str) ? prefix_str : "hexdump", | ^~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/printk.h:594:2: note: in expansion of macro 'dynamic_hex_dump' 594 | dynamic_hex_dump(prefix_str, prefix_type, rowsize, | ^~~~~~~~~~~~~~~~ drivers/net/wireless/ti/wl18xx/../wlcore/debug.h:91:4: note: in expansion of macro 'print_hex_dump_debug' 91 | print_hex_dump_debug(DRIVER_PREFIX prefix, | ^~~~~~~~~~~~~~~~~~~~ include/linux/kernel.h:876:3: note: in expansion of macro '__cmp' 876 | __cmp(x, y, op), | ^~~~~ include/linux/kernel.h:943:27: note: in expansion of macro '__careful_cmp' 943 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ drivers/net/wireless/ti/wl18xx/../wlcore/debug.h:94:6: note: in expansion of macro 'min_t' 94 | min_t(size_t, len, DEBUG_DUMP_LIMIT), | ^~~~~ drivers/net/wireless/ti/wl18xx/event.c:86:2: note: in expansion of macro 'wl1271_dump_ascii' 86 | wl1271_dump_ascii(DEBUG_EVENT, "SSID:", ssid, ssid_len); | ^~~~~~~~~~~~~~~~~ vim +/_dynamic_func_call_no_desc_cl +163 include/linux/dynamic_debug.h 126 127 #define __dynamic_func_call_cl(cl, id, fmt, func, ...) do { \ 128 DEFINE_DYNAMIC_DEBUG_METADATA_CL(cl, id, fmt); \ 129 if (DYNAMIC_DEBUG_BRANCH(id)) \ 130 func(&id, ##__VA_ARGS__); \ 131 } while (0) 132 #define __dynamic_func_call(id, fmt, func, ...) \ 133 __dynamic_func_call_cl(0, id, fmt, func, ...) 134 135 #define __dynamic_func_call_no_desc_cl(cl, id, fmt, func, ...) do { \ 136 DEFINE_DYNAMIC_DEBUG_METADATA_CL(cl, id, fmt); \ 137 if (DYNAMIC_DEBUG_BRANCH(id)) \ 138 func(__VA_ARGS__); \ 139 } while (0) 140 #define __dynamic_func_call_no_desc(cl, id, fmt, func, ...) \ 141 __dynamic_func_call_no_desc_cl(0, cl, id, fmt, func, ##__VA_ARGS__) 142 143 /* 144 * "Factory macro" for generating a call to func, guarded by a 145 * DYNAMIC_DEBUG_BRANCH. The dynamic debug descriptor will be 146 * initialized using the fmt argument. The function will be called with 147 * the address of the descriptor as first argument, followed by all 148 * the varargs. Note that fmt is repeated in invocations of this 149 * macro. 150 */ 151 #define _dynamic_func_call_cl(cl, fmt, func, ...) \ 152 __dynamic_func_call_cl(cl, __UNIQUE_ID(ddebug), fmt, func, ##__VA_ARGS__) 153 #define _dynamic_func_call(fmt, func, ...) \ 154 _dynamic_func_call_cl(0, fmt, func, ##__VA_ARGS__) 155 /* 156 * A variant that does the same, except that the descriptor is not 157 * passed as the first argument to the function; it is only called 158 * with precisely the macro's varargs. 159 */ 160 #define _dynamic_func_call_no_desc_cl(cl, fmt, func, ...) \ 161 __dynamic_func_call_no_desc_cl(cl, __UNIQUE_ID(ddebug), fmt, func, ##__VA_ARGS__) 162 #define _dynamic_func_call_no_desc(fmt, func, ...) \ > 163 _dynamic_func_call_no_desc_cl(0, fmt, func, ##__VA_ARGS__) 164 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org