tree:
https://github.com/norov/linux find_bit_smallconst
head: 40c01d855243e956a0cb6a6174cd733c44fbd898
commit: 5af10bf6a355096faec4d126617e87090edf1fff [5/7] lib: add fast path for
find_next_*_bit()
config: m68k-randconfig-r005-20210120 (attached as .config)
compiler: m68k-linux-gcc (GCC) 9.3.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://github.com/norov/linux/commit/5af10bf6a355096faec4d126617e87090ed...
git remote add norov
https://github.com/norov/linux
git fetch --no-tags norov find_bit_smallconst
git checkout 5af10bf6a355096faec4d126617e87090edf1fff
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=m68k
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All error/warnings (new ones prefixed by >>):
In file included from arch/m68k/include/asm/bitops.h:526,
from include/linux/bitops.h:47,
from include/linux/kernel.h:11,
from include/asm-generic/bug.h:20,
from arch/m68k/include/asm/bug.h:32,
from include/linux/bug.h:5,
from include/linux/page-flags.h:10,
from kernel/bounds.c:10:
include/asm-generic/bitops/le.h: In function 'find_next_zero_bit_le':
> include/asm-generic/bitops/le.h:45:14: warning: dereferencing
'void *' pointer
45 | val = swab(*addr) |
~BITMAP_FIRST_WORD_MASK(offset);
| ^~~~~
> include/asm-generic/bitops/le.h:45:14: error: invalid use of void
expression
include/asm-generic/bitops/le.h: In function
'find_next_bit_le':
include/asm-generic/bitops/le.h:69:14: warning: dereferencing 'void *' pointer
69 | val = swab(*addr) & BITMAP_FIRST_WORD_MASK(offset)
| ^~~~~
include/asm-generic/bitops/le.h:69:14: error: invalid use of void expression
--
In file included from arch/m68k/include/asm/bitops.h:526,
from include/linux/bitops.h:47,
from include/linux/kernel.h:11,
from kernel//locking/locktorture.c:14:
include/asm-generic/bitops/le.h: In function 'find_next_zero_bit_le':
> include/asm-generic/bitops/le.h:45:14: warning: dereferencing
'void *' pointer
45 | val = swab(*addr) |
~BITMAP_FIRST_WORD_MASK(offset);
| ^~~~~
> include/asm-generic/bitops/le.h:45:14: error: invalid use of void
expression
include/asm-generic/bitops/le.h: In function
'find_next_bit_le':
include/asm-generic/bitops/le.h:69:14: warning: dereferencing 'void *' pointer
69 | val = swab(*addr) & BITMAP_FIRST_WORD_MASK(offset)
| ^~~~~
include/asm-generic/bitops/le.h:69:14: error: invalid use of void expression
In file included from include/linux/mmzone.h:19,
from include/linux/gfp.h:6,
from include/linux/umh.h:4,
from include/linux/kmod.h:9,
from include/linux/module.h:16,
from kernel//locking/locktorture.c:15:
include/linux/page-flags-layout.h: At top level:
include/linux/page-flags-layout.h:6:10: fatal error: generated/bounds.h: No such file
or directory
6 | #include <generated/bounds.h>
| ^~~~~~~~~~~~~~~~~~~~
compilation terminated.
--
In file included from arch/m68k/include/asm/bitops.h:526,
from include/linux/bitops.h:47,
from include/linux/kernel.h:11,
from include/asm-generic/bug.h:20,
from arch/m68k/include/asm/bug.h:32,
from include/linux/bug.h:5,
from include/linux/page-flags.h:10,
from kernel/bounds.c:10:
include/asm-generic/bitops/le.h: In function 'find_next_zero_bit_le':
> include/asm-generic/bitops/le.h:45:14: warning: dereferencing
'void *' pointer
45 | val = swab(*addr) |
~BITMAP_FIRST_WORD_MASK(offset);
| ^~~~~
> include/asm-generic/bitops/le.h:45:14: error: invalid use of void
expression
include/asm-generic/bitops/le.h: In function
'find_next_bit_le':
include/asm-generic/bitops/le.h:69:14: warning: dereferencing 'void *' pointer
69 | val = swab(*addr) & BITMAP_FIRST_WORD_MASK(offset)
| ^~~~~
include/asm-generic/bitops/le.h:69:14: error: invalid use of void expression
make[2]: *** [scripts/Makefile.build:117: kernel/bounds.s] Error 1
make[2]: Target '__build' not remade because of errors.
make[1]: *** [Makefile:1220: prepare0] Error 2
make[1]: Target 'modules_prepare' not remade because of errors.
make: *** [Makefile:185: __sub-make] Error 2
make: Target 'modules_prepare' not remade because of errors.
--
In file included from arch/m68k/include/asm/bitops.h:526,
from include/linux/bitops.h:47,
from include/linux/kernel.h:11,
from include/asm-generic/bug.h:20,
from arch/m68k/include/asm/bug.h:32,
from include/linux/bug.h:5,
from include/linux/page-flags.h:10,
from kernel/bounds.c:10:
include/asm-generic/bitops/le.h: In function 'find_next_zero_bit_le':
> include/asm-generic/bitops/le.h:45:14: warning: dereferencing
'void *' pointer
45 | val = swab(*addr) |
~BITMAP_FIRST_WORD_MASK(offset);
| ^~~~~
> include/asm-generic/bitops/le.h:45:14: error: invalid use of void
expression
include/asm-generic/bitops/le.h: In function
'find_next_bit_le':
include/asm-generic/bitops/le.h:69:14: warning: dereferencing 'void *' pointer
69 | val = swab(*addr) & BITMAP_FIRST_WORD_MASK(offset)
| ^~~~~
include/asm-generic/bitops/le.h:69:14: error: invalid use of void expression
make[2]: *** [scripts/Makefile.build:117: kernel/bounds.s] Error 1
make[2]: Target '__build' not remade because of errors.
make[1]: *** [Makefile:1220: prepare0] Error 2
make[1]: Target 'prepare' not remade because of errors.
make: *** [Makefile:185: __sub-make] Error 2
make: Target 'prepare' not remade because of errors.
vim +45 include/asm-generic/bitops/le.h
33
34 #ifndef find_next_zero_bit_le
35 static inline
36 unsigned long find_next_zero_bit_le(const void *addr, unsigned
37 long size, unsigned long offset)
38 {
39 if (small_const_nbits(size)) {
40 unsigned long val, idx;
41
42 if (unlikely(offset >= size))
43 return size;
44
45 val = swab(*addr) | ~BITMAP_FIRST_WORD_MASK(offset);
46 if (val == ~0UL)
47 return size;
48
49 idx = ffz(val);
50
51 return idx < size ? idx : size;
52 }
53
54 return _find_next_bit(addr, NULL, size, offset, ~0UL, 1);
55 }
56 #endif
57
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org