lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <202303021455.nC6Muze9-lkp@intel.com>
Date:   Thu, 2 Mar 2023 14:23:54 +0800
From:   kernel test robot <lkp@...el.com>
To:     Guo Ren <guoren@...ux.alibaba.com>
Cc:     oe-kbuild-all@...ts.linux.dev, linux-kernel@...r.kernel.org
Subject: drivers/gpu/drm/radeon/radeon_fb.c:265:9: sparse: sparse: incorrect
 type in argument 1 (different address spaces)

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   ee3f96b164688dae21e2466a57f2e806b64e8a37
commit: 8318f7c231d5be09e47410c5ab387b9bef6fe19e csky: optimize memcpy_{from,to}io() and memset_io()
date:   11 months ago
config: csky-randconfig-s033-20230302 (https://download.01.org/0day-ci/archive/20230302/202303021455.nC6Muze9-lkp@intel.com/config)
compiler: csky-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://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=8318f7c231d5be09e47410c5ab387b9bef6fe19e
        git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout 8318f7c231d5be09e47410c5ab387b9bef6fe19e
        # 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=csky olddefconfig
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=csky SHELL=/bin/bash drivers/gpu/drm/radeon/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@...el.com>
| Link: https://lore.kernel.org/oe-kbuild-all/202303021455.nC6Muze9-lkp@intel.com/

sparse warnings: (new ones prefixed by >>)
>> drivers/gpu/drm/radeon/radeon_fb.c:265:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void volatile [noderef] __iomem * @@     got void *kptr @@
   drivers/gpu/drm/radeon/radeon_fb.c:265:9: sparse:     expected void volatile [noderef] __iomem *
   drivers/gpu/drm/radeon/radeon_fb.c:265:9: sparse:     got void *kptr
   drivers/gpu/drm/radeon/radeon_fb.c:272:27: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected char [noderef] __iomem *screen_base @@     got void *kptr @@
   drivers/gpu/drm/radeon/radeon_fb.c:272:27: sparse:     expected char [noderef] __iomem *screen_base
   drivers/gpu/drm/radeon/radeon_fb.c:272:27: sparse:     got void *kptr

vim +265 drivers/gpu/drm/radeon/radeon_fb.c

8be48d924c307e Dave Airlie       2010-03-30  211  
cd5428a5447cc6 Daniel Vetter     2013-01-21  212  static int radeonfb_create(struct drm_fb_helper *helper,
8be48d924c307e Dave Airlie       2010-03-30  213  			   struct drm_fb_helper_surface_size *sizes)
8be48d924c307e Dave Airlie       2010-03-30  214  {
a1d0280e678c4d Fabian Frederick  2014-09-14  215  	struct radeon_fbdev *rfbdev =
a1d0280e678c4d Fabian Frederick  2014-09-14  216  		container_of(helper, struct radeon_fbdev, helper);
8be48d924c307e Dave Airlie       2010-03-30  217  	struct radeon_device *rdev = rfbdev->rdev;
8be48d924c307e Dave Airlie       2010-03-30  218  	struct fb_info *info;
8be48d924c307e Dave Airlie       2010-03-30  219  	struct drm_framebuffer *fb = NULL;
308e5bcbdb1045 Jesse Barnes      2011-11-14  220  	struct drm_mode_fb_cmd2 mode_cmd;
8be48d924c307e Dave Airlie       2010-03-30  221  	struct drm_gem_object *gobj = NULL;
8be48d924c307e Dave Airlie       2010-03-30  222  	struct radeon_bo *rbo = NULL;
8be48d924c307e Dave Airlie       2010-03-30  223  	int ret;
8be48d924c307e Dave Airlie       2010-03-30  224  	unsigned long tmp;
8be48d924c307e Dave Airlie       2010-03-30  225  
8be48d924c307e Dave Airlie       2010-03-30  226  	mode_cmd.width = sizes->surface_width;
8be48d924c307e Dave Airlie       2010-03-30  227  	mode_cmd.height = sizes->surface_height;
8be48d924c307e Dave Airlie       2010-03-30  228  
8be48d924c307e Dave Airlie       2010-03-30  229  	/* avivo can't scanout real 24bpp */
8be48d924c307e Dave Airlie       2010-03-30  230  	if ((sizes->surface_bpp == 24) && ASIC_IS_AVIVO(rdev))
8be48d924c307e Dave Airlie       2010-03-30  231  		sizes->surface_bpp = 32;
771fe6b912fca5 Jerome Glisse     2009-06-05  232  
308e5bcbdb1045 Jesse Barnes      2011-11-14  233  	mode_cmd.pixel_format = drm_mode_legacy_fb_format(sizes->surface_bpp,
308e5bcbdb1045 Jesse Barnes      2011-11-14  234  							  sizes->surface_depth);
771fe6b912fca5 Jerome Glisse     2009-06-05  235  
8be48d924c307e Dave Airlie       2010-03-30  236  	ret = radeonfb_create_pinned_object(rfbdev, &mode_cmd, &gobj);
aaefcd4284a539 Dave Airlie       2012-03-06  237  	if (ret) {
aaefcd4284a539 Dave Airlie       2012-03-06  238  		DRM_ERROR("failed to create fbcon object %d\n", ret);
aaefcd4284a539 Dave Airlie       2012-03-06  239  		return ret;
aaefcd4284a539 Dave Airlie       2012-03-06  240  	}
aaefcd4284a539 Dave Airlie       2012-03-06  241  
7e4d15d90afe46 Daniel Vetter     2011-02-18  242  	rbo = gem_to_radeon_bo(gobj);
8be48d924c307e Dave Airlie       2010-03-30  243  
8be48d924c307e Dave Airlie       2010-03-30  244  	/* okay we have an object now allocate the framebuffer */
00450052436f87 Archit Taneja     2015-07-31  245  	info = drm_fb_helper_alloc_fbi(helper);
00450052436f87 Archit Taneja     2015-07-31  246  	if (IS_ERR(info)) {
00450052436f87 Archit Taneja     2015-07-31  247  		ret = PTR_ERR(info);
da7bdda2afdf1a Daniel Vetter     2017-02-07  248  		goto out;
771fe6b912fca5 Jerome Glisse     2009-06-05  249  	}
785b93ef8c3097 Dave Airlie       2009-08-28  250  
8782c647aec43e Daniel Vetter     2018-11-27  251  	/* radeon resume is fragile and needs a vt switch to help it along */
8782c647aec43e Daniel Vetter     2018-11-27  252  	info->skip_vt_switch = false;
8782c647aec43e Daniel Vetter     2018-11-27  253  
9a0f0c9d0c9de7 Daniel Stone      2018-03-30  254  	ret = radeon_framebuffer_init(rdev->ddev, &rfbdev->fb, &mode_cmd, gobj);
aaefcd4284a539 Dave Airlie       2012-03-06  255  	if (ret) {
8b513d0cf603c0 Masanari Iida     2013-05-21  256  		DRM_ERROR("failed to initialize framebuffer %d\n", ret);
da7bdda2afdf1a Daniel Vetter     2017-02-07  257  		goto out;
aaefcd4284a539 Dave Airlie       2012-03-06  258  	}
8be48d924c307e Dave Airlie       2010-03-30  259  
9a0f0c9d0c9de7 Daniel Stone      2018-03-30  260  	fb = &rfbdev->fb;
386516744ba45d Dave Airlie       2010-03-30  261  
386516744ba45d Dave Airlie       2010-03-30  262  	/* setup helper */
386516744ba45d Dave Airlie       2010-03-30  263  	rfbdev->helper.fb = fb;
771fe6b912fca5 Jerome Glisse     2009-06-05  264  
8be48d924c307e Dave Airlie       2010-03-30 @265  	memset_io(rbo->kptr, 0x0, radeon_bo_size(rbo));
bf8e828b00a5b6 Dave Airlie       2009-08-17  266  
771fe6b912fca5 Jerome Glisse     2009-06-05  267  	info->fbops = &radeonfb_ops;
785b93ef8c3097 Dave Airlie       2009-08-28  268  
8be48d924c307e Dave Airlie       2010-03-30  269  	tmp = radeon_bo_gpu_offset(rbo) - rdev->mc.vram_start;
f92e93eb5f4d56 Jerome Glisse     2009-06-22  270  	info->fix.smem_start = rdev->mc.aper_base + tmp;
8be48d924c307e Dave Airlie       2010-03-30  271  	info->fix.smem_len = radeon_bo_size(rbo);
8be48d924c307e Dave Airlie       2010-03-30  272  	info->screen_base = rbo->kptr;
8be48d924c307e Dave Airlie       2010-03-30  273  	info->screen_size = radeon_bo_size(rbo);
785b93ef8c3097 Dave Airlie       2009-08-28  274  
19d8a4e3d91fda Daniel Vetter     2019-03-26  275  	drm_fb_helper_fill_info(info, &rfbdev->helper, sizes);
ed8f0d9e708a1a Dave Airlie       2009-07-29  276  
ed8f0d9e708a1a Dave Airlie       2009-07-29  277  	/* setup aperture base/size for vesafb takeover */
1471ca9aa71cd3 Marcin Slusarz    2010-05-16  278  	info->apertures->ranges[0].base = rdev->ddev->mode_config.fb_base;
68d3059665c4a5 Dave Airlie       2010-12-20  279  	info->apertures->ranges[0].size = rdev->mc.aper_size;
ed8f0d9e708a1a Dave Airlie       2009-07-29  280  
fb2a99e15ff0d3 Sascha Hauer      2012-02-06  281  	/* Use default scratch pixmap (info->pixmap.flags = FB_PIXMAP_SYSTEM) */
4abe35204af82a Dave Airlie       2010-03-30  282  
771fe6b912fca5 Jerome Glisse     2009-06-05  283  	if (info->screen_base == NULL) {
771fe6b912fca5 Jerome Glisse     2009-06-05  284  		ret = -ENOSPC;
da7bdda2afdf1a Daniel Vetter     2017-02-07  285  		goto out;
4abe35204af82a Dave Airlie       2010-03-30  286  	}
4abe35204af82a Dave Airlie       2010-03-30  287  
771fe6b912fca5 Jerome Glisse     2009-06-05  288  	DRM_INFO("fb mappable at 0x%lX\n",  info->fix.smem_start);
771fe6b912fca5 Jerome Glisse     2009-06-05  289  	DRM_INFO("vram apper at 0x%lX\n",  (unsigned long)rdev->mc.aper_base);
8be48d924c307e Dave Airlie       2010-03-30  290  	DRM_INFO("size %lu\n", (unsigned long)radeon_bo_size(rbo));
b00c600e91531d Ville Syrjälä     2016-12-14  291  	DRM_INFO("fb depth is %d\n", fb->format->depth);
01f2c7730e1880 Ville Syrjälä     2011-12-20  292  	DRM_INFO("   pitch is %d\n", fb->pitches[0]);
771fe6b912fca5 Jerome Glisse     2009-06-05  293  
d86a41267b32e9 Thomas Zimmermann 2020-12-01  294  	vga_switcheroo_client_fb_set(rdev->pdev, info);
771fe6b912fca5 Jerome Glisse     2009-06-05  295  	return 0;
771fe6b912fca5 Jerome Glisse     2009-06-05  296  
da7bdda2afdf1a Daniel Vetter     2017-02-07  297  out:
f92e93eb5f4d56 Jerome Glisse     2009-06-22  298  	if (fb && ret) {
f11fb66ae92193 Emil Velikov      2020-05-15  299  		drm_gem_object_put(gobj);
362063619cf67c Daniel Vetter     2012-12-10  300  		drm_framebuffer_unregister_private(fb);
771fe6b912fca5 Jerome Glisse     2009-06-05  301  		drm_framebuffer_cleanup(fb);
771fe6b912fca5 Jerome Glisse     2009-06-05  302  		kfree(fb);
771fe6b912fca5 Jerome Glisse     2009-06-05  303  	}
771fe6b912fca5 Jerome Glisse     2009-06-05  304  	return ret;
771fe6b912fca5 Jerome Glisse     2009-06-05  305  }
771fe6b912fca5 Jerome Glisse     2009-06-05  306  

:::::: The code at line 265 was first introduced by commit
:::::: 8be48d924c307e72e3797ab5bde81b07a1ccc52d drm/kms/fb: move to using fb helper crtc grouping instead of core crtc list

:::::: TO: Dave Airlie <airlied@...hat.com>
:::::: CC: Dave Airlie <airlied@...hat.com>

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ