* Re: [PATCH next 2/5] minmax: Allow min()/max()/clamp() if the arguments have the same signedness.
[not found] <454f967d452548a9acfa7c0a0872507e@AcuMS.aculab.com>
@ 2023-07-25 14:14 ` kernel test robot
2023-07-25 14:56 ` kernel test robot
2023-07-25 15:58 ` kernel test robot
2 siblings, 0 replies; 7+ messages in thread
From: kernel test robot @ 2023-07-25 14:14 UTC (permalink / raw)
To: David Laight, linux-kernel@vger.kernel.org,
'Andy Shevchenko', 'Andrew Morton',
Matthew Wilcox (Oracle), Christoph Hellwig, Jason A. Donenfeld
Cc: oe-kbuild-all, Linux Memory Management List
Hi David,
kernel test robot noticed the following build errors:
[auto build test ERROR on akpm-mm/mm-everything]
[also build test ERROR on linus/master v6.5-rc3 next-20230725]
[cannot apply to next-20230725 hch-configfs/for-next]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/David-Laight/minmax-Add-min_unsigned-a-b-and-max_unsigned-a-b/20230725-180332
base: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything
patch link: https://lore.kernel.org/r/454f967d452548a9acfa7c0a0872507e%40AcuMS.aculab.com
patch subject: [PATCH next 2/5] minmax: Allow min()/max()/clamp() if the arguments have the same signedness.
config: loongarch-allnoconfig (https://download.01.org/0day-ci/archive/20230725/202307252139.Kz3mgUAw-lkp@intel.com/config)
compiler: loongarch64-linux-gcc (GCC) 12.3.0
reproduce: (https://download.01.org/0day-ci/archive/20230725/202307252139.Kz3mgUAw-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202307252139.Kz3mgUAw-lkp@intel.com/
All errors (new ones prefixed by >>):
In file included from include/linux/irqdomain.h:36,
from arch/loongarch/include/asm/irq.h:8,
from include/linux/irq.h:23,
from arch/loongarch/include/asm/hardirq.h:10,
from include/linux/hardirq.h:11,
from include/linux/interrupt.h:11,
from drivers/irqchip/irq-loongarch-cpu.c:8:
>> include/linux/irqchip.h:24:10: error: implicit declaration of function '__typecheck'; did you mean 'typecheck'? [-Werror=implicit-function-declaration]
24 | (__typecheck(typecheck_irq_init_cb, &fn) ? fn : fn)
| ^~~~~~~~~~~
include/linux/of.h:1478:31: note: in definition of macro '_OF_DECLARE'
1478 | .data = (fn == (fn_type)NULL) ? fn : fn }
| ^~
include/linux/irqchip.h:37:9: note: in expansion of macro 'OF_DECLARE_2'
37 | OF_DECLARE_2(irqchip, name, compat, typecheck_irq_init_cb(fn))
| ^~~~~~~~~~~~
include/linux/irqchip.h:37:45: note: in expansion of macro 'typecheck_irq_init_cb'
37 | OF_DECLARE_2(irqchip, name, compat, typecheck_irq_init_cb(fn))
| ^~~~~~~~~~~~~~~~~~~~~
drivers/irqchip/irq-loongarch-cpu.c:110:1: note: in expansion of macro 'IRQCHIP_DECLARE'
110 | IRQCHIP_DECLARE(cpu_intc, "loongson,cpu-interrupt-controller", cpuintc_of_init);
| ^~~~~~~~~~~~~~~
>> include/linux/of.h:1478:30: error: initializer element is not constant
1478 | .data = (fn == (fn_type)NULL) ? fn : fn }
| ^
include/linux/of.h:1493:17: note: in expansion of macro '_OF_DECLARE'
1493 | _OF_DECLARE(table, name, compat, fn, of_init_fn_2)
| ^~~~~~~~~~~
include/linux/irqchip.h:37:9: note: in expansion of macro 'OF_DECLARE_2'
37 | OF_DECLARE_2(irqchip, name, compat, typecheck_irq_init_cb(fn))
| ^~~~~~~~~~~~
drivers/irqchip/irq-loongarch-cpu.c:110:1: note: in expansion of macro 'IRQCHIP_DECLARE'
110 | IRQCHIP_DECLARE(cpu_intc, "loongson,cpu-interrupt-controller", cpuintc_of_init);
| ^~~~~~~~~~~~~~~
include/linux/of.h:1478:30: note: (near initialization for '__of_table_cpu_intc.data')
1478 | .data = (fn == (fn_type)NULL) ? fn : fn }
| ^
include/linux/of.h:1493:17: note: in expansion of macro '_OF_DECLARE'
1493 | _OF_DECLARE(table, name, compat, fn, of_init_fn_2)
| ^~~~~~~~~~~
include/linux/irqchip.h:37:9: note: in expansion of macro 'OF_DECLARE_2'
37 | OF_DECLARE_2(irqchip, name, compat, typecheck_irq_init_cb(fn))
| ^~~~~~~~~~~~
drivers/irqchip/irq-loongarch-cpu.c:110:1: note: in expansion of macro 'IRQCHIP_DECLARE'
110 | IRQCHIP_DECLARE(cpu_intc, "loongson,cpu-interrupt-controller", cpuintc_of_init);
| ^~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
--
In file included from include/linux/irqdomain.h:36,
from arch/loongarch/include/asm/irq.h:8,
from include/linux/irq.h:23,
from arch/loongarch/include/asm/hardirq.h:10,
from include/linux/hardirq.h:11,
from include/linux/interrupt.h:11,
from drivers/irqchip/irq-loongson-liointc.c:10:
>> include/linux/irqchip.h:24:10: error: implicit declaration of function '__typecheck'; did you mean 'typecheck'? [-Werror=implicit-function-declaration]
24 | (__typecheck(typecheck_irq_init_cb, &fn) ? fn : fn)
| ^~~~~~~~~~~
include/linux/of.h:1478:31: note: in definition of macro '_OF_DECLARE'
1478 | .data = (fn == (fn_type)NULL) ? fn : fn }
| ^~
include/linux/irqchip.h:37:9: note: in expansion of macro 'OF_DECLARE_2'
37 | OF_DECLARE_2(irqchip, name, compat, typecheck_irq_init_cb(fn))
| ^~~~~~~~~~~~
include/linux/irqchip.h:37:45: note: in expansion of macro 'typecheck_irq_init_cb'
37 | OF_DECLARE_2(irqchip, name, compat, typecheck_irq_init_cb(fn))
| ^~~~~~~~~~~~~~~~~~~~~
drivers/irqchip/irq-loongson-liointc.c:371:1: note: in expansion of macro 'IRQCHIP_DECLARE'
371 | IRQCHIP_DECLARE(loongson_liointc_1_0, "loongson,liointc-1.0", liointc_of_init);
| ^~~~~~~~~~~~~~~
>> include/linux/of.h:1478:30: error: initializer element is not constant
1478 | .data = (fn == (fn_type)NULL) ? fn : fn }
| ^
include/linux/of.h:1493:17: note: in expansion of macro '_OF_DECLARE'
1493 | _OF_DECLARE(table, name, compat, fn, of_init_fn_2)
| ^~~~~~~~~~~
include/linux/irqchip.h:37:9: note: in expansion of macro 'OF_DECLARE_2'
37 | OF_DECLARE_2(irqchip, name, compat, typecheck_irq_init_cb(fn))
| ^~~~~~~~~~~~
drivers/irqchip/irq-loongson-liointc.c:371:1: note: in expansion of macro 'IRQCHIP_DECLARE'
371 | IRQCHIP_DECLARE(loongson_liointc_1_0, "loongson,liointc-1.0", liointc_of_init);
| ^~~~~~~~~~~~~~~
include/linux/of.h:1478:30: note: (near initialization for '__of_table_loongson_liointc_1_0.data')
1478 | .data = (fn == (fn_type)NULL) ? fn : fn }
| ^
include/linux/of.h:1493:17: note: in expansion of macro '_OF_DECLARE'
1493 | _OF_DECLARE(table, name, compat, fn, of_init_fn_2)
| ^~~~~~~~~~~
include/linux/irqchip.h:37:9: note: in expansion of macro 'OF_DECLARE_2'
37 | OF_DECLARE_2(irqchip, name, compat, typecheck_irq_init_cb(fn))
| ^~~~~~~~~~~~
drivers/irqchip/irq-loongson-liointc.c:371:1: note: in expansion of macro 'IRQCHIP_DECLARE'
371 | IRQCHIP_DECLARE(loongson_liointc_1_0, "loongson,liointc-1.0", liointc_of_init);
| ^~~~~~~~~~~~~~~
>> include/linux/of.h:1478:30: error: initializer element is not constant
1478 | .data = (fn == (fn_type)NULL) ? fn : fn }
| ^
include/linux/of.h:1493:17: note: in expansion of macro '_OF_DECLARE'
1493 | _OF_DECLARE(table, name, compat, fn, of_init_fn_2)
| ^~~~~~~~~~~
include/linux/irqchip.h:37:9: note: in expansion of macro 'OF_DECLARE_2'
37 | OF_DECLARE_2(irqchip, name, compat, typecheck_irq_init_cb(fn))
| ^~~~~~~~~~~~
drivers/irqchip/irq-loongson-liointc.c:372:1: note: in expansion of macro 'IRQCHIP_DECLARE'
372 | IRQCHIP_DECLARE(loongson_liointc_1_0a, "loongson,liointc-1.0a", liointc_of_init);
| ^~~~~~~~~~~~~~~
include/linux/of.h:1478:30: note: (near initialization for '__of_table_loongson_liointc_1_0a.data')
1478 | .data = (fn == (fn_type)NULL) ? fn : fn }
| ^
include/linux/of.h:1493:17: note: in expansion of macro '_OF_DECLARE'
1493 | _OF_DECLARE(table, name, compat, fn, of_init_fn_2)
| ^~~~~~~~~~~
include/linux/irqchip.h:37:9: note: in expansion of macro 'OF_DECLARE_2'
37 | OF_DECLARE_2(irqchip, name, compat, typecheck_irq_init_cb(fn))
| ^~~~~~~~~~~~
drivers/irqchip/irq-loongson-liointc.c:372:1: note: in expansion of macro 'IRQCHIP_DECLARE'
372 | IRQCHIP_DECLARE(loongson_liointc_1_0a, "loongson,liointc-1.0a", liointc_of_init);
| ^~~~~~~~~~~~~~~
>> include/linux/of.h:1478:30: error: initializer element is not constant
1478 | .data = (fn == (fn_type)NULL) ? fn : fn }
| ^
include/linux/of.h:1493:17: note: in expansion of macro '_OF_DECLARE'
1493 | _OF_DECLARE(table, name, compat, fn, of_init_fn_2)
| ^~~~~~~~~~~
include/linux/irqchip.h:37:9: note: in expansion of macro 'OF_DECLARE_2'
37 | OF_DECLARE_2(irqchip, name, compat, typecheck_irq_init_cb(fn))
| ^~~~~~~~~~~~
drivers/irqchip/irq-loongson-liointc.c:373:1: note: in expansion of macro 'IRQCHIP_DECLARE'
373 | IRQCHIP_DECLARE(loongson_liointc_2_0, "loongson,liointc-2.0", liointc_of_init);
| ^~~~~~~~~~~~~~~
include/linux/of.h:1478:30: note: (near initialization for '__of_table_loongson_liointc_2_0.data')
1478 | .data = (fn == (fn_type)NULL) ? fn : fn }
| ^
include/linux/of.h:1493:17: note: in expansion of macro '_OF_DECLARE'
1493 | _OF_DECLARE(table, name, compat, fn, of_init_fn_2)
| ^~~~~~~~~~~
include/linux/irqchip.h:37:9: note: in expansion of macro 'OF_DECLARE_2'
37 | OF_DECLARE_2(irqchip, name, compat, typecheck_irq_init_cb(fn))
| ^~~~~~~~~~~~
drivers/irqchip/irq-loongson-liointc.c:373:1: note: in expansion of macro 'IRQCHIP_DECLARE'
373 | IRQCHIP_DECLARE(loongson_liointc_2_0, "loongson,liointc-2.0", liointc_of_init);
| ^~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
--
In file included from include/linux/irqdomain.h:36,
from arch/loongarch/include/asm/irq.h:8,
from include/linux/irq.h:23,
from arch/loongarch/include/asm/hardirq.h:10,
from include/linux/hardirq.h:11,
from include/linux/interrupt.h:11,
from drivers/irqchip/irq-loongson-eiointc.c:11:
>> include/linux/irqchip.h:24:10: error: implicit declaration of function '__typecheck'; did you mean 'typecheck'? [-Werror=implicit-function-declaration]
24 | (__typecheck(typecheck_irq_init_cb, &fn) ? fn : fn)
| ^~~~~~~~~~~
include/linux/of.h:1478:31: note: in definition of macro '_OF_DECLARE'
1478 | .data = (fn == (fn_type)NULL) ? fn : fn }
| ^~
include/linux/irqchip.h:37:9: note: in expansion of macro 'OF_DECLARE_2'
37 | OF_DECLARE_2(irqchip, name, compat, typecheck_irq_init_cb(fn))
| ^~~~~~~~~~~~
include/linux/irqchip.h:37:45: note: in expansion of macro 'typecheck_irq_init_cb'
37 | OF_DECLARE_2(irqchip, name, compat, typecheck_irq_init_cb(fn))
| ^~~~~~~~~~~~~~~~~~~~~
drivers/irqchip/irq-loongson-eiointc.c:508:1: note: in expansion of macro 'IRQCHIP_DECLARE'
508 | IRQCHIP_DECLARE(loongson_ls2k0500_eiointc, "loongson,ls2k0500-eiointc", eiointc_of_init);
| ^~~~~~~~~~~~~~~
>> include/linux/of.h:1478:30: error: initializer element is not constant
1478 | .data = (fn == (fn_type)NULL) ? fn : fn }
| ^
include/linux/of.h:1493:17: note: in expansion of macro '_OF_DECLARE'
1493 | _OF_DECLARE(table, name, compat, fn, of_init_fn_2)
| ^~~~~~~~~~~
include/linux/irqchip.h:37:9: note: in expansion of macro 'OF_DECLARE_2'
37 | OF_DECLARE_2(irqchip, name, compat, typecheck_irq_init_cb(fn))
| ^~~~~~~~~~~~
drivers/irqchip/irq-loongson-eiointc.c:508:1: note: in expansion of macro 'IRQCHIP_DECLARE'
508 | IRQCHIP_DECLARE(loongson_ls2k0500_eiointc, "loongson,ls2k0500-eiointc", eiointc_of_init);
| ^~~~~~~~~~~~~~~
include/linux/of.h:1478:30: note: (near initialization for '__of_table_loongson_ls2k0500_eiointc.data')
1478 | .data = (fn == (fn_type)NULL) ? fn : fn }
| ^
include/linux/of.h:1493:17: note: in expansion of macro '_OF_DECLARE'
1493 | _OF_DECLARE(table, name, compat, fn, of_init_fn_2)
| ^~~~~~~~~~~
include/linux/irqchip.h:37:9: note: in expansion of macro 'OF_DECLARE_2'
37 | OF_DECLARE_2(irqchip, name, compat, typecheck_irq_init_cb(fn))
| ^~~~~~~~~~~~
drivers/irqchip/irq-loongson-eiointc.c:508:1: note: in expansion of macro 'IRQCHIP_DECLARE'
508 | IRQCHIP_DECLARE(loongson_ls2k0500_eiointc, "loongson,ls2k0500-eiointc", eiointc_of_init);
| ^~~~~~~~~~~~~~~
>> include/linux/of.h:1478:30: error: initializer element is not constant
1478 | .data = (fn == (fn_type)NULL) ? fn : fn }
| ^
include/linux/of.h:1493:17: note: in expansion of macro '_OF_DECLARE'
1493 | _OF_DECLARE(table, name, compat, fn, of_init_fn_2)
| ^~~~~~~~~~~
include/linux/irqchip.h:37:9: note: in expansion of macro 'OF_DECLARE_2'
37 | OF_DECLARE_2(irqchip, name, compat, typecheck_irq_init_cb(fn))
| ^~~~~~~~~~~~
drivers/irqchip/irq-loongson-eiointc.c:509:1: note: in expansion of macro 'IRQCHIP_DECLARE'
509 | IRQCHIP_DECLARE(loongson_ls2k2000_eiointc, "loongson,ls2k2000-eiointc", eiointc_of_init);
| ^~~~~~~~~~~~~~~
include/linux/of.h:1478:30: note: (near initialization for '__of_table_loongson_ls2k2000_eiointc.data')
1478 | .data = (fn == (fn_type)NULL) ? fn : fn }
| ^
include/linux/of.h:1493:17: note: in expansion of macro '_OF_DECLARE'
1493 | _OF_DECLARE(table, name, compat, fn, of_init_fn_2)
| ^~~~~~~~~~~
include/linux/irqchip.h:37:9: note: in expansion of macro 'OF_DECLARE_2'
37 | OF_DECLARE_2(irqchip, name, compat, typecheck_irq_init_cb(fn))
| ^~~~~~~~~~~~
drivers/irqchip/irq-loongson-eiointc.c:509:1: note: in expansion of macro 'IRQCHIP_DECLARE'
509 | IRQCHIP_DECLARE(loongson_ls2k2000_eiointc, "loongson,ls2k2000-eiointc", eiointc_of_init);
| ^~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
--
In file included from include/linux/irqdomain.h:36,
from arch/loongarch/include/asm/irq.h:8,
from include/linux/irq.h:23,
from arch/loongarch/include/asm/hardirq.h:10,
from include/linux/hardirq.h:11,
from include/linux/interrupt.h:11,
from drivers/irqchip/irq-loongson-htvec.c:9:
>> include/linux/irqchip.h:24:10: error: implicit declaration of function '__typecheck'; did you mean 'typecheck'? [-Werror=implicit-function-declaration]
24 | (__typecheck(typecheck_irq_init_cb, &fn) ? fn : fn)
| ^~~~~~~~~~~
include/linux/of.h:1478:31: note: in definition of macro '_OF_DECLARE'
1478 | .data = (fn == (fn_type)NULL) ? fn : fn }
| ^~
include/linux/irqchip.h:37:9: note: in expansion of macro 'OF_DECLARE_2'
37 | OF_DECLARE_2(irqchip, name, compat, typecheck_irq_init_cb(fn))
| ^~~~~~~~~~~~
include/linux/irqchip.h:37:45: note: in expansion of macro 'typecheck_irq_init_cb'
37 | OF_DECLARE_2(irqchip, name, compat, typecheck_irq_init_cb(fn))
| ^~~~~~~~~~~~~~~~~~~~~
drivers/irqchip/irq-loongson-htvec.c:257:1: note: in expansion of macro 'IRQCHIP_DECLARE'
257 | IRQCHIP_DECLARE(htvec, "loongson,htvec-1.0", htvec_of_init);
| ^~~~~~~~~~~~~~~
>> include/linux/of.h:1478:30: error: initializer element is not constant
1478 | .data = (fn == (fn_type)NULL) ? fn : fn }
| ^
include/linux/of.h:1493:17: note: in expansion of macro '_OF_DECLARE'
1493 | _OF_DECLARE(table, name, compat, fn, of_init_fn_2)
| ^~~~~~~~~~~
include/linux/irqchip.h:37:9: note: in expansion of macro 'OF_DECLARE_2'
37 | OF_DECLARE_2(irqchip, name, compat, typecheck_irq_init_cb(fn))
| ^~~~~~~~~~~~
drivers/irqchip/irq-loongson-htvec.c:257:1: note: in expansion of macro 'IRQCHIP_DECLARE'
257 | IRQCHIP_DECLARE(htvec, "loongson,htvec-1.0", htvec_of_init);
| ^~~~~~~~~~~~~~~
include/linux/of.h:1478:30: note: (near initialization for '__of_table_htvec.data')
1478 | .data = (fn == (fn_type)NULL) ? fn : fn }
| ^
include/linux/of.h:1493:17: note: in expansion of macro '_OF_DECLARE'
1493 | _OF_DECLARE(table, name, compat, fn, of_init_fn_2)
| ^~~~~~~~~~~
include/linux/irqchip.h:37:9: note: in expansion of macro 'OF_DECLARE_2'
37 | OF_DECLARE_2(irqchip, name, compat, typecheck_irq_init_cb(fn))
| ^~~~~~~~~~~~
drivers/irqchip/irq-loongson-htvec.c:257:1: note: in expansion of macro 'IRQCHIP_DECLARE'
257 | IRQCHIP_DECLARE(htvec, "loongson,htvec-1.0", htvec_of_init);
| ^~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
--
In file included from include/linux/irqdomain.h:36,
from arch/loongarch/include/asm/irq.h:8,
from include/linux/irq.h:23,
from arch/loongarch/include/asm/hardirq.h:10,
from include/linux/hardirq.h:11,
from include/linux/interrupt.h:11,
from drivers/irqchip/irq-loongson-pch-pic.c:9:
>> include/linux/irqchip.h:24:10: error: implicit declaration of function '__typecheck'; did you mean 'typecheck'? [-Werror=implicit-function-declaration]
24 | (__typecheck(typecheck_irq_init_cb, &fn) ? fn : fn)
| ^~~~~~~~~~~
include/linux/of.h:1478:31: note: in definition of macro '_OF_DECLARE'
1478 | .data = (fn == (fn_type)NULL) ? fn : fn }
| ^~
include/linux/irqchip.h:37:9: note: in expansion of macro 'OF_DECLARE_2'
37 | OF_DECLARE_2(irqchip, name, compat, typecheck_irq_init_cb(fn))
| ^~~~~~~~~~~~
include/linux/irqchip.h:37:45: note: in expansion of macro 'typecheck_irq_init_cb'
37 | OF_DECLARE_2(irqchip, name, compat, typecheck_irq_init_cb(fn))
| ^~~~~~~~~~~~~~~~~~~~~
drivers/irqchip/irq-loongson-pch-pic.c:358:1: note: in expansion of macro 'IRQCHIP_DECLARE'
358 | IRQCHIP_DECLARE(pch_pic, "loongson,pch-pic-1.0", pch_pic_of_init);
| ^~~~~~~~~~~~~~~
>> include/linux/of.h:1478:30: error: initializer element is not constant
1478 | .data = (fn == (fn_type)NULL) ? fn : fn }
| ^
include/linux/of.h:1493:17: note: in expansion of macro '_OF_DECLARE'
1493 | _OF_DECLARE(table, name, compat, fn, of_init_fn_2)
| ^~~~~~~~~~~
include/linux/irqchip.h:37:9: note: in expansion of macro 'OF_DECLARE_2'
37 | OF_DECLARE_2(irqchip, name, compat, typecheck_irq_init_cb(fn))
| ^~~~~~~~~~~~
drivers/irqchip/irq-loongson-pch-pic.c:358:1: note: in expansion of macro 'IRQCHIP_DECLARE'
358 | IRQCHIP_DECLARE(pch_pic, "loongson,pch-pic-1.0", pch_pic_of_init);
| ^~~~~~~~~~~~~~~
include/linux/of.h:1478:30: note: (near initialization for '__of_table_pch_pic.data')
1478 | .data = (fn == (fn_type)NULL) ? fn : fn }
| ^
include/linux/of.h:1493:17: note: in expansion of macro '_OF_DECLARE'
1493 | _OF_DECLARE(table, name, compat, fn, of_init_fn_2)
| ^~~~~~~~~~~
include/linux/irqchip.h:37:9: note: in expansion of macro 'OF_DECLARE_2'
37 | OF_DECLARE_2(irqchip, name, compat, typecheck_irq_init_cb(fn))
| ^~~~~~~~~~~~
drivers/irqchip/irq-loongson-pch-pic.c:358:1: note: in expansion of macro 'IRQCHIP_DECLARE'
358 | IRQCHIP_DECLARE(pch_pic, "loongson,pch-pic-1.0", pch_pic_of_init);
| ^~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
..
vim +24 include/linux/irqchip.h
f1985002839af8 Marc Zyngier 2021-10-20 22
f1985002839af8 Marc Zyngier 2021-10-20 23 #define typecheck_irq_init_cb(fn) \
f1985002839af8 Marc Zyngier 2021-10-20 @24 (__typecheck(typecheck_irq_init_cb, &fn) ? fn : fn)
f1985002839af8 Marc Zyngier 2021-10-20 25
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH next 2/5] minmax: Allow min()/max()/clamp() if the arguments have the same signedness.
[not found] <454f967d452548a9acfa7c0a0872507e@AcuMS.aculab.com>
2023-07-25 14:14 ` [PATCH next 2/5] minmax: Allow min()/max()/clamp() if the arguments have the same signedness kernel test robot
@ 2023-07-25 14:56 ` kernel test robot
2023-07-26 9:47 ` David Laight
2023-07-25 15:58 ` kernel test robot
2 siblings, 1 reply; 7+ messages in thread
From: kernel test robot @ 2023-07-25 14:56 UTC (permalink / raw)
To: David Laight, linux-kernel@vger.kernel.org,
'Andy Shevchenko', 'Andrew Morton',
Matthew Wilcox (Oracle), Christoph Hellwig, Jason A. Donenfeld
Cc: llvm, oe-kbuild-all, Linux Memory Management List
Hi David,
kernel test robot noticed the following build errors:
[auto build test ERROR on akpm-mm/mm-everything]
[also build test ERROR on linus/master v6.5-rc3 next-20230725]
[cannot apply to next-20230725 hch-configfs/for-next]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/David-Laight/minmax-Add-min_unsigned-a-b-and-max_unsigned-a-b/20230725-180332
base: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything
patch link: https://lore.kernel.org/r/454f967d452548a9acfa7c0a0872507e%40AcuMS.aculab.com
patch subject: [PATCH next 2/5] minmax: Allow min()/max()/clamp() if the arguments have the same signedness.
config: um-allyesconfig (https://download.01.org/0day-ci/archive/20230725/202307252241.W1SwUDKu-lkp@intel.com/config)
compiler: clang version 14.0.6 (https://github.com/llvm/llvm-project.git f28c006a5895fc0e329fe15fead81e37457cb1d1)
reproduce: (https://download.01.org/0day-ci/archive/20230725/202307252241.W1SwUDKu-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202307252241.W1SwUDKu-lkp@intel.com/
All errors (new ones prefixed by >>):
In file included from init/calibrate.c:8:
>> include/linux/jiffies.h:427:28: error: implicit declaration of function 'static_assert' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
return jiffies_to_clock_t(max(0L, delta));
^
include/linux/minmax.h:69:19: note: expanded from macro 'max'
#define max(x, y) __careful_cmp(max, x, y)
^
include/linux/minmax.h:36:3: note: expanded from macro '__careful_cmp'
__cmp_once(op, x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y)))
^
include/linux/minmax.h:29:3: note: expanded from macro '__cmp_once'
static_assert(__types_ok(x, y), \
^
In file included from init/calibrate.c:8:
include/linux/jiffies.h:432:26: error: implicit declaration of function 'static_assert' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
return jiffies_to_msecs(max(0L, delta));
^
include/linux/minmax.h:69:19: note: expanded from macro 'max'
#define max(x, y) __careful_cmp(max, x, y)
^
include/linux/minmax.h:36:3: note: expanded from macro '__careful_cmp'
__cmp_once(op, x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y)))
^
include/linux/minmax.h:29:3: note: expanded from macro '__cmp_once'
static_assert(__types_ok(x, y), \
^
2 errors generated.
--
In file included from kernel/workqueue.c:39:
In file included from include/linux/hardirq.h:11:
In file included from arch/um/include/asm/hardirq.h:5:
In file included from include/asm-generic/hardirq.h:17:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/um/include/asm/io.h:24:
include/asm-generic/io.h:547:31: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
val = __raw_readb(PCI_IOBASE + addr);
~~~~~~~~~~ ^
include/asm-generic/io.h:560:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
val = __le16_to_cpu((__le16 __force)__raw_readw(PCI_IOBASE + addr));
~~~~~~~~~~ ^
include/uapi/linux/byteorder/little_endian.h:37:51: note: expanded from macro '__le16_to_cpu'
#define __le16_to_cpu(x) ((__force __u16)(__le16)(x))
^
In file included from kernel/workqueue.c:39:
In file included from include/linux/hardirq.h:11:
In file included from arch/um/include/asm/hardirq.h:5:
In file included from include/asm-generic/hardirq.h:17:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/um/include/asm/io.h:24:
include/asm-generic/io.h:573:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
val = __le32_to_cpu((__le32 __force)__raw_readl(PCI_IOBASE + addr));
~~~~~~~~~~ ^
include/uapi/linux/byteorder/little_endian.h:35:51: note: expanded from macro '__le32_to_cpu'
#define __le32_to_cpu(x) ((__force __u32)(__le32)(x))
^
In file included from kernel/workqueue.c:39:
In file included from include/linux/hardirq.h:11:
In file included from arch/um/include/asm/hardirq.h:5:
In file included from include/asm-generic/hardirq.h:17:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/um/include/asm/io.h:24:
include/asm-generic/io.h:584:33: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
__raw_writeb(value, PCI_IOBASE + addr);
~~~~~~~~~~ ^
include/asm-generic/io.h:594:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
__raw_writew((u16 __force)cpu_to_le16(value), PCI_IOBASE + addr);
~~~~~~~~~~ ^
include/asm-generic/io.h:604:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
__raw_writel((u32 __force)cpu_to_le32(value), PCI_IOBASE + addr);
~~~~~~~~~~ ^
include/asm-generic/io.h:692:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
readsb(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:700:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
readsw(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:708:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
readsl(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:717:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
writesb(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:726:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
writesw(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:735:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
writesl(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
>> kernel/workqueue.c:4579:9: error: static_assert expression is not an integral constant expression
return clamp_val(max_active, 1, lim);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:171:32: note: expanded from macro 'clamp_val'
#define clamp_val(val, lo, hi) clamp_t(typeof(val), val, lo, hi)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:158:36: note: expanded from macro 'clamp_t'
#define clamp_t(type, val, lo, hi) __careful_clamp((type)(val), (type)(lo), (type)(hi))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:54:3: note: expanded from macro '__careful_clamp'
__clamp_once(val, lo, hi, __UNIQUE_ID(__val), \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:45:17: note: expanded from macro '__clamp_once'
static_assert(!__is_constexpr((lo) > (hi)) || (lo) <= (hi), \
~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:77:50: note: expanded from macro 'static_assert'
#define static_assert(expr, ...) __static_assert(expr, ##__VA_ARGS__, #expr)
~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:78:56: note: expanded from macro '__static_assert'
#define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
^~~~
12 warnings and 1 error generated.
--
In file included from mm/mm_init.c:17:
In file included from include/linux/memblock.h:13:
In file included from arch/um/include/asm/dma.h:5:
In file included from arch/um/include/asm/io.h:24:
include/asm-generic/io.h:547:31: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
val = __raw_readb(PCI_IOBASE + addr);
~~~~~~~~~~ ^
include/asm-generic/io.h:560:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
val = __le16_to_cpu((__le16 __force)__raw_readw(PCI_IOBASE + addr));
~~~~~~~~~~ ^
include/uapi/linux/byteorder/little_endian.h:37:51: note: expanded from macro '__le16_to_cpu'
#define __le16_to_cpu(x) ((__force __u16)(__le16)(x))
^
In file included from mm/mm_init.c:17:
In file included from include/linux/memblock.h:13:
In file included from arch/um/include/asm/dma.h:5:
In file included from arch/um/include/asm/io.h:24:
include/asm-generic/io.h:573:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
val = __le32_to_cpu((__le32 __force)__raw_readl(PCI_IOBASE + addr));
~~~~~~~~~~ ^
include/uapi/linux/byteorder/little_endian.h:35:51: note: expanded from macro '__le32_to_cpu'
#define __le32_to_cpu(x) ((__force __u32)(__le32)(x))
^
In file included from mm/mm_init.c:17:
In file included from include/linux/memblock.h:13:
In file included from arch/um/include/asm/dma.h:5:
In file included from arch/um/include/asm/io.h:24:
include/asm-generic/io.h:584:33: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
__raw_writeb(value, PCI_IOBASE + addr);
~~~~~~~~~~ ^
include/asm-generic/io.h:594:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
__raw_writew((u16 __force)cpu_to_le16(value), PCI_IOBASE + addr);
~~~~~~~~~~ ^
include/asm-generic/io.h:604:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
__raw_writel((u32 __force)cpu_to_le32(value), PCI_IOBASE + addr);
~~~~~~~~~~ ^
include/asm-generic/io.h:692:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
readsb(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:700:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
readsw(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:708:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
readsl(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:717:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
writesb(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:726:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
writesw(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:735:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
writesl(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
>> mm/mm_init.c:908:14: error: static_assert expression is not an integral constant expression
start_pfn = clamp(start_pfn, zone_start_pfn, zone_end_pfn);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:123:28: note: expanded from macro 'clamp'
#define clamp(val, lo, hi) __careful_clamp(val, lo, hi)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:54:3: note: expanded from macro '__careful_clamp'
__clamp_once(val, lo, hi, __UNIQUE_ID(__val), \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:45:17: note: expanded from macro '__clamp_once'
static_assert(!__is_constexpr((lo) > (hi)) || (lo) <= (hi), \
~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:77:50: note: expanded from macro 'static_assert'
#define static_assert(expr, ...) __static_assert(expr, ##__VA_ARGS__, #expr)
~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:78:56: note: expanded from macro '__static_assert'
#define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
^~~~
mm/mm_init.c:909:12: error: static_assert expression is not an integral constant expression
end_pfn = clamp(end_pfn, zone_start_pfn, zone_end_pfn);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:123:28: note: expanded from macro 'clamp'
#define clamp(val, lo, hi) __careful_clamp(val, lo, hi)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:54:3: note: expanded from macro '__careful_clamp'
__clamp_once(val, lo, hi, __UNIQUE_ID(__val), \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:45:17: note: expanded from macro '__clamp_once'
static_assert(!__is_constexpr((lo) > (hi)) || (lo) <= (hi), \
~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:77:50: note: expanded from macro 'static_assert'
#define static_assert(expr, ...) __static_assert(expr, ##__VA_ARGS__, #expr)
~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:78:56: note: expanded from macro '__static_assert'
#define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
^~~~
mm/mm_init.c:1145:15: error: static_assert expression is not an integral constant expression
start_pfn = clamp(start_pfn, range_start_pfn, range_end_pfn);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:123:28: note: expanded from macro 'clamp'
#define clamp(val, lo, hi) __careful_clamp(val, lo, hi)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:54:3: note: expanded from macro '__careful_clamp'
__clamp_once(val, lo, hi, __UNIQUE_ID(__val), \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:45:17: note: expanded from macro '__clamp_once'
static_assert(!__is_constexpr((lo) > (hi)) || (lo) <= (hi), \
~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:77:50: note: expanded from macro 'static_assert'
#define static_assert(expr, ...) __static_assert(expr, ##__VA_ARGS__, #expr)
~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:78:56: note: expanded from macro '__static_assert'
#define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
^~~~
mm/mm_init.c:1146:13: error: static_assert expression is not an integral constant expression
end_pfn = clamp(end_pfn, range_start_pfn, range_end_pfn);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:123:28: note: expanded from macro 'clamp'
#define clamp(val, lo, hi) __careful_clamp(val, lo, hi)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:54:3: note: expanded from macro '__careful_clamp'
__clamp_once(val, lo, hi, __UNIQUE_ID(__val), \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:45:17: note: expanded from macro '__clamp_once'
static_assert(!__is_constexpr((lo) > (hi)) || (lo) <= (hi), \
~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:77:50: note: expanded from macro 'static_assert'
#define static_assert(expr, ...) __static_assert(expr, ##__VA_ARGS__, #expr)
~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:78:56: note: expanded from macro '__static_assert'
#define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
^~~~
mm/mm_init.c:1189:16: error: static_assert expression is not an integral constant expression
start_pfn = clamp(memblock_region_memory_base_pfn(r),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:123:28: note: expanded from macro 'clamp'
#define clamp(val, lo, hi) __careful_clamp(val, lo, hi)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:54:3: note: expanded from macro '__careful_clamp'
__clamp_once(val, lo, hi, __UNIQUE_ID(__val), \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:45:17: note: expanded from macro '__clamp_once'
static_assert(!__is_constexpr((lo) > (hi)) || (lo) <= (hi), \
~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:77:50: note: expanded from macro 'static_assert'
#define static_assert(expr, ...) __static_assert(expr, ##__VA_ARGS__, #expr)
~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:78:56: note: expanded from macro '__static_assert'
#define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
^~~~
mm/mm_init.c:1191:14: error: static_assert expression is not an integral constant expression
end_pfn = clamp(memblock_region_memory_end_pfn(r),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:123:28: note: expanded from macro 'clamp'
#define clamp(val, lo, hi) __careful_clamp(val, lo, hi)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:54:3: note: expanded from macro '__careful_clamp'
__clamp_once(val, lo, hi, __UNIQUE_ID(__val), \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:45:17: note: expanded from macro '__clamp_once'
static_assert(!__is_constexpr((lo) > (hi)) || (lo) <= (hi), \
--
In file included from mm/page_alloc.c:20:
In file included from include/linux/highmem.h:12:
In file included from include/linux/hardirq.h:11:
In file included from arch/um/include/asm/hardirq.h:5:
In file included from include/asm-generic/hardirq.h:17:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/um/include/asm/io.h:24:
include/asm-generic/io.h:547:31: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
val = __raw_readb(PCI_IOBASE + addr);
~~~~~~~~~~ ^
include/asm-generic/io.h:560:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
val = __le16_to_cpu((__le16 __force)__raw_readw(PCI_IOBASE + addr));
~~~~~~~~~~ ^
include/uapi/linux/byteorder/little_endian.h:37:51: note: expanded from macro '__le16_to_cpu'
#define __le16_to_cpu(x) ((__force __u16)(__le16)(x))
^
In file included from mm/page_alloc.c:20:
In file included from include/linux/highmem.h:12:
In file included from include/linux/hardirq.h:11:
In file included from arch/um/include/asm/hardirq.h:5:
In file included from include/asm-generic/hardirq.h:17:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/um/include/asm/io.h:24:
include/asm-generic/io.h:573:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
val = __le32_to_cpu((__le32 __force)__raw_readl(PCI_IOBASE + addr));
~~~~~~~~~~ ^
include/uapi/linux/byteorder/little_endian.h:35:51: note: expanded from macro '__le32_to_cpu'
#define __le32_to_cpu(x) ((__force __u32)(__le32)(x))
^
In file included from mm/page_alloc.c:20:
In file included from include/linux/highmem.h:12:
In file included from include/linux/hardirq.h:11:
In file included from arch/um/include/asm/hardirq.h:5:
In file included from include/asm-generic/hardirq.h:17:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/um/include/asm/io.h:24:
include/asm-generic/io.h:584:33: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
__raw_writeb(value, PCI_IOBASE + addr);
~~~~~~~~~~ ^
include/asm-generic/io.h:594:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
__raw_writew((u16 __force)cpu_to_le16(value), PCI_IOBASE + addr);
~~~~~~~~~~ ^
include/asm-generic/io.h:604:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
__raw_writel((u32 __force)cpu_to_le32(value), PCI_IOBASE + addr);
~~~~~~~~~~ ^
include/asm-generic/io.h:692:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
readsb(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:700:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
readsw(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:708:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
readsl(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:717:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
writesb(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:726:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
writesw(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:735:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
writesl(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
>> mm/page_alloc.c:2415:10: error: static_assert expression is not an integral constant expression
batch = clamp(batch, min_nr_free, max_nr_free);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:123:28: note: expanded from macro 'clamp'
#define clamp(val, lo, hi) __careful_clamp(val, lo, hi)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:54:3: note: expanded from macro '__careful_clamp'
__clamp_once(val, lo, hi, __UNIQUE_ID(__val), \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:45:17: note: expanded from macro '__clamp_once'
static_assert(!__is_constexpr((lo) > (hi)) || (lo) <= (hi), \
~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:77:50: note: expanded from macro 'static_assert'
#define static_assert(expr, ...) __static_assert(expr, ##__VA_ARGS__, #expr)
~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:78:56: note: expanded from macro '__static_assert'
#define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
^~~~
12 warnings and 1 error generated.
..
vim +/static_assert +427 include/linux/jiffies.h
ae60d6a0e3a919 Nicholas Mc Guire 2015-05-28 420
9ca308506062fc Baolin Wang 2015-07-29 421 extern unsigned long timespec64_to_jiffies(const struct timespec64 *value);
9ca308506062fc Baolin Wang 2015-07-29 422 extern void jiffies_to_timespec64(const unsigned long jiffies,
9ca308506062fc Baolin Wang 2015-07-29 423 struct timespec64 *value);
cbbc719fccdb8c hank 2011-09-20 424 extern clock_t jiffies_to_clock_t(unsigned long x);
a399a8053164ec Eric Dumazet 2012-08-08 425 static inline clock_t jiffies_delta_to_clock_t(long delta)
a399a8053164ec Eric Dumazet 2012-08-08 426 {
a399a8053164ec Eric Dumazet 2012-08-08 @427 return jiffies_to_clock_t(max(0L, delta));
a399a8053164ec Eric Dumazet 2012-08-08 428 }
a399a8053164ec Eric Dumazet 2012-08-08 429
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH next 2/5] minmax: Allow min()/max()/clamp() if the arguments have the same signedness.
[not found] <454f967d452548a9acfa7c0a0872507e@AcuMS.aculab.com>
2023-07-25 14:14 ` [PATCH next 2/5] minmax: Allow min()/max()/clamp() if the arguments have the same signedness kernel test robot
2023-07-25 14:56 ` kernel test robot
@ 2023-07-25 15:58 ` kernel test robot
2023-07-26 8:30 ` David Laight
2 siblings, 1 reply; 7+ messages in thread
From: kernel test robot @ 2023-07-25 15:58 UTC (permalink / raw)
To: David Laight, linux-kernel@vger.kernel.org,
'Andy Shevchenko', 'Andrew Morton',
Matthew Wilcox (Oracle), Christoph Hellwig, Jason A. Donenfeld
Cc: llvm, oe-kbuild-all, Linux Memory Management List
Hi David,
kernel test robot noticed the following build errors:
[auto build test ERROR on akpm-mm/mm-everything]
[also build test ERROR on linus/master v6.5-rc3 next-20230725]
[cannot apply to next-20230725 hch-configfs/for-next]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/David-Laight/minmax-Add-min_unsigned-a-b-and-max_unsigned-a-b/20230725-180332
base: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything
patch link: https://lore.kernel.org/r/454f967d452548a9acfa7c0a0872507e%40AcuMS.aculab.com
patch subject: [PATCH next 2/5] minmax: Allow min()/max()/clamp() if the arguments have the same signedness.
config: um-allnoconfig (https://download.01.org/0day-ci/archive/20230725/202307252359.Is4T2MXC-lkp@intel.com/config)
compiler: clang version 17.0.0 (https://github.com/llvm/llvm-project.git 4a5ac14ee968ff0ad5d2cc1ffa0299048db4c88a)
reproduce: (https://download.01.org/0day-ci/archive/20230725/202307252359.Is4T2MXC-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202307252359.Is4T2MXC-lkp@intel.com/
All errors (new ones prefixed by >>):
In file included from init/calibrate.c:8:
>> include/linux/jiffies.h:427:28: error: call to undeclared function 'static_assert'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
427 | return jiffies_to_clock_t(max(0L, delta));
| ^
include/linux/minmax.h:69:19: note: expanded from macro 'max'
69 | #define max(x, y) __careful_cmp(max, x, y)
| ^
include/linux/minmax.h:36:3: note: expanded from macro '__careful_cmp'
36 | __cmp_once(op, x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y)))
| ^
include/linux/minmax.h:29:3: note: expanded from macro '__cmp_once'
29 | static_assert(__types_ok(x, y), \
| ^
In file included from init/calibrate.c:8:
include/linux/jiffies.h:432:26: error: call to undeclared function 'static_assert'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
432 | return jiffies_to_msecs(max(0L, delta));
| ^
include/linux/minmax.h:69:19: note: expanded from macro 'max'
69 | #define max(x, y) __careful_cmp(max, x, y)
| ^
include/linux/minmax.h:36:3: note: expanded from macro '__careful_cmp'
36 | __cmp_once(op, x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y)))
| ^
include/linux/minmax.h:29:3: note: expanded from macro '__cmp_once'
29 | static_assert(__types_ok(x, y), \
| ^
2 errors generated.
--
In file included from fs/signalfd.c:22:
In file included from include/linux/poll.h:7:
In file included from include/linux/ktime.h:25:
>> include/linux/jiffies.h:427:28: error: call to undeclared function 'static_assert'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
427 | return jiffies_to_clock_t(max(0L, delta));
| ^
include/linux/minmax.h:69:19: note: expanded from macro 'max'
69 | #define max(x, y) __careful_cmp(max, x, y)
| ^
include/linux/minmax.h:36:3: note: expanded from macro '__careful_cmp'
36 | __cmp_once(op, x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y)))
| ^
include/linux/minmax.h:29:3: note: expanded from macro '__cmp_once'
29 | static_assert(__types_ok(x, y), \
| ^
In file included from fs/signalfd.c:22:
In file included from include/linux/poll.h:7:
In file included from include/linux/ktime.h:25:
include/linux/jiffies.h:432:26: error: call to undeclared function 'static_assert'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
432 | return jiffies_to_msecs(max(0L, delta));
| ^
include/linux/minmax.h:69:19: note: expanded from macro 'max'
69 | #define max(x, y) __careful_cmp(max, x, y)
| ^
include/linux/minmax.h:36:3: note: expanded from macro '__careful_cmp'
36 | __cmp_once(op, x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y)))
| ^
include/linux/minmax.h:29:3: note: expanded from macro '__cmp_once'
29 | static_assert(__types_ok(x, y), \
| ^
In file included from fs/signalfd.c:22:
In file included from include/linux/poll.h:10:
In file included from include/linux/fs.h:33:
In file included from include/linux/percpu-rwsem.h:7:
In file included from include/linux/rcuwait.h:6:
In file included from include/linux/sched/signal.h:6:
include/linux/signal.h:97:11: warning: array index 3 is past the end of the array (that has type 'unsigned long[1]') [-Warray-bounds]
97 | return (set->sig[3] | set->sig[2] |
| ^ ~
arch/x86/include/asm/signal.h:24:2: note: array 'sig' declared here
24 | unsigned long sig[_NSIG_WORDS];
| ^
In file included from fs/signalfd.c:22:
In file included from include/linux/poll.h:10:
In file included from include/linux/fs.h:33:
In file included from include/linux/percpu-rwsem.h:7:
In file included from include/linux/rcuwait.h:6:
In file included from include/linux/sched/signal.h:6:
include/linux/signal.h:97:25: warning: array index 2 is past the end of the array (that has type 'unsigned long[1]') [-Warray-bounds]
97 | return (set->sig[3] | set->sig[2] |
| ^ ~
arch/x86/include/asm/signal.h:24:2: note: array 'sig' declared here
24 | unsigned long sig[_NSIG_WORDS];
| ^
In file included from fs/signalfd.c:22:
In file included from include/linux/poll.h:10:
In file included from include/linux/fs.h:33:
In file included from include/linux/percpu-rwsem.h:7:
In file included from include/linux/rcuwait.h:6:
In file included from include/linux/sched/signal.h:6:
include/linux/signal.h:98:4: warning: array index 1 is past the end of the array (that has type 'unsigned long[1]') [-Warray-bounds]
98 | set->sig[1] | set->sig[0]) == 0;
| ^ ~
arch/x86/include/asm/signal.h:24:2: note: array 'sig' declared here
24 | unsigned long sig[_NSIG_WORDS];
| ^
In file included from fs/signalfd.c:22:
In file included from include/linux/poll.h:10:
In file included from include/linux/fs.h:33:
In file included from include/linux/percpu-rwsem.h:7:
In file included from include/linux/rcuwait.h:6:
In file included from include/linux/sched/signal.h:6:
include/linux/signal.h:100:11: warning: array index 1 is past the end of the array (that has type 'unsigned long[1]') [-Warray-bounds]
100 | return (set->sig[1] | set->sig[0]) == 0;
| ^ ~
arch/x86/include/asm/signal.h:24:2: note: array 'sig' declared here
24 | unsigned long sig[_NSIG_WORDS];
| ^
In file included from fs/signalfd.c:22:
In file included from include/linux/poll.h:10:
In file included from include/linux/fs.h:33:
In file included from include/linux/percpu-rwsem.h:7:
In file included from include/linux/rcuwait.h:6:
In file included from include/linux/sched/signal.h:6:
include/linux/signal.h:113:11: warning: array index 3 is past the end of the array (that has type 'const unsigned long[1]') [-Warray-bounds]
113 | return (set1->sig[3] == set2->sig[3]) &&
| ^ ~
arch/x86/include/asm/signal.h:24:2: note: array 'sig' declared here
24 | unsigned long sig[_NSIG_WORDS];
| ^
In file included from fs/signalfd.c:22:
In file included from include/linux/poll.h:10:
In file included from include/linux/fs.h:33:
In file included from include/linux/percpu-rwsem.h:7:
In file included from include/linux/rcuwait.h:6:
In file included from include/linux/sched/signal.h:6:
include/linux/signal.h:113:27: warning: array index 3 is past the end of the array (that has type 'const unsigned long[1]') [-Warray-bounds]
113 | return (set1->sig[3] == set2->sig[3]) &&
| ^ ~
arch/x86/include/asm/signal.h:24:2: note: array 'sig' declared here
24 | unsigned long sig[_NSIG_WORDS];
| ^
In file included from fs/signalfd.c:22:
In file included from include/linux/poll.h:10:
--
In file included from kernel/irq/spurious.c:8:
>> include/linux/jiffies.h:427:28: error: call to undeclared function 'static_assert'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
427 | return jiffies_to_clock_t(max(0L, delta));
| ^
include/linux/minmax.h:69:19: note: expanded from macro 'max'
69 | #define max(x, y) __careful_cmp(max, x, y)
| ^
include/linux/minmax.h:36:3: note: expanded from macro '__careful_cmp'
36 | __cmp_once(op, x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y)))
| ^
include/linux/minmax.h:29:3: note: expanded from macro '__cmp_once'
29 | static_assert(__types_ok(x, y), \
| ^
In file included from kernel/irq/spurious.c:8:
include/linux/jiffies.h:432:26: error: call to undeclared function 'static_assert'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
432 | return jiffies_to_msecs(max(0L, delta));
| ^
include/linux/minmax.h:69:19: note: expanded from macro 'max'
69 | #define max(x, y) __careful_cmp(max, x, y)
| ^
include/linux/minmax.h:36:3: note: expanded from macro '__careful_cmp'
36 | __cmp_once(op, x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y)))
| ^
include/linux/minmax.h:29:3: note: expanded from macro '__cmp_once'
29 | static_assert(__types_ok(x, y), \
| ^
In file included from kernel/irq/spurious.c:9:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/um/include/asm/io.h:24:
include/asm-generic/io.h:547:31: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
547 | val = __raw_readb(PCI_IOBASE + addr);
| ~~~~~~~~~~ ^
include/asm-generic/io.h:560:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
560 | val = __le16_to_cpu((__le16 __force)__raw_readw(PCI_IOBASE + addr));
| ~~~~~~~~~~ ^
include/uapi/linux/byteorder/little_endian.h:37:51: note: expanded from macro '__le16_to_cpu'
37 | #define __le16_to_cpu(x) ((__force __u16)(__le16)(x))
| ^
In file included from kernel/irq/spurious.c:9:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/um/include/asm/io.h:24:
include/asm-generic/io.h:573:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
573 | val = __le32_to_cpu((__le32 __force)__raw_readl(PCI_IOBASE + addr));
| ~~~~~~~~~~ ^
include/uapi/linux/byteorder/little_endian.h:35:51: note: expanded from macro '__le32_to_cpu'
35 | #define __le32_to_cpu(x) ((__force __u32)(__le32)(x))
| ^
In file included from kernel/irq/spurious.c:9:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/um/include/asm/io.h:24:
include/asm-generic/io.h:584:33: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
584 | __raw_writeb(value, PCI_IOBASE + addr);
| ~~~~~~~~~~ ^
include/asm-generic/io.h:594:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
594 | __raw_writew((u16 __force)cpu_to_le16(value), PCI_IOBASE + addr);
| ~~~~~~~~~~ ^
include/asm-generic/io.h:604:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
604 | __raw_writel((u32 __force)cpu_to_le32(value), PCI_IOBASE + addr);
| ~~~~~~~~~~ ^
include/asm-generic/io.h:692:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
692 | readsb(PCI_IOBASE + addr, buffer, count);
| ~~~~~~~~~~ ^
include/asm-generic/io.h:700:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
700 | readsw(PCI_IOBASE + addr, buffer, count);
| ~~~~~~~~~~ ^
include/asm-generic/io.h:708:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
708 | readsl(PCI_IOBASE + addr, buffer, count);
| ~~~~~~~~~~ ^
include/asm-generic/io.h:717:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
717 | writesb(PCI_IOBASE + addr, buffer, count);
| ~~~~~~~~~~ ^
include/asm-generic/io.h:726:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
726 | writesw(PCI_IOBASE + addr, buffer, count);
| ~~~~~~~~~~ ^
include/asm-generic/io.h:735:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
735 | writesl(PCI_IOBASE + addr, buffer, count);
| ~~~~~~~~~~ ^
12 warnings and 2 errors generated.
--
In file included from kernel/time/alarmtimer.c:16:
In file included from include/linux/hrtimer.h:15:
In file included from include/linux/hrtimer_defs.h:5:
In file included from include/linux/ktime.h:25:
>> include/linux/jiffies.h:427:28: error: call to undeclared function 'static_assert'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
427 | return jiffies_to_clock_t(max(0L, delta));
| ^
include/linux/minmax.h:69:19: note: expanded from macro 'max'
69 | #define max(x, y) __careful_cmp(max, x, y)
| ^
include/linux/minmax.h:36:3: note: expanded from macro '__careful_cmp'
36 | __cmp_once(op, x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y)))
| ^
include/linux/minmax.h:29:3: note: expanded from macro '__cmp_once'
29 | static_assert(__types_ok(x, y), \
| ^
In file included from kernel/time/alarmtimer.c:16:
In file included from include/linux/hrtimer.h:15:
In file included from include/linux/hrtimer_defs.h:5:
In file included from include/linux/ktime.h:25:
include/linux/jiffies.h:432:26: error: call to undeclared function 'static_assert'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
432 | return jiffies_to_msecs(max(0L, delta));
| ^
include/linux/minmax.h:69:19: note: expanded from macro 'max'
69 | #define max(x, y) __careful_cmp(max, x, y)
| ^
include/linux/minmax.h:36:3: note: expanded from macro '__careful_cmp'
36 | __cmp_once(op, x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y)))
| ^
include/linux/minmax.h:29:3: note: expanded from macro '__cmp_once'
29 | static_assert(__types_ok(x, y), \
| ^
In file included from kernel/time/alarmtimer.c:18:
In file included from include/linux/rtc.h:17:
In file included from include/linux/interrupt.h:11:
In file included from include/linux/hardirq.h:11:
In file included from arch/um/include/asm/hardirq.h:5:
In file included from include/asm-generic/hardirq.h:17:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/um/include/asm/io.h:24:
include/asm-generic/io.h:547:31: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
547 | val = __raw_readb(PCI_IOBASE + addr);
| ~~~~~~~~~~ ^
include/asm-generic/io.h:560:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
560 | val = __le16_to_cpu((__le16 __force)__raw_readw(PCI_IOBASE + addr));
| ~~~~~~~~~~ ^
include/uapi/linux/byteorder/little_endian.h:37:51: note: expanded from macro '__le16_to_cpu'
37 | #define __le16_to_cpu(x) ((__force __u16)(__le16)(x))
| ^
In file included from kernel/time/alarmtimer.c:18:
In file included from include/linux/rtc.h:17:
In file included from include/linux/interrupt.h:11:
In file included from include/linux/hardirq.h:11:
In file included from arch/um/include/asm/hardirq.h:5:
In file included from include/asm-generic/hardirq.h:17:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/um/include/asm/io.h:24:
include/asm-generic/io.h:573:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
573 | val = __le32_to_cpu((__le32 __force)__raw_readl(PCI_IOBASE + addr));
| ~~~~~~~~~~ ^
include/uapi/linux/byteorder/little_endian.h:35:51: note: expanded from macro '__le32_to_cpu'
35 | #define __le32_to_cpu(x) ((__force __u32)(__le32)(x))
| ^
In file included from kernel/time/alarmtimer.c:18:
In file included from include/linux/rtc.h:17:
In file included from include/linux/interrupt.h:11:
In file included from include/linux/hardirq.h:11:
In file included from arch/um/include/asm/hardirq.h:5:
In file included from include/asm-generic/hardirq.h:17:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/um/include/asm/io.h:24:
include/asm-generic/io.h:584:33: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
584 | __raw_writeb(value, PCI_IOBASE + addr);
| ~~~~~~~~~~ ^
include/asm-generic/io.h:594:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
594 | __raw_writew((u16 __force)cpu_to_le16(value), PCI_IOBASE + addr);
| ~~~~~~~~~~ ^
include/asm-generic/io.h:604:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
604 | __raw_writel((u32 __force)cpu_to_le32(value), PCI_IOBASE + addr);
| ~~~~~~~~~~ ^
include/asm-generic/io.h:692:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
692 | readsb(PCI_IOBASE + addr, buffer, count);
| ~~~~~~~~~~ ^
include/asm-generic/io.h:700:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
700 | readsw(PCI_IOBASE + addr, buffer, count);
| ~~~~~~~~~~ ^
include/asm-generic/io.h:708:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
708 | readsl(PCI_IOBASE + addr, buffer, count);
| ~~~~~~~~~~ ^
include/asm-generic/io.h:717:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
717 | writesb(PCI_IOBASE + addr, buffer, count);
| ~~~~~~~~~~ ^
include/asm-generic/io.h:726:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
726 | writesw(PCI_IOBASE + addr, buffer, count);
| ~~~~~~~~~~ ^
include/asm-generic/io.h:735:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
735 | writesl(PCI_IOBASE + addr, buffer, count);
| ~~~~~~~~~~ ^
In file included from kernel/time/alarmtimer.c:18:
In file included from include/linux/rtc.h:38:
In file included from include/linux/seq_file.h:12:
In file included from include/linux/fs.h:33:
vim +/static_assert +427 include/linux/jiffies.h
ae60d6a0e3a919 Nicholas Mc Guire 2015-05-28 420
9ca308506062fc Baolin Wang 2015-07-29 421 extern unsigned long timespec64_to_jiffies(const struct timespec64 *value);
9ca308506062fc Baolin Wang 2015-07-29 422 extern void jiffies_to_timespec64(const unsigned long jiffies,
9ca308506062fc Baolin Wang 2015-07-29 423 struct timespec64 *value);
cbbc719fccdb8c hank 2011-09-20 424 extern clock_t jiffies_to_clock_t(unsigned long x);
a399a8053164ec Eric Dumazet 2012-08-08 425 static inline clock_t jiffies_delta_to_clock_t(long delta)
a399a8053164ec Eric Dumazet 2012-08-08 426 {
a399a8053164ec Eric Dumazet 2012-08-08 @427 return jiffies_to_clock_t(max(0L, delta));
a399a8053164ec Eric Dumazet 2012-08-08 428 }
a399a8053164ec Eric Dumazet 2012-08-08 429
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 7+ messages in thread
* RE: [PATCH next 2/5] minmax: Allow min()/max()/clamp() if the arguments have the same signedness.
2023-07-25 15:58 ` kernel test robot
@ 2023-07-26 8:30 ` David Laight
2023-07-26 16:20 ` 'Andy Shevchenko'
0 siblings, 1 reply; 7+ messages in thread
From: David Laight @ 2023-07-26 8:30 UTC (permalink / raw)
To: 'kernel test robot', linux-kernel@vger.kernel.org,
'Andy Shevchenko', 'Andrew Morton',
Matthew Wilcox (Oracle), Christoph Hellwig, Jason A. Donenfeld
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev,
Linux Memory Management List
From: kernel test robot
> Sent: 25 July 2023 16:58
>
> kernel test robot noticed the following build errors:
>
...
>
> In file included from init/calibrate.c:8:
> >> include/linux/jiffies.h:427:28: error: call to undeclared function 'static_assert'; ISO C99 and
> later do not support implicit function declarations [-Wimplicit-function-declaration]
> 427 | return jiffies_to_clock_t(max(0L, delta));
> | ^
...
> include/linux/minmax.h:29:3: note: expanded from macro '__cmp_once'
> 29 | static_assert(__types_ok(x, y), \
This is fixed by the earlier patch:
[PATCH v1 1/1] minmax: Fix header inclusions
which adds #include <linux/build_bug.h> and thus defines static_assert().
Can I just assume that will be applied?
David
-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)
^ permalink raw reply [flat|nested] 7+ messages in thread
* RE: [PATCH next 2/5] minmax: Allow min()/max()/clamp() if the arguments have the same signedness.
2023-07-25 14:56 ` kernel test robot
@ 2023-07-26 9:47 ` David Laight
0 siblings, 0 replies; 7+ messages in thread
From: David Laight @ 2023-07-26 9:47 UTC (permalink / raw)
To: 'kernel test robot', linux-kernel@vger.kernel.org,
'Andy Shevchenko', 'Andrew Morton',
Matthew Wilcox (Oracle), Christoph Hellwig, Jason A. Donenfeld
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev,
Linux Memory Management List
From: kernel test robot
> Sent: 25 July 2023 15:57
...
> >> mm/mm_init.c:908:14: error: static_assert expression is not an integral constant expression
> start_pfn = clamp(start_pfn, zone_start_pfn, zone_end_pfn);
..
> include/linux/minmax.h:45:17: note: expanded from macro '__clamp_once'
> static_assert(!__is_constexpr((lo) > (hi)) || (lo) <= (hi),
That didn't fail in my test builds.
The compiler I was using must short-circuited the ||.
I'll substitute a 'choose_expr' in v2.
David
-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH next 2/5] minmax: Allow min()/max()/clamp() if the arguments have the same signedness.
2023-07-26 8:30 ` David Laight
@ 2023-07-26 16:20 ` 'Andy Shevchenko'
2023-07-27 14:01 ` David Laight
0 siblings, 1 reply; 7+ messages in thread
From: 'Andy Shevchenko' @ 2023-07-26 16:20 UTC (permalink / raw)
To: David Laight
Cc: 'kernel test robot', linux-kernel@vger.kernel.org,
'Andrew Morton', Matthew Wilcox (Oracle),
Christoph Hellwig, Jason A. Donenfeld, llvm@lists.linux.dev,
oe-kbuild-all@lists.linux.dev, Linux Memory Management List
On Wed, Jul 26, 2023 at 08:30:59AM +0000, David Laight wrote:
> From: kernel test robot
> > Sent: 25 July 2023 16:58
> >
> > kernel test robot noticed the following build errors:
...
> > In file included from init/calibrate.c:8:
> > >> include/linux/jiffies.h:427:28: error: call to undeclared function 'static_assert'; ISO C99 and
> > later do not support implicit function declarations [-Wimplicit-function-declaration]
> > 427 | return jiffies_to_clock_t(max(0L, delta));
> > | ^
> ...
> > include/linux/minmax.h:29:3: note: expanded from macro '__cmp_once'
> > 29 | static_assert(__types_ok(x, y), \
>
> This is fixed by the earlier patch:
> [PATCH v1 1/1] minmax: Fix header inclusions
>
> which adds #include <linux/build_bug.h> and thus defines static_assert().
>
> Can I just assume that will be applied?
You can test that and reply there with your Tested-by there, it will help it
to be applied.
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 7+ messages in thread
* RE: [PATCH next 2/5] minmax: Allow min()/max()/clamp() if the arguments have the same signedness.
2023-07-26 16:20 ` 'Andy Shevchenko'
@ 2023-07-27 14:01 ` David Laight
0 siblings, 0 replies; 7+ messages in thread
From: David Laight @ 2023-07-27 14:01 UTC (permalink / raw)
To: 'Andy Shevchenko'
Cc: 'kernel test robot', linux-kernel@vger.kernel.org,
'Andrew Morton', Matthew Wilcox (Oracle),
Christoph Hellwig, Jason A. Donenfeld, llvm@lists.linux.dev,
oe-kbuild-all@lists.linux.dev, Linux Memory Management List
From: 'Andy Shevchenko'
> Sent: 26 July 2023 17:20
>
> On Wed, Jul 26, 2023 at 08:30:59AM +0000, David Laight wrote:
> > From: kernel test robot
> > > Sent: 25 July 2023 16:58
> > >
> > > kernel test robot noticed the following build errors:
>
> ...
>
> > > In file included from init/calibrate.c:8:
> > > >> include/linux/jiffies.h:427:28: error: call to undeclared function 'static_assert'; ISO C99 and
> > > later do not support implicit function declarations [-Wimplicit-function-declaration]
> > > 427 | return jiffies_to_clock_t(max(0L, delta));
> > > | ^
> > ...
> > > include/linux/minmax.h:29:3: note: expanded from macro '__cmp_once'
> > > 29 | static_assert(__types_ok(x, y), \
> >
> > This is fixed by the earlier patch:
> > [PATCH v1 1/1] minmax: Fix header inclusions
> >
> > which adds #include <linux/build_bug.h> and thus defines static_assert().
> >
> > Can I just assume that will be applied?
>
> You can test that and reply there with your Tested-by there, it will help it
> to be applied.
I can check it doesn't break my x86-64 build.
I think the build error was on a 'um' build - not really obvious
in the report.
I suspect everything else gets build_bug.h included from a very
common header file.
On x86-64 (5.10.xxx) by forcing an error I get:
CC init/calibrate.o
In file included from linux/include/linux/bits.h:22,
from linux/include/linux/bitops.h:5,
from linux/include/linux/kernel.h:12,
from linux/arch/x86/include/asm/percpu.h:27,
from linux/arch/x86/include/asm/current.h:6,
from linux/arch/x86/include/asm/processor.h:17,
from linux/arch/x86/include/asm/timex.h:5,
from linux/include/linux/timex.h:67,
from linux/include/linux/time32.h:13,
from linux/include/linux/time.h:73,
from linux/include/linux/jiffies.h:10,
from linux/init/calibrate.c:9:
linux/include/linux/build_bug.h: ...
I can't help feeling some of that chain isn't needed :-)
David
-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2023-07-27 14:03 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <454f967d452548a9acfa7c0a0872507e@AcuMS.aculab.com>
2023-07-25 14:14 ` [PATCH next 2/5] minmax: Allow min()/max()/clamp() if the arguments have the same signedness kernel test robot
2023-07-25 14:56 ` kernel test robot
2023-07-26 9:47 ` David Laight
2023-07-25 15:58 ` kernel test robot
2023-07-26 8:30 ` David Laight
2023-07-26 16:20 ` 'Andy Shevchenko'
2023-07-27 14:01 ` David Laight
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).