tree: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.4.y head: 95a3867e897abd7811196123f81a119a75aba863 commit: b60b53d4980f879884740e672d83155980d74445 [9997/9999] printk: help pr_debug and pr_devel to optimize out arguments config: powerpc64-randconfig-s032-20210329 (attached as .config) compiler: powerpc64-linux-gcc (GCC) 7.5.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # apt-get install sparse # sparse version: v0.6.3-277-gc089cd2d-dirty # https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git/commit/?id=b60b53d4980f879884740e672d83155980d74445 git remote add linux-stable-rc https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git git fetch --no-tags linux-stable-rc linux-4.4.y git checkout b60b53d4980f879884740e672d83155980d74445 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-7.5.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=powerpc64 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@xxxxxxxxx> All errors (new ones prefixed by >>): arch/powerpc/sysdev/mpic.c:356:18: sparse: sparse: cast to restricted __le32 arch/powerpc/sysdev/mpic.c:356:18: sparse: sparse: cast to restricted __le32 arch/powerpc/sysdev/mpic.c:356:18: sparse: sparse: cast to restricted __le32 arch/powerpc/sysdev/mpic.c:356:18: sparse: sparse: cast to restricted __le32 arch/powerpc/sysdev/mpic.c:356:18: sparse: sparse: cast to restricted __le32 arch/powerpc/sysdev/mpic.c:356:18: sparse: sparse: cast to restricted __le32 arch/powerpc/sysdev/mpic.c: note: in included file (through include/linux/io.h, include/linux/irq.h): arch/powerpc/include/asm/io.h:180:1: sparse: sparse: dereference of noderef expression arch/powerpc/include/asm/io.h:175:1: sparse: sparse: dereference of noderef expression arch/powerpc/include/asm/io.h:175:1: sparse: sparse: dereference of noderef expression arch/powerpc/include/asm/io.h:175:1: sparse: sparse: dereference of noderef expression arch/powerpc/include/asm/io.h:180:1: sparse: sparse: dereference of noderef expression arch/powerpc/include/asm/io.h:175:1: sparse: sparse: dereference of noderef expression arch/powerpc/include/asm/io.h:175:1: sparse: sparse: dereference of noderef expression arch/powerpc/include/asm/io.h:175:1: sparse: sparse: dereference of noderef expression arch/powerpc/include/asm/io.h:180:1: sparse: sparse: dereference of noderef expression arch/powerpc/include/asm/io.h:175:1: sparse: sparse: dereference of noderef expression arch/powerpc/include/asm/io.h:180:1: sparse: sparse: dereference of noderef expression arch/powerpc/include/asm/io.h:175:1: sparse: sparse: dereference of noderef expression arch/powerpc/include/asm/io.h:175:1: sparse: sparse: dereference of noderef expression arch/powerpc/include/asm/io.h:180:1: sparse: sparse: dereference of noderef expression arch/powerpc/include/asm/io.h:175:1: sparse: sparse: dereference of noderef expression arch/powerpc/include/asm/io.h:175:1: sparse: sparse: dereference of noderef expression arch/powerpc/include/asm/io.h:175:1: sparse: sparse: dereference of noderef expression arch/powerpc/include/asm/io.h:180:1: sparse: sparse: dereference of noderef expression arch/powerpc/include/asm/io.h:175:1: sparse: sparse: dereference of noderef expression arch/powerpc/include/asm/io.h:180:1: sparse: sparse: dereference of noderef expression arch/powerpc/include/asm/io.h:180:1: sparse: sparse: dereference of noderef expression arch/powerpc/include/asm/io.h:175:1: sparse: sparse: dereference of noderef expression arch/powerpc/include/asm/io.h:180:1: sparse: sparse: dereference of noderef expression arch/powerpc/include/asm/io.h:175:1: sparse: sparse: dereference of noderef expression arch/powerpc/include/asm/io.h:180:1: sparse: sparse: dereference of noderef expression arch/powerpc/include/asm/io.h:180:1: sparse: sparse: dereference of noderef expression arch/powerpc/include/asm/io.h:175:1: sparse: sparse: dereference of noderef expression arch/powerpc/include/asm/io.h:175:1: sparse: sparse: dereference of noderef expression arch/powerpc/include/asm/io.h:175:1: sparse: sparse: dereference of noderef expression arch/powerpc/include/asm/io.h:180:1: sparse: sparse: dereference of noderef expression arch/powerpc/include/asm/io.h:175:1: sparse: sparse: dereference of noderef expression arch/powerpc/include/asm/io.h:175:1: sparse: sparse: dereference of noderef expression arch/powerpc/include/asm/io.h:175:1: sparse: sparse: dereference of noderef expression arch/powerpc/include/asm/io.h:180:1: sparse: sparse: dereference of noderef expression arch/powerpc/include/asm/io.h:175:1: sparse: sparse: dereference of noderef expression arch/powerpc/include/asm/io.h:175:1: sparse: sparse: dereference of noderef expression arch/powerpc/include/asm/io.h:180:1: sparse: sparse: dereference of noderef expression arch/powerpc/include/asm/io.h:175:1: sparse: sparse: dereference of noderef expression arch/powerpc/include/asm/io.h:180:1: sparse: sparse: dereference of noderef expression arch/powerpc/include/asm/io.h:180:1: sparse: sparse: dereference of noderef expression arch/powerpc/include/asm/io.h:180:1: sparse: sparse: dereference of noderef expression arch/powerpc/include/asm/io.h:180:1: sparse: sparse: dereference of noderef expression arch/powerpc/include/asm/io.h:180:1: sparse: sparse: dereference of noderef expression arch/powerpc/include/asm/io.h:180:1: sparse: sparse: dereference of noderef expression arch/powerpc/include/asm/io.h:180:1: sparse: sparse: dereference of noderef expression arch/powerpc/include/asm/io.h:175:1: sparse: sparse: dereference of noderef expression arch/powerpc/include/asm/io.h:175:1: sparse: sparse: dereference of noderef expression arch/powerpc/include/asm/io.h:180:1: sparse: sparse: dereference of noderef expression arch/powerpc/include/asm/io.h:175:1: sparse: sparse: dereference of noderef expression arch/powerpc/include/asm/io.h:175:1: sparse: sparse: dereference of noderef expression arch/powerpc/include/asm/io.h:180:1: sparse: sparse: dereference of noderef expression arch/powerpc/include/asm/io.h:180:1: sparse: sparse: dereference of noderef expression arch/powerpc/include/asm/io.h:175:1: sparse: sparse: dereference of noderef expression arch/powerpc/include/asm/io.h:180:1: sparse: sparse: dereference of noderef expression arch/powerpc/include/asm/io.h:175:1: sparse: sparse: dereference of noderef expression arch/powerpc/include/asm/io.h:180:1: sparse: sparse: dereference of noderef expression arch/powerpc/include/asm/io.h:175:1: sparse: sparse: dereference of noderef expression arch/powerpc/include/asm/io.h:180:1: sparse: sparse: dereference of noderef expression arch/powerpc/include/asm/io.h:175:1: sparse: sparse: dereference of noderef expression arch/powerpc/include/asm/io.h:180:1: sparse: sparse: dereference of noderef expression arch/powerpc/include/asm/io.h:175:1: sparse: sparse: dereference of noderef expression arch/powerpc/include/asm/io.h:175:1: sparse: sparse: dereference of noderef expression arch/powerpc/include/asm/io.h:180:1: sparse: sparse: dereference of noderef expression arch/powerpc/include/asm/io.h:180:1: sparse: sparse: dereference of noderef expression arch/powerpc/include/asm/io.h:180:1: sparse: sparse: dereference of noderef expression arch/powerpc/include/asm/io.h:175:1: sparse: sparse: dereference of noderef expression arch/powerpc/include/asm/io.h:180:1: sparse: sparse: dereference of noderef expression arch/powerpc/include/asm/io.h:180:1: sparse: sparse: dereference of noderef expression arch/powerpc/include/asm/io.h:180:1: sparse: sparse: dereference of noderef expression arch/powerpc/sysdev/mpic.c: In function 'mpic_alloc': >> arch/powerpc/sysdev/mpic.c:1331:17: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare] for (i = 0; i < psize/sizeof(u32); i++) { ^ arch/powerpc/sysdev/mpic.c:1332:16: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare] if (psrc[i] > intvec_top) ^ arch/powerpc/sysdev/mpic.c: In function 'mpic_init': arch/powerpc/sysdev/mpic.c:1611:17: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare] for (i = 0; i < mpic->num_sources; i++) { ^ cc1: all warnings being treated as errors -- arch/powerpc/sysdev/ehv_pic.c:44:6: sparse: sparse: symbol 'ehv_pic_unmask_irq' was not declared. Should it be static? arch/powerpc/sysdev/ehv_pic.c:51:6: sparse: sparse: symbol 'ehv_pic_mask_irq' was not declared. Should it be static? arch/powerpc/sysdev/ehv_pic.c:58:6: sparse: sparse: symbol 'ehv_pic_end_irq' was not declared. Should it be static? arch/powerpc/sysdev/ehv_pic.c:65:6: sparse: sparse: symbol 'ehv_pic_direct_end_irq' was not declared. Should it be static? arch/powerpc/sysdev/ehv_pic.c:70:5: sparse: sparse: symbol 'ehv_pic_set_affinity' was not declared. Should it be static? arch/powerpc/sysdev/ehv_pic.c:111:5: sparse: sparse: symbol 'ehv_pic_set_irq_type' was not declared. Should it be static? In file included from arch/powerpc/include/asm/fsl_hcalls.h:46:0, from arch/powerpc/sysdev/ehv_pic.c:29: arch/powerpc/include/asm/epapr_hcalls.h: In function 'epapr_hypercall': >> arch/powerpc/include/asm/epapr_hcalls.h:469:2: error: 'register' is not at beginning of declaration [-Werror=old-style-declaration] unsigned long register r0 asm("r0"); ^~~~~~~~ arch/powerpc/include/asm/epapr_hcalls.h:470:2: error: 'register' is not at beginning of declaration [-Werror=old-style-declaration] unsigned long register r3 asm("r3") = in[0]; ^~~~~~~~ arch/powerpc/include/asm/epapr_hcalls.h:471:2: error: 'register' is not at beginning of declaration [-Werror=old-style-declaration] unsigned long register r4 asm("r4") = in[1]; ^~~~~~~~ arch/powerpc/include/asm/epapr_hcalls.h:472:2: error: 'register' is not at beginning of declaration [-Werror=old-style-declaration] unsigned long register r5 asm("r5") = in[2]; ^~~~~~~~ arch/powerpc/include/asm/epapr_hcalls.h:473:2: error: 'register' is not at beginning of declaration [-Werror=old-style-declaration] unsigned long register r6 asm("r6") = in[3]; ^~~~~~~~ arch/powerpc/include/asm/epapr_hcalls.h:474:2: error: 'register' is not at beginning of declaration [-Werror=old-style-declaration] unsigned long register r7 asm("r7") = in[4]; ^~~~~~~~ arch/powerpc/include/asm/epapr_hcalls.h:475:2: error: 'register' is not at beginning of declaration [-Werror=old-style-declaration] unsigned long register r8 asm("r8") = in[5]; ^~~~~~~~ arch/powerpc/include/asm/epapr_hcalls.h:476:2: error: 'register' is not at beginning of declaration [-Werror=old-style-declaration] unsigned long register r9 asm("r9") = in[6]; ^~~~~~~~ arch/powerpc/include/asm/epapr_hcalls.h:477:2: error: 'register' is not at beginning of declaration [-Werror=old-style-declaration] unsigned long register r10 asm("r10") = in[7]; ^~~~~~~~ arch/powerpc/include/asm/epapr_hcalls.h:478:2: error: 'register' is not at beginning of declaration [-Werror=old-style-declaration] unsigned long register r11 asm("r11") = nr; ^~~~~~~~ arch/powerpc/include/asm/epapr_hcalls.h:479:2: error: 'register' is not at beginning of declaration [-Werror=old-style-declaration] unsigned long register r12 asm("r12"); ^~~~~~~~ arch/powerpc/sysdev/ehv_pic.c: At top level: >> arch/powerpc/sysdev/ehv_pic.c:44:6: error: no previous prototype for 'ehv_pic_unmask_irq' [-Werror=missing-prototypes] void ehv_pic_unmask_irq(struct irq_data *d) ^~~~~~~~~~~~~~~~~~ >> arch/powerpc/sysdev/ehv_pic.c:51:6: error: no previous prototype for 'ehv_pic_mask_irq' [-Werror=missing-prototypes] void ehv_pic_mask_irq(struct irq_data *d) ^~~~~~~~~~~~~~~~ >> arch/powerpc/sysdev/ehv_pic.c:58:6: error: no previous prototype for 'ehv_pic_end_irq' [-Werror=missing-prototypes] void ehv_pic_end_irq(struct irq_data *d) ^~~~~~~~~~~~~~~ >> arch/powerpc/sysdev/ehv_pic.c:65:6: error: no previous prototype for 'ehv_pic_direct_end_irq' [-Werror=missing-prototypes] void ehv_pic_direct_end_irq(struct irq_data *d) ^~~~~~~~~~~~~~~~~~~~~~ >> arch/powerpc/sysdev/ehv_pic.c:70:5: error: no previous prototype for 'ehv_pic_set_affinity' [-Werror=missing-prototypes] int ehv_pic_set_affinity(struct irq_data *d, const struct cpumask *dest, ^~~~~~~~~~~~~~~~~~~~ >> arch/powerpc/sysdev/ehv_pic.c:111:5: error: no previous prototype for 'ehv_pic_set_irq_type' [-Werror=missing-prototypes] int ehv_pic_set_irq_type(struct irq_data *d, unsigned int flow_type) ^~~~~~~~~~~~~~~~~~~~ cc1: all warnings being treated as errors -- arch/powerpc/sysdev/fsl_soc.c:212:26: sparse: sparse: incorrect type in argument 1 (different base types) arch/powerpc/sysdev/fsl_soc.c:212:26: sparse: expected unsigned int volatile [noderef] [usertype] <asn:2> *addr arch/powerpc/sysdev/fsl_soc.c:212:26: sparse: got restricted __be32 [noderef] [usertype] <asn:2> *static [assigned] [toplevel] rstcr In file included from include/linux/if_ether.h:23:0, from include/uapi/linux/ethtool.h:17, from include/linux/ethtool.h:16, from include/linux/phy.h:20, from arch/powerpc/sysdev/fsl_soc.c:27: include/linux/skbuff.h: In function 'skb_add_data': >> include/linux/skbuff.h:2675:23: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare] &csum, from) == copy) { ^~ include/linux/skbuff.h:2679:60: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare] } else if (copy_from_iter(skb_put(skb, copy), copy, from) == copy) ^~ include/linux/skbuff.h: In function 'skb_can_coalesce': include/linux/skbuff.h:2693:14: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare] off == frag->page_offset + skb_frag_size(frag); ^~ include/linux/skbuff.h: In function 'memcpy_from_msg': include/linux/skbuff.h:2921:51: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare] return copy_from_iter(data, len, &msg->msg_iter) == len ? 0 : -EFAULT; ^~ include/linux/skbuff.h: In function 'memcpy_to_msg': include/linux/skbuff.h:2926:49: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare] return copy_to_iter(data, len, &msg->msg_iter) == len ? 0 : -EFAULT; ^~ In file included from arch/powerpc/include/asm/fsl_hcalls.h:46:0, from arch/powerpc/sysdev/fsl_soc.c:42: arch/powerpc/include/asm/epapr_hcalls.h: In function 'epapr_hypercall': >> arch/powerpc/include/asm/epapr_hcalls.h:469:2: error: 'register' is not at beginning of declaration [-Werror=old-style-declaration] unsigned long register r0 asm("r0"); ^~~~~~~~ arch/powerpc/include/asm/epapr_hcalls.h:470:2: error: 'register' is not at beginning of declaration [-Werror=old-style-declaration] unsigned long register r3 asm("r3") = in[0]; ^~~~~~~~ arch/powerpc/include/asm/epapr_hcalls.h:471:2: error: 'register' is not at beginning of declaration [-Werror=old-style-declaration] unsigned long register r4 asm("r4") = in[1]; ^~~~~~~~ arch/powerpc/include/asm/epapr_hcalls.h:472:2: error: 'register' is not at beginning of declaration [-Werror=old-style-declaration] unsigned long register r5 asm("r5") = in[2]; ^~~~~~~~ arch/powerpc/include/asm/epapr_hcalls.h:473:2: error: 'register' is not at beginning of declaration [-Werror=old-style-declaration] unsigned long register r6 asm("r6") = in[3]; ^~~~~~~~ arch/powerpc/include/asm/epapr_hcalls.h:474:2: error: 'register' is not at beginning of declaration [-Werror=old-style-declaration] unsigned long register r7 asm("r7") = in[4]; ^~~~~~~~ arch/powerpc/include/asm/epapr_hcalls.h:475:2: error: 'register' is not at beginning of declaration [-Werror=old-style-declaration] unsigned long register r8 asm("r8") = in[5]; ^~~~~~~~ arch/powerpc/include/asm/epapr_hcalls.h:476:2: error: 'register' is not at beginning of declaration [-Werror=old-style-declaration] unsigned long register r9 asm("r9") = in[6]; ^~~~~~~~ arch/powerpc/include/asm/epapr_hcalls.h:477:2: error: 'register' is not at beginning of declaration [-Werror=old-style-declaration] unsigned long register r10 asm("r10") = in[7]; ^~~~~~~~ arch/powerpc/include/asm/epapr_hcalls.h:478:2: error: 'register' is not at beginning of declaration [-Werror=old-style-declaration] unsigned long register r11 asm("r11") = nr; ^~~~~~~~ arch/powerpc/include/asm/epapr_hcalls.h:479:2: error: 'register' is not at beginning of declaration [-Werror=old-style-declaration] unsigned long register r12 asm("r12"); ^~~~~~~~ arch/powerpc/sysdev/fsl_soc.c: In function 'get_immrbase': >> arch/powerpc/sysdev/fsl_soc.c:53:15: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare] if (immrbase != -1) ^~ arch/powerpc/sysdev/fsl_soc.c: In function 'fsl_get_sys_freq': arch/powerpc/sysdev/fsl_soc.c:87:14: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare] if (sysfreq != -1) ^~ cc1: all warnings being treated as errors -- arch/powerpc/xmon/xmon.c: In function 'memex': >> arch/powerpc/xmon/xmon.c:1937:18: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare] for (i = 0; i < n; ++i) ^ arch/powerpc/xmon/xmon.c: In function 'scanhex': arch/powerpc/xmon/xmon.c:2594:17: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare] for (i = 0; i < sizeof(regname) - 1; ++i) { ^ arch/powerpc/xmon/xmon.c: In function 'dump_tlb_book3e': arch/powerpc/xmon/xmon.c:2880:42: error: variable 'lrat' set but not used [-Werror=unused-but-set-variable] int i, tlb, ntlbs, pidsz, lpidsz, rasz, lrat = 0; ^~~~ arch/powerpc/xmon/xmon.c:2878:23: error: variable 'lpidmask' set but not used [-Werror=unused-but-set-variable] u32 mmucfg, pidmask, lpidmask; ^~~~~~~~ arch/powerpc/xmon/xmon.c:2878:14: error: variable 'pidmask' set but not used [-Werror=unused-but-set-variable] u32 mmucfg, pidmask, lpidmask; ^~~~~~~ arch/powerpc/xmon/xmon.c: In function 'xmon_print_symbol': arch/powerpc/xmon/xmon.c:2778:14: error: variable 'name' might be clobbered by 'longjmp' or 'vfork' [-Werror=clobbered] const char *name = NULL; ^~~~ arch/powerpc/xmon/xmon.c: In function 'read_spr': >> arch/powerpc/xmon/xmon.c:1623:16: error: variable 'ret' might be clobbered by 'longjmp' or 'vfork' [-Werror=clobbered] unsigned long ret = -1UL; ^~~ cc1: all warnings being treated as errors -- arch/powerpc/xmon/nonstdio.c: In function 'xmon_printf': >> arch/powerpc/xmon/nonstdio.c:178:2: error: function 'xmon_printf' might be a candidate for 'gnu_printf' format attribute [-Werror=suggest-attribute=format] n = vsnprintf(xmon_outbuf, sizeof(xmon_outbuf), format, args); ^ cc1: all warnings being treated as errors -- lib/842/842_decompress.c:205:9: sparse: sparse: undefined identifier 'no_printk' In file included from lib/842/842_decompress.c:23:0: lib/842/842_debugfs.h: In function 'sw842_debugfs_create': lib/842/842_debugfs.h:27:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (i = 0; i < ARRAY_SIZE(template_count); i++) { ^ lib/842/842_decompress.c: In function 'next_bits': lib/842/842_decompress.c:115:28: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if (DIV_ROUND_UP(bits, 8) > p->ilen) ^ In file included from arch/powerpc/include/asm/bug.h:127:0, from include/linux/bug.h:4, from include/linux/thread_info.h:11, from include/asm-generic/preempt.h:4, from arch/powerpc/include/generated/asm/preempt.h:1, from include/linux/preempt.h:59, from include/linux/spinlock.h:50, from include/linux/seqlock.h:35, from include/linux/time.h:5, from include/linux/stat.h:18, from include/linux/module.h:10, from lib/842/842.h:76, from lib/842/842_decompress.c:22: lib/842/842_decompress.c: In function '__do_index': >> include/asm-generic/bug.h:159:2: error: implicit declaration of function 'no_printk'; did you mean 'printk'? [-Werror=implicit-function-declaration] no_printk(format); \ ^ lib/842/842_decompress.c:72:3: note: in expansion of macro 'WARN' WARN(1, "pr_debug param err invalid size %x\n", s)) ^~~~ include/linux/printk.h:114:17: note: in expansion of macro 'beN_to_cpu' printk(fmt, ##__VA_ARGS__); \ ^~~~~~~~~~~ include/linux/printk.h:289:2: note: in expansion of macro 'no_printk' no_printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__) ^~~~~~~~~ lib/842/842_decompress.c:205:2: note: in expansion of macro 'pr_debug' pr_debug("index%x to %lx off %lx adjoff %lx tot %lx data %lx\n", ^~~~~~~~ lib/842/842_decompress.c:71:54: warning: signed and unsigned type in conditional expression [-Wsign-compare] (s) == 8 ? be64_to_cpu(get_unaligned((__be64 *)d)) : \ ^ include/linux/printk.h:114:17: note: in expansion of macro 'beN_to_cpu' printk(fmt, ##__VA_ARGS__); \ ^~~~~~~~~~~ include/linux/printk.h:289:2: note: in expansion of macro 'no_printk' no_printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__) ^~~~~~~~~ lib/842/842_decompress.c:205:2: note: in expansion of macro 'pr_debug' pr_debug("index%x to %lx off %lx adjoff %lx tot %lx data %lx\n", ^~~~~~~~ cc1: some warnings being treated as errors .. vim +159 include/asm-generic/bug.h b607e70ec6a982 Josh Triplett 2014-04-07 155 b607e70ec6a982 Josh Triplett 2014-04-07 156 #ifndef WARN b607e70ec6a982 Josh Triplett 2014-04-07 157 #define WARN(condition, format...) ({ \ b607e70ec6a982 Josh Triplett 2014-04-07 158 int __ret_warn_on = !!(condition); \ 4e50ebde32bed6 Josh Triplett 2014-04-07 @159 no_printk(format); \ b607e70ec6a982 Josh Triplett 2014-04-07 160 unlikely(__ret_warn_on); \ b607e70ec6a982 Josh Triplett 2014-04-07 161 }) b607e70ec6a982 Josh Triplett 2014-04-07 162 #endif b607e70ec6a982 Josh Triplett 2014-04-07 163 :::::: The code at line 159 was first introduced by commit :::::: 4e50ebde32bed67a9aec8c239bbd89e5d0b8727b bug: when !CONFIG_BUG, make WARN call no_printk to check format and args :::::: TO: Josh Triplett <josh@xxxxxxxxxxxxxxxx> :::::: CC: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx
Attachment:
.config.gz
Description: application/gzip