All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: "Thomas Weißschuh " <linux@weissschuh.net>
Cc: oe-kbuild-all@lists.linux.dev, Michal Simek <monstr@monstr.eu>,
	David Gow <david@davidgow.net>
Subject: [linux-next:master 5037/8910] drivers/scsi/megaraid.c:3523:29: sparse: sparse: Using plain integer as NULL pointer
Date: Wed, 23 Sep 2026 11:10:48 +0800	[thread overview]
Message-ID: <202609231106.jUL3t8MA-lkp@intel.com> (raw)

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head:   a8c591ed6b672915e0be57843f943a2a723aff40
commit: 54c35131e628e1a18f02365495a24a73a1fb515e [5037/8910] microblaze: uaccess: Zero out destination on failed get_user()
config: microblaze-randconfig-r1302-20260923 (https://download.01.org/0day-ci/archive/20260923/202609231106.jUL3t8MA-lkp@intel.com/config)
compiler: microblaze-linux-gcc (GCC) 13.4.0
sparse: v0.6.5-rc1
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260923/202609231106.jUL3t8MA-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202609231106.jUL3t8MA-lkp@intel.com/

sparse warnings: (new ones prefixed by >>)
>> drivers/scsi/megaraid.c:3523:29: sparse: sparse: Using plain integer as NULL pointer
   drivers/scsi/megaraid.c:3540:29: sparse: sparse: Using plain integer as NULL pointer
   drivers/scsi/megaraid.c:4464:26: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/scsi/megaraid.c:4464:26: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/scsi/megaraid.c:4464:26: sparse:     got void *
   drivers/scsi/megaraid.c:4523:26: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/scsi/megaraid.c:4523:26: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/scsi/megaraid.c:4523:26: sparse:     got void *

vim +3523 drivers/scsi/megaraid.c

^1da177e4c3f415 Linus Torvalds 2005-04-16  3488  
^1da177e4c3f415 Linus Torvalds 2005-04-16  3489  /*
^1da177e4c3f415 Linus Torvalds 2005-04-16  3490   * mega_n_to_m()
2b46e5c14218c73 Damien Le Moal 2020-07-06  3491   * @arg: user address
2b46e5c14218c73 Damien Le Moal 2020-07-06  3492   * @mc: mailbox command
^1da177e4c3f415 Linus Torvalds 2005-04-16  3493   *
^1da177e4c3f415 Linus Torvalds 2005-04-16  3494   * Updates the status information to the application, depending on application
^1da177e4c3f415 Linus Torvalds 2005-04-16  3495   * conforms to older mimd ioctl interface or newer NIT ioctl interface
^1da177e4c3f415 Linus Torvalds 2005-04-16  3496   */
^1da177e4c3f415 Linus Torvalds 2005-04-16  3497  static int
^1da177e4c3f415 Linus Torvalds 2005-04-16  3498  mega_n_to_m(void __user *arg, megacmd_t *mc)
^1da177e4c3f415 Linus Torvalds 2005-04-16  3499  {
^1da177e4c3f415 Linus Torvalds 2005-04-16  3500  	nitioctl_t	__user *uiocp;
^1da177e4c3f415 Linus Torvalds 2005-04-16  3501  	megacmd_t	__user *umc;
^1da177e4c3f415 Linus Torvalds 2005-04-16  3502  	mega_passthru	__user *upthru;
^1da177e4c3f415 Linus Torvalds 2005-04-16  3503  	struct uioctl_t	__user *uioc_mimd;
^1da177e4c3f415 Linus Torvalds 2005-04-16  3504  	char	signature[8] = {0};
^1da177e4c3f415 Linus Torvalds 2005-04-16  3505  
^1da177e4c3f415 Linus Torvalds 2005-04-16  3506  	/*
^1da177e4c3f415 Linus Torvalds 2005-04-16  3507  	 * check is the application conforms to NIT.
^1da177e4c3f415 Linus Torvalds 2005-04-16  3508  	 */
^1da177e4c3f415 Linus Torvalds 2005-04-16  3509  	if( copy_from_user(signature, arg, 7) )
^1da177e4c3f415 Linus Torvalds 2005-04-16  3510  		return -EFAULT;
^1da177e4c3f415 Linus Torvalds 2005-04-16  3511  
^1da177e4c3f415 Linus Torvalds 2005-04-16  3512  	if( memcmp(signature, "MEGANIT", 7) == 0 ) {
^1da177e4c3f415 Linus Torvalds 2005-04-16  3513  
^1da177e4c3f415 Linus Torvalds 2005-04-16  3514  		uiocp = arg;
^1da177e4c3f415 Linus Torvalds 2005-04-16  3515  
^1da177e4c3f415 Linus Torvalds 2005-04-16  3516  		if( put_user(mc->status, (u8 __user *)&MBOX_P(uiocp)->status) )
^1da177e4c3f415 Linus Torvalds 2005-04-16  3517  			return (-EFAULT);
^1da177e4c3f415 Linus Torvalds 2005-04-16  3518  
^1da177e4c3f415 Linus Torvalds 2005-04-16  3519  		if( mc->cmd == MEGA_MBOXCMD_PASSTHRU ) {
^1da177e4c3f415 Linus Torvalds 2005-04-16  3520  
^1da177e4c3f415 Linus Torvalds 2005-04-16  3521  			umc = MBOX_P(uiocp);
^1da177e4c3f415 Linus Torvalds 2005-04-16  3522  
^1da177e4c3f415 Linus Torvalds 2005-04-16 @3523  			if (get_user(upthru, (mega_passthru __user * __user *)&umc->xferaddr))
^1da177e4c3f415 Linus Torvalds 2005-04-16  3524  				return -EFAULT;
^1da177e4c3f415 Linus Torvalds 2005-04-16  3525  
^1da177e4c3f415 Linus Torvalds 2005-04-16  3526  			if( put_user(mc->status, (u8 __user *)&upthru->scsistatus))
^1da177e4c3f415 Linus Torvalds 2005-04-16  3527  				return (-EFAULT);
^1da177e4c3f415 Linus Torvalds 2005-04-16  3528  		}
^1da177e4c3f415 Linus Torvalds 2005-04-16  3529  	}
^1da177e4c3f415 Linus Torvalds 2005-04-16  3530  	else {
^1da177e4c3f415 Linus Torvalds 2005-04-16  3531  		uioc_mimd = arg;
^1da177e4c3f415 Linus Torvalds 2005-04-16  3532  
^1da177e4c3f415 Linus Torvalds 2005-04-16  3533  		if( put_user(mc->status, (u8 __user *)&uioc_mimd->mbox[17]) )
^1da177e4c3f415 Linus Torvalds 2005-04-16  3534  			return (-EFAULT);
^1da177e4c3f415 Linus Torvalds 2005-04-16  3535  
^1da177e4c3f415 Linus Torvalds 2005-04-16  3536  		if( mc->cmd == MEGA_MBOXCMD_PASSTHRU ) {
^1da177e4c3f415 Linus Torvalds 2005-04-16  3537  
^1da177e4c3f415 Linus Torvalds 2005-04-16  3538  			umc = (megacmd_t __user *)uioc_mimd->mbox;
^1da177e4c3f415 Linus Torvalds 2005-04-16  3539  
^1da177e4c3f415 Linus Torvalds 2005-04-16  3540  			if (get_user(upthru, (mega_passthru __user * __user *)&umc->xferaddr))
^1da177e4c3f415 Linus Torvalds 2005-04-16  3541  				return (-EFAULT);
^1da177e4c3f415 Linus Torvalds 2005-04-16  3542  
^1da177e4c3f415 Linus Torvalds 2005-04-16  3543  			if( put_user(mc->status, (u8 __user *)&upthru->scsistatus) )
^1da177e4c3f415 Linus Torvalds 2005-04-16  3544  				return (-EFAULT);
^1da177e4c3f415 Linus Torvalds 2005-04-16  3545  		}
^1da177e4c3f415 Linus Torvalds 2005-04-16  3546  	}
^1da177e4c3f415 Linus Torvalds 2005-04-16  3547  
^1da177e4c3f415 Linus Torvalds 2005-04-16  3548  	return 0;
^1da177e4c3f415 Linus Torvalds 2005-04-16  3549  }
^1da177e4c3f415 Linus Torvalds 2005-04-16  3550  

:::::: The code at line 3523 was first introduced by commit
:::::: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Linux-2.6.12-rc2

:::::: TO: Linus Torvalds <torvalds@ppc970.osdl.org>
:::::: CC: Linus Torvalds <torvalds@ppc970.osdl.org>

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

                 reply	other threads:[~2026-09-23  3:11 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=202609231106.jUL3t8MA-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=david@davidgow.net \
    --cc=linux@weissschuh.net \
    --cc=monstr@monstr.eu \
    --cc=oe-kbuild-all@lists.linux.dev \
    /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.