tree:
https://git.linaro.org/people/lee.jones/linux.git google/android-3.18-batch
head: 4067e89d337bc9eff1775d036695028b3ea3487c
commit: ba095f7a7a499fc213bfcf54a9eac7ba29837dac [202/521] pstore/ram: Use memcpy_toio
instead of memcpy
config: powerpc-randconfig-s031-20201230 (attached as .config)
compiler: powerpc-linux-gcc (GCC) 5.5.0
reproduce:
wget
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O
~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.3-184-g1b896707-dirty
git remote add lee-linaro
https://git.linaro.org/people/lee.jones/linux.git
git fetch --no-tags lee-linaro google/android-3.18-batch
git checkout ba095f7a7a499fc213bfcf54a9eac7ba29837dac
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-5.5.0 make.cross C=1
CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=powerpc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
"sparse warnings: (new ones prefixed by >>)"
fs/pstore/ram_core.c:101:35: sparse: sparse: Variable length array is used.
fs/pstore/ram_core.c:114:35: sparse: sparse: Variable length array is used.
> fs/pstore/ram_core.c:269:34: sparse: sparse: incorrect type in
argument 1 (different address spaces) @@ expected void volatile [noderef]
<asn:2> *d @@ got unsigned char * @@
fs/pstore/ram_core.c:269:34:
sparse: expected void volatile [noderef] <asn:2> *d
fs/pstore/ram_core.c:269:34: sparse: got unsigned char *
fs/pstore/ram_core.c:444:20: sparse: sparse: incorrect type in assignment (different
address spaces) @@ expected void *va @@ got void [noderef] <asn:2> * @@
fs/pstore/ram_core.c:444:20: sparse: expected void *va
fs/pstore/ram_core.c:444:20: sparse: got void [noderef] <asn:2> *
fs/pstore/ram_core.c:446:20: sparse: sparse: incorrect type in assignment (different
address spaces) @@ expected void *va @@ got void [noderef] <asn:2> * @@
fs/pstore/ram_core.c:446:20: sparse: expected void *va
fs/pstore/ram_core.c:446:20: sparse: got void [noderef] <asn:2> *
fs/pstore/ram_core.c:528:36: sparse: sparse: incorrect type in argument 1 (different
address spaces) @@ expected void volatile [noderef] <asn:2> *addr @@ got
void *vaddr @@
fs/pstore/ram_core.c:528:36: sparse: expected void volatile [noderef] <asn:2>
*addr
fs/pstore/ram_core.c:528:36: sparse: got void *vaddr
fs/pstore/ram_core.c:68:17: sparse: sparse: context imbalance in
'buffer_start_add' - unexpected unlock
fs/pstore/ram_core.c:94:17: sparse: sparse: context imbalance in
'buffer_size_add' - unexpected unlock
In file included from arch/powerpc/include/asm/pgtable-ppc32.h:7:0,
from arch/powerpc/include/asm/pgtable.h:19,
from include/linux/mm.h:63,
from include/linux/memblock.h:18,
from fs/pstore/ram_core.c:24:
include/linux/sched.h:1067:42: warning: type qualifiers ignored on function return type
[-Wignored-qualifiers]
const struct sched_group_energy * const(*sched_domain_energy_f)(int cpu);
^
In file included from include/linux/memblock.h:18:0,
from fs/pstore/ram_core.c:24:
include/linux/mm.h: In function 'is_vmalloc_addr':
include/linux/mm.h:378:14: warning: comparison between signed and unsigned integer
expressions [-Wsign-compare]
return addr >= VMALLOC_START && addr < VMALLOC_END;
^
In file included from include/linux/ioport.h:12:0,
from include/linux/device.h:16,
from fs/pstore/ram_core.c:17:
fs/pstore/ram_core.c: In function 'buffer_start_add':
fs/pstore/ram_core.c:63:22: warning: comparison between signed and unsigned integer
expressions [-Wsign-compare]
while (unlikely(new >= prz->buffer_size))
^
include/linux/compiler.h:176:42: note: in definition of macro 'unlikely'
# define unlikely(x) __builtin_expect(!!(x), 0)
^
fs/pstore/ram_core.c: In function 'persistent_ram_write':
fs/pstore/ram_core.c:313:17: warning: comparison between signed and unsigned integer
expressions [-Wsign-compare]
if (unlikely(c > prz->buffer_size)) {
^
include/linux/compiler.h:176:42: note: in definition of macro 'unlikely'
# define unlikely(x) __builtin_expect(!!(x), 0)
^
fs/pstore/ram_core.c: In function 'persistent_ram_write_user':
fs/pstore/ram_core.c:344:17: warning: comparison between signed and unsigned integer
expressions [-Wsign-compare]
if (unlikely(c > prz->buffer_size)) {
^
include/linux/compiler.h:176:42: note: in definition of macro 'unlikely'
# define unlikely(x) __builtin_expect(!!(x), 0)
^
fs/pstore/ram_core.c:365:29: warning: signed and unsigned type in conditional
expression [-Wsign-compare]
return unlikely(ret) ? ret : count;
^
vim +269 fs/pstore/ram_core.c
264
265 static void notrace persistent_ram_update(struct persistent_ram_zone *prz,
266 const void *s, unsigned int start, unsigned int count)
267 {
268 struct persistent_ram_buffer *buffer = prz->buffer;
269 memcpy_toio(buffer->data + start, s, count);
270 persistent_ram_update_ecc(prz, start, count);
271 }
272
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org