[linux-next:master 8292/10499] ipc/msg.c:958:13: sparse: sparse: incorrect type in argument 1 (different address spaces)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxx>


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@xxxxxxxxxxxxxxxxxx>
:::::: CC: Linus Torvalds <torvalds@xxxxxxxxxxxxxx>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux