[ammarfaizi2-block:crng/random/jd/smbios 2/3] drivers/firmware/dmi_scan.c:806:34: sparse: sparse: incorrect type in initializer (different address spaces)

From: kernel test robot
Date: Sat Sep 17 2022 - 01:30:30 EST


tree: https://github.com/ammarfaizi2/linux-block crng/random/jd/smbios
head: 1f282c3a5674aced9c26d319587135cd0f40ad38
commit: 00ee8ad7ad1c02fa8280c0e609b000fad782f348 [2/3] firmware: dmi: only add dmi buffer to rng once
config: ia64-randconfig-s032-20220916 (https://download.01.org/0day-ci/archive/20220917/202209172114.34KPDrxX-lkp@xxxxxxxxx/config)
compiler: ia64-linux-gcc (GCC) 12.1.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.4-39-gce1a6720-dirty
# https://github.com/ammarfaizi2/linux-block/commit/00ee8ad7ad1c02fa8280c0e609b000fad782f348
git remote add ammarfaizi2-block https://github.com/ammarfaizi2/linux-block
git fetch --no-tags ammarfaizi2-block crng/random/jd/smbios
git checkout 00ee8ad7ad1c02fa8280c0e609b000fad782f348
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=ia64 SHELL=/bin/bash drivers/firmware/

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@xxxxxxxxx>

sparse warnings: (new ones prefixed by >>)
drivers/firmware/dmi_scan.c:143:13: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected unsigned char [usertype] *buf @@ got void [noderef] __iomem * @@
drivers/firmware/dmi_scan.c:143:13: sparse: expected unsigned char [usertype] *buf
drivers/firmware/dmi_scan.c:143:13: sparse: got void [noderef] __iomem *
drivers/firmware/dmi_scan.c:149:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned char [usertype] *buf @@
drivers/firmware/dmi_scan.c:149:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/firmware/dmi_scan.c:149:9: sparse: got unsigned char [usertype] *buf
drivers/firmware/dmi_scan.c:774:19: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected unsigned char [usertype] *dmi_table @@ got void [noderef] __iomem * @@
drivers/firmware/dmi_scan.c:774:19: sparse: expected unsigned char [usertype] *dmi_table
drivers/firmware/dmi_scan.c:774:19: sparse: got void [noderef] __iomem *
drivers/firmware/dmi_scan.c:793:19: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned char [usertype] *dmi_table @@
drivers/firmware/dmi_scan.c:793:19: sparse: expected void volatile [noderef] __iomem *addr
drivers/firmware/dmi_scan.c:793:19: sparse: got unsigned char [usertype] *dmi_table
>> drivers/firmware/dmi_scan.c:806:34: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned char [usertype] *buf @@ got void [noderef] __iomem * @@
drivers/firmware/dmi_scan.c:806:34: sparse: expected unsigned char [usertype] *buf
drivers/firmware/dmi_scan.c:806:34: sparse: got void [noderef] __iomem *
drivers/firmware/dmi_scan.c:811:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned char [usertype] *buf @@
drivers/firmware/dmi_scan.c:811:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/firmware/dmi_scan.c:811:9: sparse: got unsigned char [usertype] *buf
drivers/firmware/dmi_scan.c:1118:13: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected unsigned char [usertype] *buf @@ got void [noderef] __iomem * @@
drivers/firmware/dmi_scan.c:1118:13: sparse: expected unsigned char [usertype] *buf
drivers/firmware/dmi_scan.c:1118:13: sparse: got void [noderef] __iomem *
drivers/firmware/dmi_scan.c:1124:19: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned char [usertype] *buf @@
drivers/firmware/dmi_scan.c:1124:19: sparse: expected void volatile [noderef] __iomem *addr
drivers/firmware/dmi_scan.c:1124:19: sparse: got unsigned char [usertype] *buf

vim +806 drivers/firmware/dmi_scan.c

803
804 static void __init dmi_random_walk(void)
805 {
> 806 u8 *buf = dmi_early_remap(dmi_base, dmi_len);
807 if (buf == NULL)
808 return;
809
810 add_device_randomness(buf, dmi_len);
811 dmi_early_unmap(buf, dmi_len);
812 }
813

--
0-DAY CI Kernel Test Service
https://01.org/lkp