From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: [kees:memcpy/step2/next-20211206 7/19] drivers/video/fbdev/cirrusfb.c:1852:17: sparse: sparse: incorrect type in argument 1 (different address spaces)
Date: Thu, 09 Dec 2021 00:45:28 +0800 [thread overview]
Message-ID: <202112090051.zPyOnn1p-lkp@intel.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 7650 bytes --]
tree: https://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git memcpy/step2/next-20211206
head: 082faead4a3c2e5d9f541f97d8d4d5fa0f88dce0
commit: a91965903a44bf236856efc7e20c6334c4e07388 [7/19] fortify: Detect struct member overflows in memcpy() at compile-time
config: i386-randconfig-s002-20211207 (https://download.01.org/0day-ci/archive/20211209/202112090051.zPyOnn1p-lkp(a)intel.com/config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.4-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git/commit/?id=a91965903a44bf236856efc7e20c6334c4e07388
git remote add kees https://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git
git fetch --no-tags kees memcpy/step2/next-20211206
git checkout a91965903a44bf236856efc7e20c6334c4e07388
# 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/gpu/drm/gma500/ drivers/video/fbdev/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
sparse warnings: (new ones prefixed by >>)
>> drivers/video/fbdev/cirrusfb.c:1852:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const * @@ got char [noderef] __iomem *screen_base @@
drivers/video/fbdev/cirrusfb.c:1852:17: sparse: expected void const *
drivers/video/fbdev/cirrusfb.c:1852:17: sparse: got char [noderef] __iomem *screen_base
>> drivers/video/fbdev/cirrusfb.c:1852:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const * @@ got char [noderef] __iomem *screen_base @@
drivers/video/fbdev/cirrusfb.c:1852:17: sparse: expected void const *
drivers/video/fbdev/cirrusfb.c:1852:17: sparse: got char [noderef] __iomem *screen_base
drivers/video/fbdev/cirrusfb.c:1852:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void * @@ got char [noderef] __iomem *screen_base @@
drivers/video/fbdev/cirrusfb.c:1852:17: sparse: expected void *
drivers/video/fbdev/cirrusfb.c:1852:17: sparse: got char [noderef] __iomem *screen_base
vim +1852 drivers/video/fbdev/cirrusfb.c
^1da177e4c3f41 drivers/video/cirrusfb.c Linus Torvalds 2005-04-16 1809
8503df65976d0f drivers/video/cirrusfb.c Krzysztof Helt 2007-10-16 1810 static void cirrusfb_imageblit(struct fb_info *info,
8503df65976d0f drivers/video/cirrusfb.c Krzysztof Helt 2007-10-16 1811 const struct fb_image *image)
^1da177e4c3f41 drivers/video/cirrusfb.c Linus Torvalds 2005-04-16 1812 {
^1da177e4c3f41 drivers/video/cirrusfb.c Linus Torvalds 2005-04-16 1813 struct cirrusfb_info *cinfo = info->par;
7cade31cabec33 drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1814 unsigned char op = (info->var.bits_per_pixel == 24) ? 0xc : 0x4;
^1da177e4c3f41 drivers/video/cirrusfb.c Linus Torvalds 2005-04-16 1815
9e848062533207 drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1816 if (info->state != FBINFO_STATE_RUNNING)
9e848062533207 drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1817 return;
df3aafd57d590d drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1818 /* Alpine/SD64 does not work at 24bpp ??? */
df3aafd57d590d drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1819 if (info->flags & FBINFO_HWACCEL_DISABLED || image->depth != 1)
df3aafd57d590d drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1820 cfb_imageblit(info, image);
df3aafd57d590d drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1821 else if ((cinfo->btype == BT_ALPINE || cinfo->btype == BT_SD64) &&
df3aafd57d590d drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1822 op == 0xc)
^1da177e4c3f41 drivers/video/cirrusfb.c Linus Torvalds 2005-04-16 1823 cfb_imageblit(info, image);
9e848062533207 drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1824 else {
9e848062533207 drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1825 unsigned size = ((image->width + 7) >> 3) * image->height;
9e848062533207 drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1826 int m = info->var.bits_per_pixel;
9e848062533207 drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1827 u32 fg, bg;
9e848062533207 drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1828
9e848062533207 drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1829 if (info->var.bits_per_pixel == 8) {
9e848062533207 drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1830 fg = image->fg_color;
9e848062533207 drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1831 bg = image->bg_color;
9e848062533207 drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1832 } else {
9e848062533207 drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1833 fg = ((u32 *)(info->pseudo_palette))[image->fg_color];
9e848062533207 drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1834 bg = ((u32 *)(info->pseudo_palette))[image->bg_color];
9e848062533207 drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1835 }
7cade31cabec33 drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1836 if (info->var.bits_per_pixel == 24) {
7cade31cabec33 drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1837 /* clear background first */
7cade31cabec33 drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1838 cirrusfb_RectFill(cinfo->regbase,
7cade31cabec33 drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1839 info->var.bits_per_pixel,
7cade31cabec33 drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1840 (image->dx * m) / 8, image->dy,
7cade31cabec33 drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1841 (image->width * m) / 8,
7cade31cabec33 drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1842 image->height,
7cade31cabec33 drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1843 bg, bg,
7cade31cabec33 drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1844 info->fix.line_length, 0x40);
7cade31cabec33 drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1845 }
9e848062533207 drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1846 cirrusfb_RectFill(cinfo->regbase,
9e848062533207 drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1847 info->var.bits_per_pixel,
9e848062533207 drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1848 (image->dx * m) / 8, image->dy,
9e848062533207 drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1849 (image->width * m) / 8, image->height,
9e848062533207 drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1850 fg, bg,
7cade31cabec33 drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1851 info->fix.line_length, op);
9e848062533207 drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 @1852 memcpy(info->screen_base, image->data, size);
9e848062533207 drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1853 }
^1da177e4c3f41 drivers/video/cirrusfb.c Linus Torvalds 2005-04-16 1854 }
^1da177e4c3f41 drivers/video/cirrusfb.c Linus Torvalds 2005-04-16 1855
:::::: The code at line 1852 was first introduced by commit
:::::: 9e848062533207130667f6eaa748549367ccbedf cirrusfb: add imageblit function
:::::: TO: Krzysztof Helt <krzysztof.h1@wp.pl>
:::::: CC: Linus Torvalds <torvalds@linux-foundation.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: Kees Cook <keescook@chromium.org>
Cc: kbuild-all@lists.01.org, linux-kernel@vger.kernel.org
Subject: [kees:memcpy/step2/next-20211206 7/19] drivers/video/fbdev/cirrusfb.c:1852:17: sparse: sparse: incorrect type in argument 1 (different address spaces)
Date: Thu, 9 Dec 2021 00:45:28 +0800 [thread overview]
Message-ID: <202112090051.zPyOnn1p-lkp@intel.com> (raw)
tree: https://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git memcpy/step2/next-20211206
head: 082faead4a3c2e5d9f541f97d8d4d5fa0f88dce0
commit: a91965903a44bf236856efc7e20c6334c4e07388 [7/19] fortify: Detect struct member overflows in memcpy() at compile-time
config: i386-randconfig-s002-20211207 (https://download.01.org/0day-ci/archive/20211209/202112090051.zPyOnn1p-lkp@intel.com/config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.4-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git/commit/?id=a91965903a44bf236856efc7e20c6334c4e07388
git remote add kees https://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git
git fetch --no-tags kees memcpy/step2/next-20211206
git checkout a91965903a44bf236856efc7e20c6334c4e07388
# 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/gpu/drm/gma500/ drivers/video/fbdev/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
sparse warnings: (new ones prefixed by >>)
>> drivers/video/fbdev/cirrusfb.c:1852:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const * @@ got char [noderef] __iomem *screen_base @@
drivers/video/fbdev/cirrusfb.c:1852:17: sparse: expected void const *
drivers/video/fbdev/cirrusfb.c:1852:17: sparse: got char [noderef] __iomem *screen_base
>> drivers/video/fbdev/cirrusfb.c:1852:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const * @@ got char [noderef] __iomem *screen_base @@
drivers/video/fbdev/cirrusfb.c:1852:17: sparse: expected void const *
drivers/video/fbdev/cirrusfb.c:1852:17: sparse: got char [noderef] __iomem *screen_base
drivers/video/fbdev/cirrusfb.c:1852:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void * @@ got char [noderef] __iomem *screen_base @@
drivers/video/fbdev/cirrusfb.c:1852:17: sparse: expected void *
drivers/video/fbdev/cirrusfb.c:1852:17: sparse: got char [noderef] __iomem *screen_base
vim +1852 drivers/video/fbdev/cirrusfb.c
^1da177e4c3f41 drivers/video/cirrusfb.c Linus Torvalds 2005-04-16 1809
8503df65976d0f drivers/video/cirrusfb.c Krzysztof Helt 2007-10-16 1810 static void cirrusfb_imageblit(struct fb_info *info,
8503df65976d0f drivers/video/cirrusfb.c Krzysztof Helt 2007-10-16 1811 const struct fb_image *image)
^1da177e4c3f41 drivers/video/cirrusfb.c Linus Torvalds 2005-04-16 1812 {
^1da177e4c3f41 drivers/video/cirrusfb.c Linus Torvalds 2005-04-16 1813 struct cirrusfb_info *cinfo = info->par;
7cade31cabec33 drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1814 unsigned char op = (info->var.bits_per_pixel == 24) ? 0xc : 0x4;
^1da177e4c3f41 drivers/video/cirrusfb.c Linus Torvalds 2005-04-16 1815
9e848062533207 drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1816 if (info->state != FBINFO_STATE_RUNNING)
9e848062533207 drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1817 return;
df3aafd57d590d drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1818 /* Alpine/SD64 does not work at 24bpp ??? */
df3aafd57d590d drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1819 if (info->flags & FBINFO_HWACCEL_DISABLED || image->depth != 1)
df3aafd57d590d drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1820 cfb_imageblit(info, image);
df3aafd57d590d drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1821 else if ((cinfo->btype == BT_ALPINE || cinfo->btype == BT_SD64) &&
df3aafd57d590d drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1822 op == 0xc)
^1da177e4c3f41 drivers/video/cirrusfb.c Linus Torvalds 2005-04-16 1823 cfb_imageblit(info, image);
9e848062533207 drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1824 else {
9e848062533207 drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1825 unsigned size = ((image->width + 7) >> 3) * image->height;
9e848062533207 drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1826 int m = info->var.bits_per_pixel;
9e848062533207 drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1827 u32 fg, bg;
9e848062533207 drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1828
9e848062533207 drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1829 if (info->var.bits_per_pixel == 8) {
9e848062533207 drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1830 fg = image->fg_color;
9e848062533207 drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1831 bg = image->bg_color;
9e848062533207 drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1832 } else {
9e848062533207 drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1833 fg = ((u32 *)(info->pseudo_palette))[image->fg_color];
9e848062533207 drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1834 bg = ((u32 *)(info->pseudo_palette))[image->bg_color];
9e848062533207 drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1835 }
7cade31cabec33 drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1836 if (info->var.bits_per_pixel == 24) {
7cade31cabec33 drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1837 /* clear background first */
7cade31cabec33 drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1838 cirrusfb_RectFill(cinfo->regbase,
7cade31cabec33 drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1839 info->var.bits_per_pixel,
7cade31cabec33 drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1840 (image->dx * m) / 8, image->dy,
7cade31cabec33 drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1841 (image->width * m) / 8,
7cade31cabec33 drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1842 image->height,
7cade31cabec33 drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1843 bg, bg,
7cade31cabec33 drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1844 info->fix.line_length, 0x40);
7cade31cabec33 drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1845 }
9e848062533207 drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1846 cirrusfb_RectFill(cinfo->regbase,
9e848062533207 drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1847 info->var.bits_per_pixel,
9e848062533207 drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1848 (image->dx * m) / 8, image->dy,
9e848062533207 drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1849 (image->width * m) / 8, image->height,
9e848062533207 drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1850 fg, bg,
7cade31cabec33 drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1851 info->fix.line_length, op);
9e848062533207 drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 @1852 memcpy(info->screen_base, image->data, size);
9e848062533207 drivers/video/cirrusfb.c Krzysztof Helt 2009-03-31 1853 }
^1da177e4c3f41 drivers/video/cirrusfb.c Linus Torvalds 2005-04-16 1854 }
^1da177e4c3f41 drivers/video/cirrusfb.c Linus Torvalds 2005-04-16 1855
:::::: The code at line 1852 was first introduced by commit
:::::: 9e848062533207130667f6eaa748549367ccbedf cirrusfb: add imageblit function
:::::: TO: Krzysztof Helt <krzysztof.h1@wp.pl>
:::::: CC: Linus Torvalds <torvalds@linux-foundation.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
next reply other threads:[~2021-12-08 16:45 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-12-08 16:45 kernel test robot [this message]
2021-12-08 16:45 ` [kees:memcpy/step2/next-20211206 7/19] drivers/video/fbdev/cirrusfb.c:1852:17: sparse: sparse: incorrect type in argument 1 (different address spaces) kernel test robot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202112090051.zPyOnn1p-lkp@intel.com \
--to=lkp@intel.com \
--cc=kbuild-all@lists.01.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.