tree: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.4.y head: bb07acdd9271518022b632253e857f43c09fb147 commit: b60b53d4980f879884740e672d83155980d74445 [9981/9999] printk: help pr_debug and pr_devel to optimize out arguments config: powerpc64-buildonly-randconfig-r006-20210822 (attached as .config) compiler: powerpc-linux-gcc (GCC) 7.5.0 reproduce (this is a W=1 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/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 ARCH=powerpc If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@xxxxxxxxx> All errors (new ones prefixed by >>): 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 -- In file included from include/linux/ring_buffer.h:5:0, from include/linux/trace_events.h:5, from include/trace/syscall.h:6, from include/linux/syscalls.h:81, from arch/powerpc/kernel/syscalls.c:24: include/linux/mm.h: In function 'is_vmalloc_addr': include/linux/mm.h:386:14: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare] return addr >= VMALLOC_START && addr < VMALLOC_END; ^~ arch/powerpc/kernel/syscalls.c: At top level: >> arch/powerpc/kernel/syscalls.c:86:1: error: no previous declaration for 'ppc_select' [-Werror=missing-declarations] ppc_select(int n, fd_set __user *inp, fd_set __user *outp, fd_set __user *exp, struct timeval __user *tvp) ^~~~~~~~~~ >> arch/powerpc/kernel/syscalls.c:118:6: error: no previous declaration for 'ppc_fadvise64_64' [-Werror=missing-declarations] long ppc_fadvise64_64(int fd, int advice, u32 offset_high, u32 offset_low, ^~~~~~~~~~~~~~~~ arch/powerpc/kernel/syscalls.c:125:6: error: no previous declaration for 'sys_switch_endian' [-Werror=missing-declarations] long sys_switch_endian(void) ^~~~~~~~~~~~~~~~~ cc1: all warnings being treated as errors -- In file included from include/linux/pid_namespace.h:6:0, from include/linux/ptrace.h:8, from arch/powerpc/kernel/irq.c:38: include/linux/mm.h: In function 'is_vmalloc_addr': include/linux/mm.h:386:14: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare] return addr >= VMALLOC_START && addr < VMALLOC_END; ^~ In file included from arch/powerpc/include/asm/bug.h:127:0, from include/linux/bug.h:4, from include/linux/cpumask.h:12, from include/linux/smp.h:12, from include/linux/kernel_stat.h:4, from arch/powerpc/kernel/irq.c:35: include/linux/scatterlist.h: In function 'sg_set_buf': >> arch/powerpc/include/asm/page.h:129:32: error: comparison of unsigned expression >= 0 is always true [-Werror=type-limits] #define pfn_valid(pfn) ((pfn) >= ARCH_PFN_OFFSET && (pfn) < max_mapnr) ^ include/asm-generic/bug.h:146:36: note: in definition of macro 'BUG_ON' #define BUG_ON(condition) do { if (condition) BUG(); } while (0) ^~~~~~~~~ arch/powerpc/include/asm/page.h:146:32: note: in expansion of macro 'pfn_valid' #define virt_addr_valid(kaddr) pfn_valid(virt_to_pfn(kaddr)) ^~~~~~~~~ include/linux/scatterlist.h:140:10: note: in expansion of macro 'virt_addr_valid' BUG_ON(!virt_addr_valid(buf)); ^~~~~~~~~~~~~~~ In file included from include/linux/interrupt.h:11:0, from include/linux/kernel_stat.h:8, from arch/powerpc/kernel/irq.c:35: arch/powerpc/kernel/irq.c: In function 'migrate_irqs': include/linux/irqnr.h:12:45: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare] for (irq = 0, desc = irq_to_desc(irq); irq < nr_irqs; \ ^ arch/powerpc/kernel/irq.c:434:2: note: in expansion of macro 'for_each_irq_desc' for_each_irq_desc(irq, desc) { ^~~~~~~~~~~~~~~~~ arch/powerpc/kernel/irq.c:445:25: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare] if (cpumask_any(mask) >= nr_cpu_ids) { ^~ arch/powerpc/kernel/irq.c: At top level: >> arch/powerpc/kernel/irq.c:547:13: error: no previous declaration for 'init_IRQ' [-Werror=missing-declarations] void __init init_IRQ(void) ^~~~~~~~ cc1: all warnings being treated as errors -- In file included from arch/powerpc/kernel/signal_32.c:21:0: include/linux/mm.h: In function 'is_vmalloc_addr': include/linux/mm.h:386:14: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare] return addr >= VMALLOC_START && addr < VMALLOC_END; ^~ In file included from include/asm-generic/termios-base.h:7:0, from arch/powerpc/include/asm/termios.h:20, from include/uapi/linux/termios.h:5, from include/linux/tty.h:6, from arch/powerpc/kernel/signal_32.c:36: include/asm-generic/termios-base.h: In function 'user_termio_to_kernel_termios': arch/powerpc/include/asm/uaccess.h:57:35: error: comparison of unsigned expression >= 0 is always true [-Werror=type-limits] (((size) == 0) || (((size) - 1) <= ((segment).seg - (addr))))) ^ arch/powerpc/include/asm/uaccess.h:63:3: note: in expansion of macro '__access_ok' __access_ok((__force unsigned long)(addr), (size), get_fs())) ^~~~~~~~~~~ arch/powerpc/include/asm/uaccess.h:300:6: note: in expansion of macro 'access_ok' if (access_ok(VERIFY_READ, __gu_addr, (size))) { \ ^~~~~~~~~ arch/powerpc/include/asm/uaccess.h:103:2: note: in expansion of macro '__get_user_check' __get_user_check((x), (ptr), sizeof(*(ptr))) ^~~~~~~~~~~~~~~~ include/asm-generic/termios-base.h:35:6: note: in expansion of macro 'get_user' if (get_user(termios->c_line, &termio->c_line) < 0) ^~~~~~~~ include/asm-generic/termios-base.h: In function 'kernel_termios_to_user_termio': arch/powerpc/include/asm/uaccess.h:57:35: error: comparison of unsigned expression >= 0 is always true [-Werror=type-limits] (((size) == 0) || (((size) - 1) <= ((segment).seg - (addr))))) ^ arch/powerpc/include/asm/uaccess.h:63:3: note: in expansion of macro '__access_ok' __access_ok((__force unsigned long)(addr), (size), get_fs())) ^~~~~~~~~~~ arch/powerpc/include/asm/uaccess.h:192:6: note: in expansion of macro 'access_ok' if (access_ok(VERIFY_WRITE, __pu_addr, size)) \ ^~~~~~~~~ arch/powerpc/include/asm/uaccess.h:105:2: note: in expansion of macro '__put_user_check' __put_user_check((__typeof__(*(ptr)))(x), (ptr), sizeof(*(ptr))) ^~~~~~~~~~~~~~~~ include/asm-generic/termios-base.h:57:6: note: in expansion of macro 'put_user' put_user(termios->c_line, &termio->c_line) < 0 || ^~~~~~~~ arch/powerpc/kernel/signal_32.c: At top level: arch/powerpc/kernel/signal_32.c:1139:6: error: no previous declaration for 'sys_swapcontext' [-Werror=missing-declarations] long sys_swapcontext(struct ucontext __user *old_ctx, ^~~~~~~~~~~~~~~ arch/powerpc/kernel/signal_32.c: In function 'sys_swapcontext': arch/powerpc/kernel/signal_32.c:1184:15: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare] if (ctx_size < sizeof(struct ucontext)) ^ In file included from include/asm-generic/termios-base.h:7:0, from arch/powerpc/include/asm/termios.h:20, from include/uapi/linux/termios.h:5, from include/linux/tty.h:6, from arch/powerpc/kernel/signal_32.c:36: arch/powerpc/include/asm/uaccess.h:57:35: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare] (((size) == 0) || (((size) - 1) <= ((segment).seg - (addr))))) ^ arch/powerpc/include/asm/uaccess.h:63:3: note: in expansion of macro '__access_ok' __access_ok((__force unsigned long)(addr), (size), get_fs())) ^~~~~~~~~~~ arch/powerpc/kernel/signal_32.c:1199:8: note: in expansion of macro 'access_ok' if (!access_ok(VERIFY_WRITE, old_ctx, ctx_size) ^~~~~~~~~ arch/powerpc/include/asm/uaccess.h:57:35: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare] (((size) == 0) || (((size) - 1) <= ((segment).seg - (addr))))) ^ arch/powerpc/include/asm/uaccess.h:63:3: note: in expansion of macro '__access_ok' __access_ok((__force unsigned long)(addr), (size), get_fs())) ^~~~~~~~~~~ arch/powerpc/kernel/signal_32.c:1207:7: note: in expansion of macro 'access_ok' if (!access_ok(VERIFY_READ, new_ctx, ctx_size) ^~~~~~~~~ >> arch/powerpc/kernel/signal_32.c:1143:16: error: variable 'tmp' set but not used [-Werror=unused-but-set-variable] unsigned char tmp; ^~~ arch/powerpc/kernel/signal_32.c: At top level: >> arch/powerpc/kernel/signal_32.c:1230:6: error: no previous declaration for 'sys_rt_sigreturn' [-Werror=missing-declarations] long sys_rt_sigreturn(int r3, int r4, int r5, int r6, int r7, int r8, ^~~~~~~~~~~~~~~~ >> arch/powerpc/kernel/signal_32.c:1311:5: error: no previous declaration for 'sys_debug_setcontext' [-Werror=missing-declarations] int sys_debug_setcontext(struct ucontext __user *ctx, ^~~~~~~~~~~~~~~~~~~~ arch/powerpc/kernel/signal_32.c: In function 'sys_debug_setcontext': arch/powerpc/kernel/signal_32.c:1318:16: error: variable 'tmp' set but not used [-Werror=unused-but-set-variable] unsigned char tmp; ^~~ arch/powerpc/kernel/signal_32.c: At top level: >> arch/powerpc/kernel/signal_32.c:1502:6: error: no previous declaration for 'sys_sigreturn' [-Werror=missing-declarations] long sys_sigreturn(int r3, int r4, int r5, int r6, int r7, int r8, ^~~~~~~~~~~~~ cc1: all warnings being treated as errors -- In file included from arch/powerpc/kernel/vdso.c:15:0: include/linux/mm.h: In function 'is_vmalloc_addr': include/linux/mm.h:386:14: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare] return addr >= VMALLOC_START && addr < VMALLOC_END; ^~ 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/uapi/linux/timex.h:56, from include/linux/timex.h:56, from include/linux/sched.h:19, from arch/powerpc/kernel/vdso.c:13: include/linux/scatterlist.h: In function 'sg_set_buf': >> arch/powerpc/include/asm/page.h:129:32: error: comparison of unsigned expression >= 0 is always true [-Werror=type-limits] #define pfn_valid(pfn) ((pfn) >= ARCH_PFN_OFFSET && (pfn) < max_mapnr) ^ include/asm-generic/bug.h:146:36: note: in definition of macro 'BUG_ON' #define BUG_ON(condition) do { if (condition) BUG(); } while (0) ^~~~~~~~~ arch/powerpc/include/asm/page.h:146:32: note: in expansion of macro 'pfn_valid' #define virt_addr_valid(kaddr) pfn_valid(virt_to_pfn(kaddr)) ^~~~~~~~~ include/linux/scatterlist.h:140:10: note: in expansion of macro 'virt_addr_valid' BUG_ON(!virt_addr_valid(buf)); ^~~~~~~~~~~~~~~ arch/powerpc/kernel/vdso.c: In function 'vdso_fixup_alt_funcs': arch/powerpc/kernel/vdso.c:609:16: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare] for (i = 0; i < ARRAY_SIZE(vdso_patches); i++) { ^ arch/powerpc/kernel/vdso.c: In function 'vdso_init': arch/powerpc/kernel/vdso.c:795:16: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare] for (i = 0; i < vdso32_pages; i++) { ^ cc1: all warnings being treated as errors -- In file included from arch/powerpc/kernel/process.c:20:0: include/linux/mm.h: In function 'is_vmalloc_addr': include/linux/mm.h:386:14: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare] return addr >= VMALLOC_START && addr < VMALLOC_END; ^~ In file included from include/net/inet_frag.h:4:0, from include/net/netns/ipv4.h:9, from include/net/net_namespace.h:17, from include/linux/init_task.h:15, from arch/powerpc/kernel/process.c:29: include/linux/rhashtable.h: In function 'rht_grow_above_75': include/linux/rhashtable.h:264:34: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare] return atomic_read(&ht->nelems) > (tbl->size / 4 * 3) && ^ include/linux/rhashtable.h: In function 'rht_shrink_below_30': include/linux/rhashtable.h:277:34: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare] return atomic_read(&ht->nelems) < (tbl->size * 3 / 10) && ^ include/linux/rhashtable.h: In function 'rht_grow_above_100': include/linux/rhashtable.h:289:34: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare] return atomic_read(&ht->nelems) > tbl->size && ^ include/linux/rhashtable.h: In function 'rht_grow_above_max': include/linux/rhashtable.h:302:34: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare] atomic_read(&ht->nelems) >= ht->p.insecure_max_entries; ^~ In file included from include/net/checksum.h:25:0, from include/linux/skbuff.h:31, from include/net/net_namespace.h:32, from include/linux/init_task.h:15, from arch/powerpc/kernel/process.c:29: include/net/checksum.h: In function 'csum_and_copy_from_user': arch/powerpc/include/asm/uaccess.h:57:35: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare] (((size) == 0) || (((size) - 1) <= ((segment).seg - (addr))))) ^ arch/powerpc/include/asm/uaccess.h:63:3: note: in expansion of macro '__access_ok' __access_ok((__force unsigned long)(addr), (size), get_fs())) ^~~~~~~~~~~ include/net/checksum.h:33:6: note: in expansion of macro 'access_ok' if (access_ok(VERIFY_READ, src, len)) ^~~~~~~~~ include/net/checksum.h: In function 'csum_and_copy_to_user': arch/powerpc/include/asm/uaccess.h:57:35: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare] (((size) == 0) || (((size) - 1) <= ((segment).seg - (addr))))) ^ arch/powerpc/include/asm/uaccess.h:63:3: note: in expansion of macro '__access_ok' __access_ok((__force unsigned long)(addr), (size), get_fs())) ^~~~~~~~~~~ include/net/checksum.h:49:6: note: in expansion of macro 'access_ok' if (access_ok(VERIFY_WRITE, dst, len)) { ^~~~~~~~~ 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/uapi/linux/timex.h:56, from include/linux/timex.h:56, from include/linux/sched.h:19, from arch/powerpc/kernel/process.c:18: include/linux/scatterlist.h: In function 'sg_set_buf': >> arch/powerpc/include/asm/page.h:129:32: error: comparison of unsigned expression >= 0 is always true [-Werror=type-limits] #define pfn_valid(pfn) ((pfn) >= ARCH_PFN_OFFSET && (pfn) < max_mapnr) ^ include/asm-generic/bug.h:146:36: note: in definition of macro 'BUG_ON' #define BUG_ON(condition) do { if (condition) BUG(); } while (0) ^~~~~~~~~ arch/powerpc/include/asm/page.h:146:32: note: in expansion of macro 'pfn_valid' #define virt_addr_valid(kaddr) pfn_valid(virt_to_pfn(kaddr)) ^~~~~~~~~ include/linux/scatterlist.h:140:10: note: in expansion of macro 'virt_addr_valid' BUG_ON(!virt_addr_valid(buf)); ^~~~~~~~~~~~~~~ In file included from include/net/net_namespace.h:32:0, from include/linux/init_task.h:15, from arch/powerpc/kernel/process.c:29: 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; ^~ arch/powerpc/kernel/process.c: At top level: >> arch/powerpc/kernel/process.c:1088:5: error: no previous declaration for 'arch_dup_task_struct' [-Werror=missing-declarations] int arch_dup_task_struct(struct task_struct *dst, struct task_struct *src) ^~~~~~~~~~~~~~~~~~~~ arch/powerpc/kernel/process.c:1642:15: error: no previous declaration for 'arch_align_stack' [-Werror=missing-declarations] unsigned long arch_align_stack(unsigned long sp) ^~~~~~~~~~~~~~~~ arch/powerpc/kernel/process.c:1662:15: error: no previous declaration for 'arch_randomize_brk' [-Werror=missing-declarations] unsigned long arch_randomize_brk(struct mm_struct *mm) ^~~~~~~~~~~~~~~~~~ cc1: all 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