Hi Kees,
I love your patch! Perhaps something to improve:
[auto build test WARNING on linus/master]
[also build test WARNING on v5.16-rc5 next-20211215]
[cannot apply to rdma/for-next axboe-block/for-next kvm/queue tip/x86/core
mkp-scsi/for-next jejb-scsi/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]
url:
https://github.com/0day-ci/linux/commits/Kees-Cook/Enable-strict-compile-...
base:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
aa50faff4416c869b52dff68a937c84d29e12f4b
config: i386-randconfig-s002-20211216
(
https://download.01.org/0day-ci/archive/20211216/202112161632.BTEfICUX-lk...)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.4-dirty
#
https://github.com/0day-ci/linux/commit/80c8d2aae95aae6bd09e3ef84b74d0afe...
git remote add linux-review
https://github.com/0day-ci/linux
git fetch --no-tags linux-review
Kees-Cook/Enable-strict-compile-time-memcpy-fortify-checks/20211214-064002
git checkout 80c8d2aae95aae6bd09e3ef84b74d0afe631abae
# save the config file to linux build tree
mkdir build_dir
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir
ARCH=i386 SHELL=/bin/bash drivers/video/fbdev/geode/
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 >>)
> drivers/video/fbdev/geode/suspend_gx.c:30:9: sparse: sparse:
incorrect type in argument 1 (different address spaces) @@ expected void const * @@
got void [noderef] __iomem *gp_regs @@
drivers/video/fbdev/geode/suspend_gx.c:30:9: sparse: expected void const *
drivers/video/fbdev/geode/suspend_gx.c:30:9: sparse: got void [noderef] __iomem
*gp_regs
> drivers/video/fbdev/geode/suspend_gx.c:30:9: sparse: sparse:
incorrect type in argument 1 (different address spaces) @@ expected void const * @@
got void [noderef] __iomem *gp_regs @@
drivers/video/fbdev/geode/suspend_gx.c:30:9: sparse: expected void const *
drivers/video/fbdev/geode/suspend_gx.c:30:9: sparse: got void [noderef] __iomem
*gp_regs
drivers/video/fbdev/geode/suspend_gx.c:30:9: sparse: sparse: incorrect type in argument
2 (different address spaces) @@ expected void const * @@ got void [noderef]
__iomem *gp_regs @@
drivers/video/fbdev/geode/suspend_gx.c:30:9: sparse: expected void const *
drivers/video/fbdev/geode/suspend_gx.c:30:9: sparse: got void [noderef] __iomem
*gp_regs
> drivers/video/fbdev/geode/suspend_gx.c:31:9: sparse: sparse:
incorrect type in argument 1 (different address spaces) @@ expected void const * @@
got void [noderef] __iomem *dc_regs @@
drivers/video/fbdev/geode/suspend_gx.c:31:9: sparse: expected void const *
drivers/video/fbdev/geode/suspend_gx.c:31:9: sparse: got void [noderef] __iomem
*dc_regs
> drivers/video/fbdev/geode/suspend_gx.c:31:9: sparse: sparse:
incorrect type in argument 1 (different address spaces) @@ expected void const * @@
got void [noderef] __iomem *dc_regs @@
drivers/video/fbdev/geode/suspend_gx.c:31:9: sparse: expected void const *
drivers/video/fbdev/geode/suspend_gx.c:31:9: sparse: got void [noderef] __iomem
*dc_regs
drivers/video/fbdev/geode/suspend_gx.c:31:9: sparse: sparse: incorrect type in argument
2 (different address spaces) @@ expected void const * @@ got void [noderef]
__iomem *dc_regs @@
drivers/video/fbdev/geode/suspend_gx.c:31:9: sparse: expected void const *
drivers/video/fbdev/geode/suspend_gx.c:31:9: sparse: got void [noderef] __iomem
*dc_regs
> drivers/video/fbdev/geode/suspend_gx.c:32:9: sparse: sparse:
incorrect type in argument 1 (different address spaces) @@ expected void const * @@
got void [noderef] __iomem *vid_regs @@
drivers/video/fbdev/geode/suspend_gx.c:32:9: sparse: expected void const *
drivers/video/fbdev/geode/suspend_gx.c:32:9: sparse: got void [noderef] __iomem
*vid_regs
> drivers/video/fbdev/geode/suspend_gx.c:32:9: sparse: sparse:
incorrect type in argument 1 (different address spaces) @@ expected void const * @@
got void [noderef] __iomem *vid_regs @@
drivers/video/fbdev/geode/suspend_gx.c:32:9: sparse: expected void const *
drivers/video/fbdev/geode/suspend_gx.c:32:9: sparse: got void [noderef] __iomem
*vid_regs
drivers/video/fbdev/geode/suspend_gx.c:32:9: sparse: sparse: incorrect type in argument
2 (different address spaces) @@ expected void const * @@ got void [noderef]
__iomem *vid_regs @@
drivers/video/fbdev/geode/suspend_gx.c:32:9: sparse: expected void const *
drivers/video/fbdev/geode/suspend_gx.c:32:9: sparse: got void [noderef] __iomem
*vid_regs
> drivers/video/fbdev/geode/suspend_gx.c:33:9: sparse: sparse:
incorrect type in argument 1 (different address spaces) @@ expected void const * @@
got void [noderef] __iomem * @@
drivers/video/fbdev/geode/suspend_gx.c:33:9:
sparse: expected void const *
drivers/video/fbdev/geode/suspend_gx.c:33:9: sparse: got void [noderef] __iomem *
> drivers/video/fbdev/geode/suspend_gx.c:33:9: sparse: sparse:
incorrect type in argument 1 (different address spaces) @@ expected void const * @@
got void [noderef] __iomem * @@
drivers/video/fbdev/geode/suspend_gx.c:33:9:
sparse: expected void const *
drivers/video/fbdev/geode/suspend_gx.c:33:9: sparse: got void [noderef] __iomem *
drivers/video/fbdev/geode/suspend_gx.c:33:9: sparse: sparse: incorrect type in argument
2 (different address spaces) @@ expected void const * @@ got void [noderef]
__iomem * @@
drivers/video/fbdev/geode/suspend_gx.c:33:9: sparse: expected void const *
drivers/video/fbdev/geode/suspend_gx.c:33:9: sparse: got void [noderef] __iomem *
vim +30 drivers/video/fbdev/geode/suspend_gx.c
46fb6f110dfc3f drivers/video/geode/suspend_gx.c Andres Salomon 2008-04-28 13
46fb6f110dfc3f drivers/video/geode/suspend_gx.c Andres Salomon 2008-04-28 14 static void
gx_save_regs(struct gxfb_par *par)
46fb6f110dfc3f drivers/video/geode/suspend_gx.c Andres Salomon 2008-04-28 15 {
46fb6f110dfc3f drivers/video/geode/suspend_gx.c Andres Salomon 2008-04-28 16 int i;
46fb6f110dfc3f drivers/video/geode/suspend_gx.c Andres Salomon 2008-04-28 17
46fb6f110dfc3f drivers/video/geode/suspend_gx.c Andres Salomon 2008-04-28 18 /* wait
for the BLT engine to stop being busy */
46fb6f110dfc3f drivers/video/geode/suspend_gx.c Andres Salomon 2008-04-28 19 do {
46fb6f110dfc3f drivers/video/geode/suspend_gx.c Andres Salomon 2008-04-28 20 i =
read_gp(par, GP_BLT_STATUS);
46fb6f110dfc3f drivers/video/geode/suspend_gx.c Andres Salomon 2008-04-28 21 } while (i
& (GP_BLT_STATUS_BLT_PENDING | GP_BLT_STATUS_BLT_BUSY));
46fb6f110dfc3f drivers/video/geode/suspend_gx.c Andres Salomon 2008-04-28 22
46fb6f110dfc3f drivers/video/geode/suspend_gx.c Andres Salomon 2008-04-28 23 /* save
MSRs */
46fb6f110dfc3f drivers/video/geode/suspend_gx.c Andres Salomon 2008-04-28 24
rdmsrl(MSR_GX_MSR_PADSEL, par->msr.padsel);
46fb6f110dfc3f drivers/video/geode/suspend_gx.c Andres Salomon 2008-04-28 25
rdmsrl(MSR_GLCP_DOTPLL, par->msr.dotpll);
46fb6f110dfc3f drivers/video/geode/suspend_gx.c Andres Salomon 2008-04-28 26
46fb6f110dfc3f drivers/video/geode/suspend_gx.c Andres Salomon 2008-04-28 27
write_dc(par, DC_UNLOCK, DC_UNLOCK_UNLOCK);
46fb6f110dfc3f drivers/video/geode/suspend_gx.c Andres Salomon 2008-04-28 28
46fb6f110dfc3f drivers/video/geode/suspend_gx.c Andres Salomon 2008-04-28 29 /* save
registers */
46fb6f110dfc3f drivers/video/geode/suspend_gx.c Andres Salomon 2008-04-28 @30
memcpy(par->gp, par->gp_regs, sizeof(par->gp));
46fb6f110dfc3f drivers/video/geode/suspend_gx.c Andres Salomon 2008-04-28 @31
memcpy(par->dc, par->dc_regs, sizeof(par->dc));
46fb6f110dfc3f drivers/video/geode/suspend_gx.c Andres Salomon 2008-04-28 @32
memcpy(par->vp, par->vid_regs, sizeof(par->vp));
46fb6f110dfc3f drivers/video/geode/suspend_gx.c Andres Salomon 2008-04-28 @33
memcpy(par->fp, par->vid_regs + VP_FP_START, sizeof(par->fp));
46fb6f110dfc3f drivers/video/geode/suspend_gx.c Andres Salomon 2008-04-28 34
46fb6f110dfc3f drivers/video/geode/suspend_gx.c Andres Salomon 2008-04-28 35 /* save
the palette */
46fb6f110dfc3f drivers/video/geode/suspend_gx.c Andres Salomon 2008-04-28 36
write_dc(par, DC_PAL_ADDRESS, 0);
46fb6f110dfc3f drivers/video/geode/suspend_gx.c Andres Salomon 2008-04-28 37 for (i =
0; i < ARRAY_SIZE(par->pal); i++)
46fb6f110dfc3f drivers/video/geode/suspend_gx.c Andres Salomon 2008-04-28 38
par->pal[i] = read_dc(par, DC_PAL_DATA);
46fb6f110dfc3f drivers/video/geode/suspend_gx.c Andres Salomon 2008-04-28 39 }
46fb6f110dfc3f drivers/video/geode/suspend_gx.c Andres Salomon 2008-04-28 40
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org