* [linux-next:master 8292/10499] ipc/msg.c:958:13: sparse: sparse: incorrect type in argument 1 (different address spaces)
@ 2021-04-07 14:33 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2021-04-07 14:33 UTC (permalink / raw)
To: Julian Braha; +Cc: kbuild-all, Linux Memory Management List, Andrew Morton
[-- Attachment #1: Type: text/plain, Size: 28681 bytes --]
Hi Julian,
First bad commit (maybe != root cause):
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: 5103a5be098c0dae5d4b057520d7e9f4c5570979
commit: 969f31e9eae3fb5d8388677c2ec34c2f447f7376 [8292/10499] lib: fix kconfig dependency on ARCH_WANT_FRAME_POINTERS
config: csky-randconfig-s031-20210407 (attached as .config)
compiler: csky-linux-gcc (GCC) 9.3.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.3-279-g6d5d9b42-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=969f31e9eae3fb5d8388677c2ec34c2f447f7376
git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
git fetch --no-tags linux-next master
git checkout 969f31e9eae3fb5d8388677c2ec34c2f447f7376
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=csky
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 >>)
>> ipc/msg.c:958:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const *addr @@ got long const [noderef] __user *__gu_ptr @@
ipc/msg.c:958:13: sparse: expected void const *addr
ipc/msg.c:958:13: sparse: got long const [noderef] __user *__gu_ptr
>> ipc/msg.c:1023:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected long *__pu_addr @@ got long [noderef] __user * @@
ipc/msg.c:1023:13: sparse: expected long *__pu_addr
ipc/msg.c:1023:13: sparse: got long [noderef] __user *
ipc/msg.c:180:26: sparse: sparse: context imbalance in 'newque' - unexpected unlock
--
>> drivers/md/dm-ioctl.c:1784:47: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *to @@ got struct dm_ioctl [noderef] __user *user @@
drivers/md/dm-ioctl.c:1784:47: sparse: expected void *to
drivers/md/dm-ioctl.c:1784:47: sparse: got struct dm_ioctl [noderef] __user *user
drivers/md/dm-ioctl.c:1799:39: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *to @@ got struct dm_ioctl [noderef] __user *user @@
drivers/md/dm-ioctl.c:1799:39: sparse: expected void *to
drivers/md/dm-ioctl.c:1799:39: sparse: got struct dm_ioctl [noderef] __user *user
--
>> drivers/mtd/ubi/cdev.c:467:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const *addr @@ got signed int const [noderef] __user *__gu_ptr @@
drivers/mtd/ubi/cdev.c:467:23: sparse: expected void const *addr
drivers/mtd/ubi/cdev.c:467:23: sparse: got signed int const [noderef] __user *__gu_ptr
drivers/mtd/ubi/cdev.c:512:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const *addr @@ got signed int const [noderef] __user *__gu_ptr @@
drivers/mtd/ubi/cdev.c:512:23: sparse: expected void const *addr
drivers/mtd/ubi/cdev.c:512:23: sparse: got signed int const [noderef] __user *__gu_ptr
drivers/mtd/ubi/cdev.c:526:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const *addr @@ got signed int const [noderef] __user *__gu_ptr @@
drivers/mtd/ubi/cdev.c:526:23: sparse: expected void const *addr
drivers/mtd/ubi/cdev.c:526:23: sparse: got signed int const [noderef] __user *__gu_ptr
>> drivers/mtd/ubi/cdev.c:869:23: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected signed int *__pu_addr @@ got signed int [noderef] [usertype] __user * @@
drivers/mtd/ubi/cdev.c:869:23: sparse: expected signed int *__pu_addr
drivers/mtd/ubi/cdev.c:869:23: sparse: got signed int [noderef] [usertype] __user *
drivers/mtd/ubi/cdev.c:882:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const *addr @@ got signed int const [noderef] __user *__gu_ptr @@
drivers/mtd/ubi/cdev.c:882:23: sparse: expected void const *addr
drivers/mtd/ubi/cdev.c:882:23: sparse: got signed int const [noderef] __user *__gu_ptr
drivers/mtd/ubi/cdev.c:969:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const *addr @@ got signed int const [noderef] __user *__gu_ptr @@
drivers/mtd/ubi/cdev.c:969:23: sparse: expected void const *addr
drivers/mtd/ubi/cdev.c:969:23: sparse: got signed int const [noderef] __user *__gu_ptr
drivers/mtd/ubi/cdev.c:984:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const *addr @@ got signed int const [noderef] __user *__gu_ptr @@
drivers/mtd/ubi/cdev.c:984:23: sparse: expected void const *addr
drivers/mtd/ubi/cdev.c:984:23: sparse: got signed int const [noderef] __user *__gu_ptr
drivers/mtd/ubi/cdev.c:1050:31: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected signed int *__pu_addr @@ got signed int [noderef] [usertype] __user * @@
drivers/mtd/ubi/cdev.c:1050:31: sparse: expected signed int *__pu_addr
drivers/mtd/ubi/cdev.c:1050:31: sparse: got signed int [noderef] [usertype] __user *
drivers/mtd/ubi/cdev.c:1061:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const *addr @@ got signed int const [noderef] __user *__gu_ptr @@
drivers/mtd/ubi/cdev.c:1061:23: sparse: expected void const *addr
drivers/mtd/ubi/cdev.c:1061:23: sparse: got signed int const [noderef] __user *__gu_ptr
--
>> sound/core/compress_offload.c:977:26: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int *__pu_addr @@ got int [noderef] __user * @@
sound/core/compress_offload.c:977:26: sparse: expected int *__pu_addr
sound/core/compress_offload.c:977:26: sparse: got int [noderef] __user *
--
lib/locking-selftest.c:302:1: sparse: sparse: context imbalance in 'AA_spin' - wrong count at exit
lib/locking-selftest.c:304:1: sparse: sparse: context imbalance in 'AA_wlock' - wrong count at exit
lib/locking-selftest.c:306:1: sparse: sparse: context imbalance in 'AA_rlock' - wrong count at exit
lib/locking-selftest.c:325:13: sparse: sparse: context imbalance in 'rlock_AA1' - wrong count at exit
lib/locking-selftest.c:331:13: sparse: sparse: context imbalance in 'rlock_AA1B' - wrong count at exit
lib/locking-selftest.c:351:13: sparse: sparse: context imbalance in 'rlock_AA2' - wrong count at exit
lib/locking-selftest.c:363:13: sparse: sparse: context imbalance in 'rlock_AA3' - wrong count at exit
lib/locking-selftest.c:726:1: sparse: sparse: context imbalance in 'double_unlock_spin' - unexpected unlock
lib/locking-selftest.c:728:1: sparse: sparse: context imbalance in 'double_unlock_wlock' - unexpected unlock
lib/locking-selftest.c:730:1: sparse: sparse: context imbalance in 'double_unlock_rlock' - unexpected unlock
lib/locking-selftest.c:757:1: sparse: sparse: context imbalance in 'init_held_spin' - wrong count at exit
lib/locking-selftest.c:759:1: sparse: sparse: context imbalance in 'init_held_wlock' - wrong count at exit
lib/locking-selftest.c:761:1: sparse: sparse: context imbalance in 'init_held_rlock' - wrong count at exit
lib/locking-selftest.c:2468:13: sparse: sparse: context imbalance in 'rcu_exit' - unexpected unlock
lib/locking-selftest.c:2477:13: sparse: sparse: context imbalance in 'rcu_bh_exit' - unexpected unlock
lib/locking-selftest.c:2486:13: sparse: sparse: context imbalance in 'rcu_sched_exit' - unexpected unlock
lib/locking-selftest.c:2505:13: sparse: sparse: context imbalance in 'raw_spinlock_exit' - unexpected unlock
lib/locking-selftest.c:2514:13: sparse: sparse: context imbalance in 'spinlock_exit' - unexpected unlock
lib/locking-selftest.c: note: in included file (through include/linux/thread_info.h, include/asm-generic/preempt.h, arch/csky/include/generated/asm/preempt.h, ...):
>> arch/csky/include/asm/thread_info.h:51:9: sparse: sparse: context imbalance in 'RCU_in_HARDIRQ' - wrong count at exit
>> arch/csky/include/asm/thread_info.h:51:9: sparse: sparse: context imbalance in 'RCU_in_NOTTHREADED_HARDIRQ' - wrong count at exit
>> arch/csky/include/asm/thread_info.h:51:9: sparse: sparse: context imbalance in 'RCU_in_SOFTIRQ' - wrong count at exit
lib/locking-selftest.c:2585:1: sparse: sparse: context imbalance in 'RCU_in_RCU' - wrong count at exit
lib/locking-selftest.c:2585:1: sparse: sparse: context imbalance in 'RCU_in_RCU_BH' - wrong count at exit
lib/locking-selftest.c:2585:1: sparse: sparse: context imbalance in 'RCU_in_RCU_CALLBACK' - wrong count at exit
lib/locking-selftest.c:2585:1: sparse: sparse: context imbalance in 'RCU_in_RCU_SCHED' - wrong count at exit
lib/locking-selftest.c:2585:1: sparse: sparse: context imbalance in 'RCU_in_RAW_SPINLOCK' - wrong count at exit
lib/locking-selftest.c:2585:1: sparse: sparse: context imbalance in 'RCU_in_SPINLOCK' - wrong count at exit
lib/locking-selftest.c:2585:1: sparse: sparse: context imbalance in 'RCU_in_MUTEX' - wrong count at exit
>> arch/csky/include/asm/thread_info.h:51:9: sparse: sparse: context imbalance in 'RAW_SPINLOCK_in_HARDIRQ' - wrong count at exit
>> arch/csky/include/asm/thread_info.h:51:9: sparse: sparse: context imbalance in 'RAW_SPINLOCK_in_NOTTHREADED_HARDIRQ' - wrong count at exit
>> arch/csky/include/asm/thread_info.h:51:9: sparse: sparse: context imbalance in 'RAW_SPINLOCK_in_SOFTIRQ' - wrong count at exit
lib/locking-selftest.c:2586:1: sparse: sparse: context imbalance in 'RAW_SPINLOCK_in_RCU' - wrong count at exit
lib/locking-selftest.c:2586:1: sparse: sparse: context imbalance in 'RAW_SPINLOCK_in_RCU_BH' - wrong count at exit
lib/locking-selftest.c:2586:1: sparse: sparse: context imbalance in 'RAW_SPINLOCK_in_RCU_CALLBACK' - wrong count at exit
lib/locking-selftest.c:2586:1: sparse: sparse: context imbalance in 'RAW_SPINLOCK_in_RCU_SCHED' - wrong count at exit
lib/locking-selftest.c:2586:1: sparse: sparse: context imbalance in 'RAW_SPINLOCK_in_RAW_SPINLOCK' - wrong count at exit
lib/locking-selftest.c:2586:1: sparse: sparse: context imbalance in 'RAW_SPINLOCK_in_SPINLOCK' - wrong count at exit
lib/locking-selftest.c:2586:1: sparse: sparse: context imbalance in 'RAW_SPINLOCK_in_MUTEX' - wrong count at exit
>> arch/csky/include/asm/thread_info.h:51:9: sparse: sparse: context imbalance in 'SPINLOCK_in_HARDIRQ' - wrong count at exit
>> arch/csky/include/asm/thread_info.h:51:9: sparse: sparse: context imbalance in 'SPINLOCK_in_NOTTHREADED_HARDIRQ' - wrong count at exit
>> arch/csky/include/asm/thread_info.h:51:9: sparse: sparse: context imbalance in 'SPINLOCK_in_SOFTIRQ' - wrong count at exit
lib/locking-selftest.c:2587:1: sparse: sparse: context imbalance in 'SPINLOCK_in_RCU' - wrong count at exit
lib/locking-selftest.c:2587:1: sparse: sparse: context imbalance in 'SPINLOCK_in_RCU_BH' - wrong count at exit
lib/locking-selftest.c:2587:1: sparse: sparse: context imbalance in 'SPINLOCK_in_RCU_CALLBACK' - wrong count at exit
lib/locking-selftest.c:2587:1: sparse: sparse: context imbalance in 'SPINLOCK_in_RCU_SCHED' - wrong count at exit
lib/locking-selftest.c:2587:1: sparse: sparse: context imbalance in 'SPINLOCK_in_RAW_SPINLOCK' - wrong count at exit
lib/locking-selftest.c:2587:1: sparse: sparse: context imbalance in 'SPINLOCK_in_SPINLOCK' - wrong count at exit
lib/locking-selftest.c:2587:1: sparse: sparse: context imbalance in 'SPINLOCK_in_MUTEX' - wrong count at exit
lib/locking-selftest.c:2588:1: sparse: sparse: context imbalance in 'MUTEX_in_RCU' - wrong count at exit
lib/locking-selftest.c:2588:1: sparse: sparse: context imbalance in 'MUTEX_in_RCU_BH' - wrong count at exit
lib/locking-selftest.c:2588:1: sparse: sparse: context imbalance in 'MUTEX_in_RCU_SCHED' - wrong count at exit
lib/locking-selftest.c:2588:1: sparse: sparse: context imbalance in 'MUTEX_in_RAW_SPINLOCK' - wrong count at exit
lib/locking-selftest.c:2588:1: sparse: sparse: context imbalance in 'MUTEX_in_SPINLOCK' - wrong count at exit
--
>> sound/hda/hdmi_chmap.c:678:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int *__pu_addr @@ got unsigned int [noderef] __user *tlv @@
sound/hda/hdmi_chmap.c:678:13: sparse: expected unsigned int *__pu_addr
sound/hda/hdmi_chmap.c:678:13: sparse: got unsigned int [noderef] __user *tlv
>> sound/hda/hdmi_chmap.c:710:29: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int *__pu_addr @@ got unsigned int [noderef] __user *[assigned] dst @@
sound/hda/hdmi_chmap.c:710:29: sparse: expected unsigned int *__pu_addr
sound/hda/hdmi_chmap.c:710:29: sparse: got unsigned int [noderef] __user *[assigned] dst
>> sound/hda/hdmi_chmap.c:711:29: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int *__pu_addr @@ got unsigned int [noderef] __user * @@
sound/hda/hdmi_chmap.c:711:29: sparse: expected unsigned int *__pu_addr
sound/hda/hdmi_chmap.c:711:29: sparse: got unsigned int [noderef] __user *
sound/hda/hdmi_chmap.c:732:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int *__pu_addr @@ got unsigned int [noderef] __user * @@
sound/hda/hdmi_chmap.c:732:13: sparse: expected unsigned int *__pu_addr
sound/hda/hdmi_chmap.c:732:13: sparse: got unsigned int [noderef] __user *
--
>> sound/pci/hda/hda_hwdep.c:26:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const *addr @@ got unsigned int const [noderef] __user *__gu_ptr @@
sound/pci/hda/hda_hwdep.c:26:13: sparse: expected void const *addr
sound/pci/hda/hda_hwdep.c:26:13: sparse: got unsigned int const [noderef] __user *__gu_ptr
>> sound/pci/hda/hda_hwdep.c:30:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int *__pu_addr @@ got unsigned int [noderef] __user * @@
sound/pci/hda/hda_hwdep.c:30:13: sparse: expected unsigned int *__pu_addr
sound/pci/hda/hda_hwdep.c:30:13: sparse: got unsigned int [noderef] __user *
sound/pci/hda/hda_hwdep.c:40:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const *addr @@ got unsigned int const [noderef] __user *__gu_ptr @@
sound/pci/hda/hda_hwdep.c:40:13: sparse: expected void const *addr
sound/pci/hda/hda_hwdep.c:40:13: sparse: got unsigned int const [noderef] __user *__gu_ptr
sound/pci/hda/hda_hwdep.c:52:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int *__pu_addr @@ got unsigned int [noderef] __user * @@
sound/pci/hda/hda_hwdep.c:52:13: sparse: expected unsigned int *__pu_addr
sound/pci/hda/hda_hwdep.c:52:13: sparse: got unsigned int [noderef] __user *
>> sound/pci/hda/hda_hwdep.c:68:24: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int *__pu_addr @@ got int [noderef] __user * @@
sound/pci/hda/hda_hwdep.c:68:24: sparse: expected int *__pu_addr
sound/pci/hda/hda_hwdep.c:68:24: sparse: got int [noderef] __user *
--
>> sound/core/seq/oss/seq_oss_ioctl.c:97:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const *addr @@ got int const [noderef] __user *__gu_ptr @@
sound/core/seq/oss/seq_oss_ioctl.c:97:21: sparse: expected void const *addr
sound/core/seq/oss/seq_oss_ioctl.c:97:21: sparse: got int const [noderef] __user *__gu_ptr
>> sound/core/seq/oss/seq_oss_ioctl.c:104:24: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int *__pu_addr @@ got int [noderef] __user *p @@
sound/core/seq/oss/seq_oss_ioctl.c:104:24: sparse: expected int *__pu_addr
sound/core/seq/oss/seq_oss_ioctl.c:104:24: sparse: got int [noderef] __user *p
sound/core/seq/oss/seq_oss_ioctl.c:109:24: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int *__pu_addr @@ got int [noderef] __user *p @@
sound/core/seq/oss/seq_oss_ioctl.c:109:24: sparse: expected int *__pu_addr
sound/core/seq/oss/seq_oss_ioctl.c:109:24: sparse: got int [noderef] __user *p
sound/core/seq/oss/seq_oss_ioctl.c:112:24: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int *__pu_addr @@ got int [noderef] __user *p @@
sound/core/seq/oss/seq_oss_ioctl.c:112:24: sparse: expected int *__pu_addr
sound/core/seq/oss/seq_oss_ioctl.c:112:24: sparse: got int [noderef] __user *p
sound/core/seq/oss/seq_oss_ioctl.c:115:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const *addr @@ got int const [noderef] __user *__gu_ptr @@
sound/core/seq/oss/seq_oss_ioctl.c:115:21: sparse: expected void const *addr
sound/core/seq/oss/seq_oss_ioctl.c:115:21: sparse: got int const [noderef] __user *__gu_ptr
sound/core/seq/oss/seq_oss_ioctl.c:120:24: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int *__pu_addr @@ got int [noderef] __user *p @@
sound/core/seq/oss/seq_oss_ioctl.c:120:24: sparse: expected int *__pu_addr
sound/core/seq/oss/seq_oss_ioctl.c:120:24: sparse: got int [noderef] __user *p
sound/core/seq/oss/seq_oss_ioctl.c:123:24: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int *__pu_addr @@ got int [noderef] __user *p @@
sound/core/seq/oss/seq_oss_ioctl.c:123:24: sparse: expected int *__pu_addr
sound/core/seq/oss/seq_oss_ioctl.c:123:24: sparse: got int [noderef] __user *p
sound/core/seq/oss/seq_oss_ioctl.c:126:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const *addr @@ got int const [noderef] __user *__gu_ptr @@
sound/core/seq/oss/seq_oss_ioctl.c:126:21: sparse: expected void const *addr
sound/core/seq/oss/seq_oss_ioctl.c:126:21: sparse: got int const [noderef] __user *__gu_ptr
sound/core/seq/oss/seq_oss_ioctl.c:129:24: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int *__pu_addr @@ got int [noderef] __user *p @@
sound/core/seq/oss/seq_oss_ioctl.c:129:24: sparse: expected int *__pu_addr
sound/core/seq/oss/seq_oss_ioctl.c:129:24: sparse: got int [noderef] __user *p
sound/core/seq/oss/seq_oss_ioctl.c:132:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const *addr @@ got int const [noderef] __user *__gu_ptr @@
sound/core/seq/oss/seq_oss_ioctl.c:132:21: sparse: expected void const *addr
sound/core/seq/oss/seq_oss_ioctl.c:132:21: sparse: got int const [noderef] __user *__gu_ptr
sound/core/seq/oss/seq_oss_ioctl.c:150:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const *addr @@ got int const [noderef] __user *__gu_ptr @@
sound/core/seq/oss/seq_oss_ioctl.c:150:21: sparse: expected void const *addr
sound/core/seq/oss/seq_oss_ioctl.c:150:21: sparse: got int const [noderef] __user *__gu_ptr
sound/core/seq/oss/seq_oss_ioctl.c:162:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const *addr @@ got int const [noderef] __user *__gu_ptr @@
sound/core/seq/oss/seq_oss_ioctl.c:162:21: sparse: expected void const *addr
sound/core/seq/oss/seq_oss_ioctl.c:162:21: sparse: got int const [noderef] __user *__gu_ptr
sound/core/seq/oss/seq_oss_ioctl.c:169:24: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int *__pu_addr @@ got int [noderef] __user *p @@
sound/core/seq/oss/seq_oss_ioctl.c:169:24: sparse: expected int *__pu_addr
sound/core/seq/oss/seq_oss_ioctl.c:169:24: sparse: got int [noderef] __user *p
--
>> sound/core/seq/oss/seq_oss_timer.c:224:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const *addr @@ got int const [noderef] __user *__gu_ptr @@
sound/core/seq/oss/seq_oss_timer.c:224:21: sparse: expected void const *addr
sound/core/seq/oss/seq_oss_timer.c:224:21: sparse: got int const [noderef] __user *__gu_ptr
>> sound/core/seq/oss/seq_oss_timer.c:229:24: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int *__pu_addr @@ got int [noderef] __user *arg @@
sound/core/seq/oss/seq_oss_timer.c:229:24: sparse: expected int *__pu_addr
sound/core/seq/oss/seq_oss_timer.c:229:24: sparse: got int [noderef] __user *arg
sound/core/seq/oss/seq_oss_timer.c:243:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const *addr @@ got int const [noderef] __user *__gu_ptr @@
sound/core/seq/oss/seq_oss_timer.c:243:21: sparse: expected void const *addr
sound/core/seq/oss/seq_oss_timer.c:243:21: sparse: got int const [noderef] __user *__gu_ptr
sound/core/seq/oss/seq_oss_timer.c:247:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const *addr @@ got int const [noderef] __user *__gu_ptr @@
sound/core/seq/oss/seq_oss_timer.c:247:21: sparse: expected void const *addr
sound/core/seq/oss/seq_oss_timer.c:247:21: sparse: got int const [noderef] __user *__gu_ptr
vim +958 ipc/msg.c
^1da177e4c3f41 Linus Torvalds 2005-04-16 952
31c213f2106b7e Dominik Brodowski 2018-03-20 953 long ksys_msgsnd(int msqid, struct msgbuf __user *msgp, size_t msgsz,
31c213f2106b7e Dominik Brodowski 2018-03-20 954 int msgflg)
651971cb7242e8 suzuki 2006-12-06 955 {
651971cb7242e8 suzuki 2006-12-06 956 long mtype;
651971cb7242e8 suzuki 2006-12-06 957
651971cb7242e8 suzuki 2006-12-06 @958 if (get_user(mtype, &msgp->mtype))
651971cb7242e8 suzuki 2006-12-06 959 return -EFAULT;
651971cb7242e8 suzuki 2006-12-06 960 return do_msgsnd(msqid, mtype, msgp->mtext, msgsz, msgflg);
651971cb7242e8 suzuki 2006-12-06 961 }
651971cb7242e8 suzuki 2006-12-06 962
31c213f2106b7e Dominik Brodowski 2018-03-20 963 SYSCALL_DEFINE4(msgsnd, int, msqid, struct msgbuf __user *, msgp, size_t, msgsz,
31c213f2106b7e Dominik Brodowski 2018-03-20 964 int, msgflg)
31c213f2106b7e Dominik Brodowski 2018-03-20 965 {
31c213f2106b7e Dominik Brodowski 2018-03-20 966 return ksys_msgsnd(msqid, msgp, msgsz, msgflg);
31c213f2106b7e Dominik Brodowski 2018-03-20 967 }
31c213f2106b7e Dominik Brodowski 2018-03-20 968
9b1404c24a3573 Al Viro 2017-07-09 969 #ifdef CONFIG_COMPAT
9b1404c24a3573 Al Viro 2017-07-09 970
9b1404c24a3573 Al Viro 2017-07-09 971 struct compat_msgbuf {
9b1404c24a3573 Al Viro 2017-07-09 972 compat_long_t mtype;
9b1404c24a3573 Al Viro 2017-07-09 973 char mtext[1];
9b1404c24a3573 Al Viro 2017-07-09 974 };
9b1404c24a3573 Al Viro 2017-07-09 975
31c213f2106b7e Dominik Brodowski 2018-03-20 976 long compat_ksys_msgsnd(int msqid, compat_uptr_t msgp,
31c213f2106b7e Dominik Brodowski 2018-03-20 977 compat_ssize_t msgsz, int msgflg)
9b1404c24a3573 Al Viro 2017-07-09 978 {
9b1404c24a3573 Al Viro 2017-07-09 979 struct compat_msgbuf __user *up = compat_ptr(msgp);
9b1404c24a3573 Al Viro 2017-07-09 980 compat_long_t mtype;
9b1404c24a3573 Al Viro 2017-07-09 981
9b1404c24a3573 Al Viro 2017-07-09 982 if (get_user(mtype, &up->mtype))
9b1404c24a3573 Al Viro 2017-07-09 983 return -EFAULT;
9b1404c24a3573 Al Viro 2017-07-09 984 return do_msgsnd(msqid, mtype, up->mtext, (ssize_t)msgsz, msgflg);
9b1404c24a3573 Al Viro 2017-07-09 985 }
31c213f2106b7e Dominik Brodowski 2018-03-20 986
31c213f2106b7e Dominik Brodowski 2018-03-20 987 COMPAT_SYSCALL_DEFINE4(msgsnd, int, msqid, compat_uptr_t, msgp,
31c213f2106b7e Dominik Brodowski 2018-03-20 988 compat_ssize_t, msgsz, int, msgflg)
31c213f2106b7e Dominik Brodowski 2018-03-20 989 {
31c213f2106b7e Dominik Brodowski 2018-03-20 990 return compat_ksys_msgsnd(msqid, msgp, msgsz, msgflg);
31c213f2106b7e Dominik Brodowski 2018-03-20 991 }
9b1404c24a3573 Al Viro 2017-07-09 992 #endif
9b1404c24a3573 Al Viro 2017-07-09 993
^1da177e4c3f41 Linus Torvalds 2005-04-16 994 static inline int convert_mode(long *msgtyp, int msgflg)
^1da177e4c3f41 Linus Torvalds 2005-04-16 995 {
8ac6ed5857c8d5 Peter Hurley 2013-04-30 996 if (msgflg & MSG_COPY)
8ac6ed5857c8d5 Peter Hurley 2013-04-30 997 return SEARCH_NUMBER;
^1da177e4c3f41 Linus Torvalds 2005-04-16 998 /*
^1da177e4c3f41 Linus Torvalds 2005-04-16 999 * find message of correct type.
^1da177e4c3f41 Linus Torvalds 2005-04-16 1000 * msgtyp = 0 => get first.
^1da177e4c3f41 Linus Torvalds 2005-04-16 1001 * msgtyp > 0 => get first message of matching type.
^1da177e4c3f41 Linus Torvalds 2005-04-16 1002 * msgtyp < 0 => get message with least type must be < abs(msgtype).
^1da177e4c3f41 Linus Torvalds 2005-04-16 1003 */
^1da177e4c3f41 Linus Torvalds 2005-04-16 1004 if (*msgtyp == 0)
^1da177e4c3f41 Linus Torvalds 2005-04-16 1005 return SEARCH_ANY;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1006 if (*msgtyp < 0) {
999898355e08ae Jiri Slaby 2016-12-14 1007 if (*msgtyp == LONG_MIN) /* -LONG_MIN is undefined */
999898355e08ae Jiri Slaby 2016-12-14 1008 *msgtyp = LONG_MAX;
999898355e08ae Jiri Slaby 2016-12-14 1009 else
5a06a363ef4844 Ingo Molnar 2006-07-30 1010 *msgtyp = -*msgtyp;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1011 return SEARCH_LESSEQUAL;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1012 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 1013 if (msgflg & MSG_EXCEPT)
^1da177e4c3f41 Linus Torvalds 2005-04-16 1014 return SEARCH_NOTEQUAL;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1015 return SEARCH_EQUAL;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1016 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 1017
f9dd87f4738c75 Stanislav Kinsbursky 2013-01-04 1018 static long do_msg_fill(void __user *dest, struct msg_msg *msg, size_t bufsz)
f9dd87f4738c75 Stanislav Kinsbursky 2013-01-04 1019 {
f9dd87f4738c75 Stanislav Kinsbursky 2013-01-04 1020 struct msgbuf __user *msgp = dest;
f9dd87f4738c75 Stanislav Kinsbursky 2013-01-04 1021 size_t msgsz;
f9dd87f4738c75 Stanislav Kinsbursky 2013-01-04 1022
f9dd87f4738c75 Stanislav Kinsbursky 2013-01-04 @1023 if (put_user(msg->m_type, &msgp->mtype))
f9dd87f4738c75 Stanislav Kinsbursky 2013-01-04 1024 return -EFAULT;
f9dd87f4738c75 Stanislav Kinsbursky 2013-01-04 1025
f9dd87f4738c75 Stanislav Kinsbursky 2013-01-04 1026 msgsz = (bufsz > msg->m_ts) ? msg->m_ts : bufsz;
f9dd87f4738c75 Stanislav Kinsbursky 2013-01-04 1027 if (store_msg(msgp->mtext, msg, msgsz))
f9dd87f4738c75 Stanislav Kinsbursky 2013-01-04 1028 return -EFAULT;
f9dd87f4738c75 Stanislav Kinsbursky 2013-01-04 1029 return msgsz;
f9dd87f4738c75 Stanislav Kinsbursky 2013-01-04 1030 }
f9dd87f4738c75 Stanislav Kinsbursky 2013-01-04 1031
:::::: The code at line 958 was first introduced by commit
:::::: 651971cb7242e8f6d7ebd153e69bd271cb731223 [PATCH] Fix the size limit of compat space msgsize
:::::: TO: suzuki <suzuki@linux.vnet.ibm.com>
:::::: CC: Linus Torvalds <torvalds@woody.osdl.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 32748 bytes --]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2021-04-07 14:34 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-07 14:33 [linux-next:master 8292/10499] ipc/msg.c:958:13: sparse: sparse: incorrect type in argument 1 (different address spaces) kernel test robot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).