* [linux-next:master 5037/8910] drivers/scsi/megaraid.c:3523:29: sparse: sparse: Using plain integer as NULL pointer
@ 2026-09-23 3:10 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-09-23 3:10 UTC (permalink / raw)
To: Thomas Weißschuh ; +Cc: oe-kbuild-all, Michal Simek, David Gow
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
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2026-09-23 3:11 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-23 3:10 [linux-next:master 5037/8910] drivers/scsi/megaraid.c:3523:29: sparse: sparse: Using plain integer as NULL pointer kernel test robot
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.