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 for Android: free password hash cracker in your pocket
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <202210201657.ZF4GJxiO-lkp@intel.com>
Date:   Thu, 20 Oct 2022 16:29:49 +0800
From:   kernel test robot <lkp@...el.com>
To:     "Kirill A. Shutemov" <kirill.shutemov@...ux.intel.com>
Cc:     kbuild-all@...ts.01.org, linux-kernel@...r.kernel.org
Subject: [kas:lam 5/18] drivers/input/misc/uinput.c:835:15: sparse: sparse:
 incorrect type in assignment (different address spaces)

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/kas/linux.git lam
head:   01819ca3dcb30fc9114025c8c5da8bcee0cabcee
commit: bb9d0488e7c6bfff85581168d4f49f48cd11ac36 [5/18] x86/uaccess: Provide untagged_addr() and remove tags before address check
config: x86_64-randconfig-s023
compiler: gcc-11 (Debian 11.3.0-8) 11.3.0
reproduce:
        # apt-get install sparse
        # sparse version: v0.6.4-39-gce1a6720-dirty
        # https://git.kernel.org/pub/scm/linux/kernel/git/kas/linux.git/commit/?id=bb9d0488e7c6bfff85581168d4f49f48cd11ac36
        git remote add kas https://git.kernel.org/pub/scm/linux/kernel/git/kas/linux.git
        git fetch --no-tags kas lam
        git checkout bb9d0488e7c6bfff85581168d4f49f48cd11ac36
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=x86_64 SHELL=/bin/bash arch/x86/entry/ arch/x86/kernel/ block/ drivers/android/ drivers/ata/ drivers/auxdisplay/ drivers/cdrom/ drivers/char/ drivers/comedi/ drivers/hid/ drivers/hwmon/ drivers/i2c/ drivers/input/ drivers/mtd/ drivers/nvme/host/ drivers/scsi/ drivers/vfio/ drivers/vhost/ drivers/watchdog/ fs/ ipc/ kernel/ net/ samples/vfio-mdev/ sound/core/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@...el.com>

sparse warnings: (new ones prefixed by >>)
>> drivers/input/misc/uinput.c:835:15: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected char [noderef] __user *__ptr_clean @@     got char * @@
   drivers/input/misc/uinput.c:835:15: sparse:     expected char [noderef] __user *__ptr_clean
   drivers/input/misc/uinput.c:835:15: sparse:     got char *
>> drivers/input/misc/uinput.c:865:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   drivers/input/misc/uinput.c:865:21: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   drivers/input/misc/uinput.c:865:21: sparse:     got unsigned int *
--
>> drivers/mtd/mtdchar.c:409:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   drivers/mtd/mtdchar.c:409:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   drivers/mtd/mtdchar.c:409:13: sparse:     got unsigned int *
   drivers/mtd/mtdchar.c:889:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   drivers/mtd/mtdchar.c:889:21: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   drivers/mtd/mtdchar.c:889:21: sparse:     got unsigned int *
   drivers/mtd/mtdchar.c:897:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   drivers/mtd/mtdchar.c:897:21: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   drivers/mtd/mtdchar.c:897:21: sparse:     got unsigned int *
   drivers/mtd/mtdchar.c:898:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   drivers/mtd/mtdchar.c:898:24: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   drivers/mtd/mtdchar.c:898:24: sparse:     got unsigned int *
   drivers/mtd/mtdchar.c:899:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   drivers/mtd/mtdchar.c:899:24: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   drivers/mtd/mtdchar.c:899:24: sparse:     got unsigned int *
--
   kernel/locking/lockdep_proc.c:477:17: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/locking/lockdep_proc.c:477:17: sparse:    char const [noderef] __rcu *
   kernel/locking/lockdep_proc.c:477:17: sparse:    char const *
   kernel/locking/lockdep_proc.c:478:17: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/locking/lockdep_proc.c:478:17: sparse:    struct lockdep_subclass_key const [noderef] __rcu *
   kernel/locking/lockdep_proc.c:478:17: sparse:    struct lockdep_subclass_key const *
>> kernel/locking/lockdep_proc.c:683:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected char const [noderef] __user *__ptr_clean @@     got char const * @@
   kernel/locking/lockdep_proc.c:683:21: sparse:     expected char const [noderef] __user *__ptr_clean
   kernel/locking/lockdep_proc.c:683:21: sparse:     got char const *
--
>> fs/btrfs/ioctl.c:464:16: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   fs/btrfs/ioctl.c:464:16: sparse:     expected int [noderef] __user *__ptr_clean
   fs/btrfs/ioctl.c:464:16: sparse:     got int *
   fs/btrfs/ioctl.c:413:6: sparse: sparse: context imbalance in 'btrfs_exclop_start_try_lock' - wrong count at exit
   fs/btrfs/ioctl.c:426:6: sparse: sparse: context imbalance in 'btrfs_exclop_start_unlock' - unexpected unlock
--
   sound/core/seq/seq_clientmgr.c: note: in included file:
>> sound/core/seq/seq_compat.c:42:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   sound/core/seq/seq_compat.c:42:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   sound/core/seq/seq_compat.c:42:13: sparse:     got unsigned int *
>> sound/core/seq/seq_compat.c:43:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned char [noderef] __user *__ptr_clean @@     got unsigned char * @@
   sound/core/seq/seq_compat.c:43:13: sparse:     expected unsigned char [noderef] __user *__ptr_clean
   sound/core/seq/seq_compat.c:43:13: sparse:     got unsigned char *
   sound/core/seq/seq_compat.c:52:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   sound/core/seq/seq_compat.c:52:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   sound/core/seq/seq_compat.c:52:13: sparse:     got unsigned int *
   sound/core/seq/seq_compat.c:53:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned char [noderef] __user *__ptr_clean @@     got unsigned char * @@
   sound/core/seq/seq_compat.c:53:13: sparse:     expected unsigned char [noderef] __user *__ptr_clean
   sound/core/seq/seq_compat.c:53:13: sparse:     got unsigned char *
   sound/core/seq/seq_clientmgr.c:709:9: sparse: sparse: context imbalance in 'deliver_to_subscribers' - different lock contexts for basic block
--
   kernel/futex/core.c:648:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   kernel/futex/core.c:648:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   kernel/futex/core.c:648:13: sparse:     got unsigned int *
   kernel/futex/core.c:783:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected long [noderef] __user *__ptr_clean @@     got long * @@
   kernel/futex/core.c:783:13: sparse:     expected long [noderef] __user *__ptr_clean
   kernel/futex/core.c:783:13: sparse:     got long *
>> kernel/futex/core.c:878:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed int [noderef] __user *__ptr_clean @@     got signed int * @@
   kernel/futex/core.c:878:13: sparse:     expected signed int [noderef] __user *__ptr_clean
   kernel/futex/core.c:878:13: sparse:     got signed int *
   kernel/futex/core.c:750:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned long [noderef] __user *__ptr_clean @@     got unsigned long * @@
   kernel/futex/core.c:750:13: sparse:     expected unsigned long [noderef] __user *__ptr_clean
   kernel/futex/core.c:750:13: sparse:     got unsigned long *
   kernel/futex/core.c:750:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned long [noderef] __user *__ptr_clean @@     got unsigned long * @@
   kernel/futex/core.c:750:13: sparse:     expected unsigned long [noderef] __user *__ptr_clean
   kernel/futex/core.c:750:13: sparse:     got unsigned long *
   kernel/futex/core.c:750:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned long [noderef] __user *__ptr_clean @@     got unsigned long * @@
   kernel/futex/core.c:750:13: sparse:     expected unsigned long [noderef] __user *__ptr_clean
   kernel/futex/core.c:750:13: sparse:     got unsigned long *
   kernel/futex/core.c:844:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   kernel/futex/core.c:844:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   kernel/futex/core.c:844:13: sparse:     got unsigned int *
   kernel/futex/core.c:844:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   kernel/futex/core.c:844:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   kernel/futex/core.c:844:13: sparse:     got unsigned int *
   kernel/futex/core.c:844:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   kernel/futex/core.c:844:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   kernel/futex/core.c:844:13: sparse:     got unsigned int *
--
   kernel/futex/syscalls.c:75:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned long [noderef] __user *__ptr_clean @@     got unsigned long * @@
   kernel/futex/syscalls.c:75:13: sparse:     expected unsigned long [noderef] __user *__ptr_clean
   kernel/futex/syscalls.c:75:13: sparse:     got unsigned long *
   kernel/futex/syscalls.c:77:16: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct robust_list_head [noderef] __user *[noderef] __user *__ptr_clean @@     got struct robust_list_head [noderef] __user ** @@
   kernel/futex/syscalls.c:77:16: sparse:     expected struct robust_list_head [noderef] __user *[noderef] __user *__ptr_clean
   kernel/futex/syscalls.c:77:16: sparse:     got struct robust_list_head [noderef] __user **
>> kernel/futex/syscalls.c:344:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   kernel/futex/syscalls.c:344:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   kernel/futex/syscalls.c:344:13: sparse:     got unsigned int *
   kernel/futex/syscalls.c:346:16: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   kernel/futex/syscalls.c:346:16: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   kernel/futex/syscalls.c:346:16: sparse:     got unsigned int *
--
>> drivers/nvme/host/ioctl.c:303:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   drivers/nvme/host/ioctl.c:303:21: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   drivers/nvme/host/ioctl.c:303:21: sparse:     got unsigned int *
>> drivers/nvme/host/ioctl.c:349:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned long long [noderef] __user *__ptr_clean @@     got unsigned long long * @@
   drivers/nvme/host/ioctl.c:349:21: sparse:     expected unsigned long long [noderef] __user *__ptr_clean
   drivers/nvme/host/ioctl.c:349:21: sparse:     got unsigned long long *
--
>> net/ipv6/af_inet6.c:624:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   net/ipv6/af_inet6.c:624:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   net/ipv6/af_inet6.c:624:13: sparse:     got unsigned int *
>> net/ipv6/af_inet6.c:625:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned short [noderef] __user *__ptr_clean @@     got unsigned short * @@
   net/ipv6/af_inet6.c:625:13: sparse:     expected unsigned short [noderef] __user *__ptr_clean
   net/ipv6/af_inet6.c:625:13: sparse:     got unsigned short *
   net/ipv6/af_inet6.c:626:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned short [noderef] __user *__ptr_clean @@     got unsigned short * @@
   net/ipv6/af_inet6.c:626:13: sparse:     expected unsigned short [noderef] __user *__ptr_clean
   net/ipv6/af_inet6.c:626:13: sparse:     got unsigned short *
   net/ipv6/af_inet6.c:627:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   net/ipv6/af_inet6.c:627:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   net/ipv6/af_inet6.c:627:13: sparse:     got unsigned int *
   net/ipv6/af_inet6.c:628:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   net/ipv6/af_inet6.c:628:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   net/ipv6/af_inet6.c:628:13: sparse:     got unsigned int *
   net/ipv6/af_inet6.c:629:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   net/ipv6/af_inet6.c:629:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   net/ipv6/af_inet6.c:629:13: sparse:     got unsigned int *
>> net/ipv6/af_inet6.c:630:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed int [noderef] __user *__ptr_clean @@     got signed int * @@
   net/ipv6/af_inet6.c:630:13: sparse:     expected signed int [noderef] __user *__ptr_clean
   net/ipv6/af_inet6.c:630:13: sparse:     got signed int *
--
   fs/f2fs/file.c:49:54: sparse: sparse: cast from restricted vm_fault_t
>> fs/f2fs/file.c:2030:16: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   fs/f2fs/file.c:2030:16: sparse:     expected int [noderef] __user *__ptr_clean
   fs/f2fs/file.c:2030:16: sparse:     got int *
>> fs/f2fs/file.c:2186:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   fs/f2fs/file.c:2186:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   fs/f2fs/file.c:2186:13: sparse:     got unsigned int *
   fs/f2fs/file.c:2423:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   fs/f2fs/file.c:2423:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   fs/f2fs/file.c:2423:13: sparse:     got unsigned int *
   fs/f2fs/file.c:2972:16: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   fs/f2fs/file.c:2972:16: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   fs/f2fs/file.c:2972:16: sparse:     got unsigned int *
   fs/f2fs/file.c:3132:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   fs/f2fs/file.c:3132:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   fs/f2fs/file.c:3132:13: sparse:     got unsigned int *
   fs/f2fs/file.c:3189:16: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   fs/f2fs/file.c:3189:16: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   fs/f2fs/file.c:3189:16: sparse:     got unsigned int *
   fs/f2fs/file.c:3293:36: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned short const [usertype] *pwcs @@     got restricted __le16 * @@
   fs/f2fs/file.c:3293:36: sparse:     expected unsigned short const [usertype] *pwcs
   fs/f2fs/file.c:3293:36: sparse:     got restricted __le16 *
   fs/f2fs/file.c:3329:28: sparse: sparse: incorrect type in argument 4 (different base types) @@     expected unsigned short [usertype] *pwcs @@     got restricted __le16 * @@
   fs/f2fs/file.c:3329:28: sparse:     expected unsigned short [usertype] *pwcs
   fs/f2fs/file.c:3329:28: sparse:     got restricted __le16 *
>> fs/f2fs/file.c:3354:16: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned long long [noderef] __user *__ptr_clean @@     got unsigned long long * @@
   fs/f2fs/file.c:3354:16: sparse:     expected unsigned long long [noderef] __user *__ptr_clean
   fs/f2fs/file.c:3354:16: sparse:     got unsigned long long *
   fs/f2fs/file.c:3506:23: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned long long [noderef] __user *__ptr_clean @@     got unsigned long long * @@
   fs/f2fs/file.c:3506:23: sparse:     expected unsigned long long [noderef] __user *__ptr_clean
   fs/f2fs/file.c:3506:23: sparse:     got unsigned long long *
   fs/f2fs/file.c:3667:23: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned long long [noderef] __user *__ptr_clean @@     got unsigned long long * @@
   fs/f2fs/file.c:3667:23: sparse:     expected unsigned long long [noderef] __user *__ptr_clean
   fs/f2fs/file.c:3667:23: sparse:     got unsigned long long *
   fs/f2fs/file.c:4757:15: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   fs/f2fs/file.c:4757:15: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   fs/f2fs/file.c:4757:15: sparse:     got unsigned int *
   fs/f2fs/file.c:4758:16: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned long long [noderef] __user *__ptr_clean @@     got unsigned long long * @@
   fs/f2fs/file.c:4758:16: sparse:     expected unsigned long long [noderef] __user *__ptr_clean
   fs/f2fs/file.c:4758:16: sparse:     got unsigned long long *
   fs/f2fs/file.c:4759:16: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned long long [noderef] __user *__ptr_clean @@     got unsigned long long * @@
   fs/f2fs/file.c:4759:16: sparse:     expected unsigned long long [noderef] __user *__ptr_clean
   fs/f2fs/file.c:4759:16: sparse:     got unsigned long long *
   fs/f2fs/file.c:4782:15: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   fs/f2fs/file.c:4782:15: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   fs/f2fs/file.c:4782:15: sparse:     got unsigned int *
   fs/f2fs/file.c:4783:16: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned long long [noderef] __user *__ptr_clean @@     got unsigned long long * @@
   fs/f2fs/file.c:4783:16: sparse:     expected unsigned long long [noderef] __user *__ptr_clean
   fs/f2fs/file.c:4783:16: sparse:     got unsigned long long *
   fs/f2fs/file.c:4784:16: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned long long [noderef] __user *__ptr_clean @@     got unsigned long long * @@
   fs/f2fs/file.c:4784:16: sparse:     expected unsigned long long [noderef] __user *__ptr_clean
   fs/f2fs/file.c:4784:16: sparse:     got unsigned long long *
   fs/f2fs/file.c:4785:16: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned long long [noderef] __user *__ptr_clean @@     got unsigned long long * @@
   fs/f2fs/file.c:4785:16: sparse:     expected unsigned long long [noderef] __user *__ptr_clean
   fs/f2fs/file.c:4785:16: sparse:     got unsigned long long *
--
>> drivers/scsi/scsi_ioctl.c:49:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   drivers/scsi/scsi_ioctl.c:49:21: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   drivers/scsi/scsi_ioctl.c:49:21: sparse:     got unsigned int *
>> drivers/scsi/scsi_ioctl.c:173:16: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/scsi/scsi_ioctl.c:173:16: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/scsi/scsi_ioctl.c:173:16: sparse:     got int *
   drivers/scsi/scsi_ioctl.c:178:28: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/scsi/scsi_ioctl.c:178:28: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/scsi/scsi_ioctl.c:178:28: sparse:     got int *
   drivers/scsi/scsi_ioctl.c:191:16: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/scsi/scsi_ioctl.c:191:16: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/scsi/scsi_ioctl.c:191:16: sparse:     got int *
   drivers/scsi/scsi_ioctl.c:196:25: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/scsi/scsi_ioctl.c:196:25: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/scsi/scsi_ioctl.c:196:25: sparse:     got int *
   drivers/scsi/scsi_ioctl.c:215:16: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/scsi/scsi_ioctl.c:215:16: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/scsi/scsi_ioctl.c:215:16: sparse:     got int *
   drivers/scsi/scsi_ioctl.c:516:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   drivers/scsi/scsi_ioctl.c:516:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   drivers/scsi/scsi_ioctl.c:516:13: sparse:     got unsigned int *
   drivers/scsi/scsi_ioctl.c:518:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   drivers/scsi/scsi_ioctl.c:518:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   drivers/scsi/scsi_ioctl.c:518:13: sparse:     got unsigned int *
>> drivers/scsi/scsi_ioctl.c:522:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned char [noderef] __user *__ptr_clean @@     got unsigned char * @@
   drivers/scsi/scsi_ioctl.c:522:13: sparse:     expected unsigned char [noderef] __user *__ptr_clean
   drivers/scsi/scsi_ioctl.c:522:13: sparse:     got unsigned char *
   drivers/scsi/scsi_ioctl.c:908:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/scsi/scsi_ioctl.c:908:24: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/scsi/scsi_ioctl.c:908:24: sparse:     got int *
--
>> drivers/scsi/scsi_error.c:2395:17: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/scsi/scsi_error.c:2395:17: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/scsi/scsi_error.c:2395:17: sparse:     got int *
--
>> drivers/scsi/ch.c:552:17: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned char [noderef] __user *__ptr_clean @@     got unsigned char * @@
   drivers/scsi/ch.c:552:17: sparse:     expected unsigned char [noderef] __user *__ptr_clean
   drivers/scsi/ch.c:552:17: sparse:     got unsigned char *
--
   drivers/scsi/st.c: note: in included file:
>> include/linux/mtio.h:55:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   include/linux/mtio.h:55:24: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   include/linux/mtio.h:55:24: sparse:     got unsigned int *
>> include/linux/mtio.h:57:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected long [noderef] __user *__ptr_clean @@     got long * @@
   include/linux/mtio.h:57:24: sparse:     expected long [noderef] __user *__ptr_clean
   include/linux/mtio.h:57:24: sparse:     got long *
--
>> drivers/scsi/sg.c:415:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/scsi/sg.c:415:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/scsi/sg.c:415:21: sparse:     got int *
   drivers/scsi/sg.c:419:32: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/scsi/sg.c:419:32: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/scsi/sg.c:419:32: sparse:     got int *
>> drivers/scsi/sg.c:425:32: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed int [noderef] __user *__ptr_clean @@     got signed int * @@
   drivers/scsi/sg.c:425:32: sparse:     expected signed int [noderef] __user *__ptr_clean
   drivers/scsi/sg.c:425:32: sparse:     got signed int *
   drivers/scsi/sg.c:431:32: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/scsi/sg.c:431:32: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/scsi/sg.c:431:32: sparse:     got int *
>> drivers/scsi/sg.c:638:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected char const [noderef] __user *__ptr_clean @@     got char const * @@
   drivers/scsi/sg.c:638:13: sparse:     expected char const [noderef] __user *__ptr_clean
   drivers/scsi/sg.c:638:13: sparse:     got char const *
>> drivers/scsi/sg.c:907:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   drivers/scsi/sg.c:907:21: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   drivers/scsi/sg.c:907:21: sparse:     got unsigned int *
   drivers/scsi/sg.c:908:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   drivers/scsi/sg.c:908:21: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   drivers/scsi/sg.c:908:21: sparse:     got unsigned int *
   drivers/scsi/sg.c:909:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/scsi/sg.c:909:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/scsi/sg.c:909:21: sparse:     got int *
   drivers/scsi/sg.c:952:26: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/scsi/sg.c:952:26: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/scsi/sg.c:952:26: sparse:     got int *
   drivers/scsi/sg.c:975:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/scsi/sg.c:975:24: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/scsi/sg.c:975:24: sparse:     got int *
   drivers/scsi/sg.c:995:26: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/scsi/sg.c:995:26: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/scsi/sg.c:995:26: sparse:     got int *
   drivers/scsi/sg.c:1006:40: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/scsi/sg.c:1006:40: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/scsi/sg.c:1006:40: sparse:     got int *
   drivers/scsi/sg.c:1010:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/scsi/sg.c:1010:24: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/scsi/sg.c:1010:24: sparse:     got int *
   drivers/scsi/sg.c:1019:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/scsi/sg.c:1019:24: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/scsi/sg.c:1019:24: sparse:     got int *
   drivers/scsi/sg.c:1021:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/scsi/sg.c:1021:24: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/scsi/sg.c:1021:24: sparse:     got int *
   drivers/scsi/sg.c:1023:26: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/scsi/sg.c:1023:26: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/scsi/sg.c:1023:26: sparse:     got int *
   drivers/scsi/sg.c:1046:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/scsi/sg.c:1046:24: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/scsi/sg.c:1046:24: sparse:     got int *
   drivers/scsi/sg.c:1048:26: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/scsi/sg.c:1048:26: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/scsi/sg.c:1048:26: sparse:     got int *
   drivers/scsi/sg.c:1054:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/scsi/sg.c:1054:24: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/scsi/sg.c:1054:24: sparse:     got int *
   drivers/scsi/sg.c:1056:26: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/scsi/sg.c:1056:26: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/scsi/sg.c:1056:26: sparse:     got int *
   drivers/scsi/sg.c:1062:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/scsi/sg.c:1062:24: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/scsi/sg.c:1062:24: sparse:     got int *
   drivers/scsi/sg.c:1064:26: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/scsi/sg.c:1064:26: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/scsi/sg.c:1064:26: sparse:     got int *
   drivers/scsi/sg.c:1072:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/scsi/sg.c:1072:24: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/scsi/sg.c:1072:24: sparse:     got int *
   drivers/scsi/sg.c:1076:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/scsi/sg.c:1076:24: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/scsi/sg.c:1076:24: sparse:     got int *
   drivers/scsi/sg.c:1102:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/scsi/sg.c:1102:24: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/scsi/sg.c:1102:24: sparse:     got int *
   drivers/scsi/sg.c:1108:26: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/scsi/sg.c:1108:26: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/scsi/sg.c:1108:26: sparse:     got int *
   drivers/scsi/sg.c:1114:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/scsi/sg.c:1114:24: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/scsi/sg.c:1114:24: sparse:     got int *
--
>> drivers/mtd/ubi/cdev.c:467:23: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed int [noderef] __user *__ptr_clean @@     got signed int * @@
   drivers/mtd/ubi/cdev.c:467:23: sparse:     expected signed int [noderef] __user *__ptr_clean
   drivers/mtd/ubi/cdev.c:467:23: sparse:     got signed int *
   drivers/mtd/ubi/cdev.c:512:23: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed int [noderef] __user *__ptr_clean @@     got signed int * @@
   drivers/mtd/ubi/cdev.c:512:23: sparse:     expected signed int [noderef] __user *__ptr_clean
   drivers/mtd/ubi/cdev.c:512:23: sparse:     got signed int *
   drivers/mtd/ubi/cdev.c:526:23: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed int [noderef] __user *__ptr_clean @@     got signed int * @@
   drivers/mtd/ubi/cdev.c:526:23: sparse:     expected signed int [noderef] __user *__ptr_clean
   drivers/mtd/ubi/cdev.c:526:23: sparse:     got signed int *
   drivers/mtd/ubi/cdev.c:869:23: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed int [noderef] __user *__ptr_clean @@     got signed int * @@
   drivers/mtd/ubi/cdev.c:869:23: sparse:     expected signed int [noderef] __user *__ptr_clean
   drivers/mtd/ubi/cdev.c:869:23: sparse:     got signed int *
   drivers/mtd/ubi/cdev.c:882:23: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed int [noderef] __user *__ptr_clean @@     got signed int * @@
   drivers/mtd/ubi/cdev.c:882:23: sparse:     expected signed int [noderef] __user *__ptr_clean
   drivers/mtd/ubi/cdev.c:882:23: sparse:     got signed int *
   drivers/mtd/ubi/cdev.c:969:23: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed int [noderef] __user *__ptr_clean @@     got signed int * @@
   drivers/mtd/ubi/cdev.c:969:23: sparse:     expected signed int [noderef] __user *__ptr_clean
   drivers/mtd/ubi/cdev.c:969:23: sparse:     got signed int *
   drivers/mtd/ubi/cdev.c:984:23: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed int [noderef] __user *__ptr_clean @@     got signed int * @@
   drivers/mtd/ubi/cdev.c:984:23: sparse:     expected signed int [noderef] __user *__ptr_clean
   drivers/mtd/ubi/cdev.c:984:23: sparse:     got signed int *
   drivers/mtd/ubi/cdev.c:1050:31: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed int [noderef] __user *__ptr_clean @@     got signed int * @@
   drivers/mtd/ubi/cdev.c:1050:31: sparse:     expected signed int [noderef] __user *__ptr_clean
   drivers/mtd/ubi/cdev.c:1050:31: sparse:     got signed int *
   drivers/mtd/ubi/cdev.c:1061:23: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed int [noderef] __user *__ptr_clean @@     got signed int * @@
   drivers/mtd/ubi/cdev.c:1061:23: sparse:     expected signed int [noderef] __user *__ptr_clean
   drivers/mtd/ubi/cdev.c:1061:23: sparse:     got signed int *
--
>> drivers/vfio/vfio_main.c:699:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/vfio/vfio_main.c:699:13: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/vfio/vfio_main.c:699:13: sparse:     got int *
--
>> fs/reiserfs/ioctl.c:96:23: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   fs/reiserfs/ioctl.c:96:23: sparse:     expected int [noderef] __user *__ptr_clean
   fs/reiserfs/ioctl.c:96:23: sparse:     got int *
   fs/reiserfs/ioctl.c:106:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   fs/reiserfs/ioctl.c:106:21: sparse:     expected int [noderef] __user *__ptr_clean
   fs/reiserfs/ioctl.c:106:21: sparse:     got int *
--
>> drivers/vhost/scsi.c:1905:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   drivers/vhost/scsi.c:1905:21: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   drivers/vhost/scsi.c:1905:21: sparse:     got unsigned int *
   drivers/vhost/scsi.c:1915:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   drivers/vhost/scsi.c:1915:21: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   drivers/vhost/scsi.c:1915:21: sparse:     got unsigned int *
--
>> drivers/vhost/vhost.c:1607:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   drivers/vhost/vhost.c:1607:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   drivers/vhost/vhost.c:1607:13: sparse:     got unsigned int *
>> drivers/vhost/vhost.c:1805:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/vhost/vhost.c:1805:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/vhost/vhost.c:1805:21: sparse:     got int *
--
>> drivers/watchdog/ibmasr.c:259:37: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected char const [noderef] __user *__ptr_clean @@     got char const * @@
   drivers/watchdog/ibmasr.c:259:37: sparse:     expected char const [noderef] __user *__ptr_clean
   drivers/watchdog/ibmasr.c:259:37: sparse:     got char const *
>> drivers/watchdog/ibmasr.c:286:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/watchdog/ibmasr.c:286:24: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/watchdog/ibmasr.c:286:24: sparse:     got int *
   drivers/watchdog/ibmasr.c:290:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/watchdog/ibmasr.c:290:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/watchdog/ibmasr.c:290:21: sparse:     got int *
   drivers/watchdog/ibmasr.c:312:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/watchdog/ibmasr.c:312:24: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/watchdog/ibmasr.c:312:24: sparse:     got int *
--
>> drivers/watchdog/kempld_wdt.c:349:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/watchdog/kempld_wdt.c:349:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/watchdog/kempld_wdt.c:349:21: sparse:     got int *
   drivers/watchdog/kempld_wdt.c:357:23: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/watchdog/kempld_wdt.c:357:23: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/watchdog/kempld_wdt.c:357:23: sparse:     got int *
--
>> drivers/watchdog/sch311x_wdt.c:232:37: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected char const [noderef] __user *__ptr_clean @@     got char const * @@
   drivers/watchdog/sch311x_wdt.c:232:37: sparse:     expected char const [noderef] __user *__ptr_clean
   drivers/watchdog/sch311x_wdt.c:232:37: sparse:     got char const *
>> drivers/watchdog/sch311x_wdt.c:267:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/watchdog/sch311x_wdt.c:267:24: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/watchdog/sch311x_wdt.c:267:24: sparse:     got int *
   drivers/watchdog/sch311x_wdt.c:270:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/watchdog/sch311x_wdt.c:270:24: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/watchdog/sch311x_wdt.c:270:24: sparse:     got int *
   drivers/watchdog/sch311x_wdt.c:276:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/watchdog/sch311x_wdt.c:276:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/watchdog/sch311x_wdt.c:276:21: sparse:     got int *
   drivers/watchdog/sch311x_wdt.c:293:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/watchdog/sch311x_wdt.c:293:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/watchdog/sch311x_wdt.c:293:21: sparse:     got int *
   drivers/watchdog/sch311x_wdt.c:300:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/watchdog/sch311x_wdt.c:300:24: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/watchdog/sch311x_wdt.c:300:24: sparse:     got int *
--
>> drivers/watchdog/advantechwdt.c:120:37: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected char const [noderef] __user *__ptr_clean @@     got char const * @@
   drivers/watchdog/advantechwdt.c:120:37: sparse:     expected char const [noderef] __user *__ptr_clean
   drivers/watchdog/advantechwdt.c:120:37: sparse:     got char const *
>> drivers/watchdog/advantechwdt.c:152:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/watchdog/advantechwdt.c:152:24: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/watchdog/advantechwdt.c:152:24: sparse:     got int *
   drivers/watchdog/advantechwdt.c:158:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/watchdog/advantechwdt.c:158:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/watchdog/advantechwdt.c:158:21: sparse:     got int *
   drivers/watchdog/advantechwdt.c:175:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/watchdog/advantechwdt.c:175:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/watchdog/advantechwdt.c:175:21: sparse:     got int *
   drivers/watchdog/advantechwdt.c:182:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/watchdog/advantechwdt.c:182:24: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/watchdog/advantechwdt.c:182:24: sparse:     got int *
--
>> drivers/watchdog/sc1200wdt.c:200:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/watchdog/sc1200wdt.c:200:24: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/watchdog/sc1200wdt.c:200:24: sparse:     got int *
   drivers/watchdog/sc1200wdt.c:203:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/watchdog/sc1200wdt.c:203:24: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/watchdog/sc1200wdt.c:203:24: sparse:     got int *
   drivers/watchdog/sc1200wdt.c:209:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/watchdog/sc1200wdt.c:209:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/watchdog/sc1200wdt.c:209:21: sparse:     got int *
   drivers/watchdog/sc1200wdt.c:229:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/watchdog/sc1200wdt.c:229:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/watchdog/sc1200wdt.c:229:21: sparse:     got int *
   drivers/watchdog/sc1200wdt.c:240:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/watchdog/sc1200wdt.c:240:24: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/watchdog/sc1200wdt.c:240:24: sparse:     got int *
>> drivers/watchdog/sc1200wdt.c:276:37: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected char const [noderef] __user *__ptr_clean @@     got char const * @@
   drivers/watchdog/sc1200wdt.c:276:37: sparse:     expected char const [noderef] __user *__ptr_clean
   drivers/watchdog/sc1200wdt.c:276:37: sparse:     got char const *
--
>> drivers/watchdog/pc87413_wdt.c:354:37: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected char const [noderef] __user *__ptr_clean @@     got char const * @@
   drivers/watchdog/pc87413_wdt.c:354:37: sparse:     expected char const [noderef] __user *__ptr_clean
   drivers/watchdog/pc87413_wdt.c:354:37: sparse:     got char const *
>> drivers/watchdog/pc87413_wdt.c:403:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/watchdog/pc87413_wdt.c:403:24: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/watchdog/pc87413_wdt.c:403:24: sparse:     got int *
   drivers/watchdog/pc87413_wdt.c:405:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/watchdog/pc87413_wdt.c:405:24: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/watchdog/pc87413_wdt.c:405:24: sparse:     got int *
   drivers/watchdog/pc87413_wdt.c:409:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/watchdog/pc87413_wdt.c:409:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/watchdog/pc87413_wdt.c:409:21: sparse:     got int *
   drivers/watchdog/pc87413_wdt.c:428:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/watchdog/pc87413_wdt.c:428:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/watchdog/pc87413_wdt.c:428:21: sparse:     got int *
   drivers/watchdog/pc87413_wdt.c:439:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/watchdog/pc87413_wdt.c:439:24: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/watchdog/pc87413_wdt.c:439:24: sparse:     got int *
--
>> drivers/watchdog/w83877f_wdt.c:202:37: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected char const [noderef] __user *__ptr_clean @@     got char const * @@
   drivers/watchdog/w83877f_wdt.c:202:37: sparse:     expected char const [noderef] __user *__ptr_clean
   drivers/watchdog/w83877f_wdt.c:202:37: sparse:     got char const *
>> drivers/watchdog/w83877f_wdt.c:255:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/watchdog/w83877f_wdt.c:255:24: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/watchdog/w83877f_wdt.c:255:24: sparse:     got int *
   drivers/watchdog/w83877f_wdt.c:260:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/watchdog/w83877f_wdt.c:260:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/watchdog/w83877f_wdt.c:260:21: sparse:     got int *
   drivers/watchdog/w83877f_wdt.c:282:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/watchdog/w83877f_wdt.c:282:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/watchdog/w83877f_wdt.c:282:21: sparse:     got int *
   drivers/watchdog/w83877f_wdt.c:294:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/watchdog/w83877f_wdt.c:294:24: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/watchdog/w83877f_wdt.c:294:24: sparse:     got int *
--
>> fs/ext4/ioctl.c:806:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   fs/ext4/ioctl.c:806:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   fs/ext4/ioctl.c:806:13: sparse:     got unsigned int *
>> fs/ext4/ioctl.c:1226:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   fs/ext4/ioctl.c:1226:24: sparse:     expected int [noderef] __user *__ptr_clean
   fs/ext4/ioctl.c:1226:24: sparse:     got int *
   fs/ext4/ioctl.c:1246:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   fs/ext4/ioctl.c:1246:21: sparse:     expected int [noderef] __user *__ptr_clean
   fs/ext4/ioctl.c:1246:21: sparse:     got int *
   fs/ext4/ioctl.c:1280:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   fs/ext4/ioctl.c:1280:21: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   fs/ext4/ioctl.c:1280:21: sparse:     got unsigned int *
   fs/ext4/ioctl.c:1561:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   fs/ext4/ioctl.c:1561:24: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   fs/ext4/ioctl.c:1561:24: sparse:     got unsigned int *
   fs/ext4/ioctl.c:1642:23: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   fs/ext4/ioctl.c:1642:23: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   fs/ext4/ioctl.c:1642:23: sparse:     got unsigned int *
>> fs/ext4/ioctl.c:1643:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned long long [noderef] __user *__ptr_clean @@     got unsigned long long * @@
   fs/ext4/ioctl.c:1643:24: sparse:     expected unsigned long long [noderef] __user *__ptr_clean
   fs/ext4/ioctl.c:1643:24: sparse:     got unsigned long long *
   fs/ext4/ioctl.c:1644:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned long long [noderef] __user *__ptr_clean @@     got unsigned long long * @@
   fs/ext4/ioctl.c:1644:24: sparse:     expected unsigned long long [noderef] __user *__ptr_clean
   fs/ext4/ioctl.c:1644:24: sparse:     got unsigned long long *
   fs/ext4/ioctl.c:1645:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned long long [noderef] __user *__ptr_clean @@     got unsigned long long * @@
   fs/ext4/ioctl.c:1645:24: sparse:     expected unsigned long long [noderef] __user *__ptr_clean
   fs/ext4/ioctl.c:1645:24: sparse:     got unsigned long long *
   fs/ext4/ioctl.c:1646:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   fs/ext4/ioctl.c:1646:24: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   fs/ext4/ioctl.c:1646:24: sparse:     got unsigned int *
>> fs/ext4/ioctl.c:1647:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned short [noderef] __user *__ptr_clean @@     got unsigned short * @@
   fs/ext4/ioctl.c:1647:24: sparse:     expected unsigned short [noderef] __user *__ptr_clean
   fs/ext4/ioctl.c:1647:24: sparse:     got unsigned short *
--
>> fs/fat/file.c:32:16: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   fs/fat/file.c:32:16: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   fs/fat/file.c:32:16: sparse:     got unsigned int *
   fs/fat/file.c:44:15: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   fs/fat/file.c:44:15: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   fs/fat/file.c:44:15: sparse:     got unsigned int *
   fs/fat/file.c:123:16: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   fs/fat/file.c:123:16: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   fs/fat/file.c:123:16: sparse:     got unsigned int *
--
>> fs/fat/dir.c:759:1: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected char [noderef] __user *__ptr_clean @@     got char * @@
   fs/fat/dir.c:759:1: sparse:     expected char [noderef] __user *__ptr_clean
   fs/fat/dir.c:759:1: sparse:     got char *
>> fs/fat/dir.c:759:1: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned short [noderef] __user *__ptr_clean @@     got unsigned short * @@
   fs/fat/dir.c:759:1: sparse:     expected unsigned short [noderef] __user *__ptr_clean
   fs/fat/dir.c:759:1: sparse:     got unsigned short *
>> fs/fat/dir.c:759:1: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected char [noderef] __user *__ptr_clean @@     got char * @@
   fs/fat/dir.c:759:1: sparse:     expected char [noderef] __user *__ptr_clean
   fs/fat/dir.c:759:1: sparse:     got char *
>> fs/fat/dir.c:759:1: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned short [noderef] __user *__ptr_clean @@     got unsigned short * @@
   fs/fat/dir.c:759:1: sparse:     expected unsigned short [noderef] __user *__ptr_clean
   fs/fat/dir.c:759:1: sparse:     got unsigned short *
>> fs/fat/dir.c:759:1: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected char [noderef] __user *__ptr_clean @@     got char * @@
   fs/fat/dir.c:759:1: sparse:     expected char [noderef] __user *__ptr_clean
   fs/fat/dir.c:759:1: sparse:     got char *
>> fs/fat/dir.c:759:1: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned short [noderef] __user *__ptr_clean @@     got unsigned short * @@
   fs/fat/dir.c:759:1: sparse:     expected unsigned short [noderef] __user *__ptr_clean
   fs/fat/dir.c:759:1: sparse:     got unsigned short *
>> fs/fat/dir.c:759:1: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected long [noderef] __user *__ptr_clean @@     got long * @@
   fs/fat/dir.c:759:1: sparse:     expected long [noderef] __user *__ptr_clean
   fs/fat/dir.c:759:1: sparse:     got long *
>> fs/fat/dir.c:759:1: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected long [noderef] __user *__ptr_clean @@     got long * @@
   fs/fat/dir.c:759:1: sparse:     expected long [noderef] __user *__ptr_clean
   fs/fat/dir.c:759:1: sparse:     got long *
>> fs/fat/dir.c:759:1: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected char [noderef] __user *__ptr_clean @@     got char * @@
   fs/fat/dir.c:759:1: sparse:     expected char [noderef] __user *__ptr_clean
   fs/fat/dir.c:759:1: sparse:     got char *
>> fs/fat/dir.c:759:1: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned short [noderef] __user *__ptr_clean @@     got unsigned short * @@
   fs/fat/dir.c:759:1: sparse:     expected unsigned short [noderef] __user *__ptr_clean
   fs/fat/dir.c:759:1: sparse:     got unsigned short *
   fs/fat/dir.c:812:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned short [noderef] __user *__ptr_clean @@     got unsigned short * @@
   fs/fat/dir.c:812:13: sparse:     expected unsigned short [noderef] __user *__ptr_clean
   fs/fat/dir.c:812:13: sparse:     got unsigned short *
   fs/fat/dir.c:823:1: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected char [noderef] __user *__ptr_clean @@     got char * @@
   fs/fat/dir.c:823:1: sparse:     expected char [noderef] __user *__ptr_clean
   fs/fat/dir.c:823:1: sparse:     got char *
   fs/fat/dir.c:823:1: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned short [noderef] __user *__ptr_clean @@     got unsigned short * @@
   fs/fat/dir.c:823:1: sparse:     expected unsigned short [noderef] __user *__ptr_clean
   fs/fat/dir.c:823:1: sparse:     got unsigned short *
   fs/fat/dir.c:823:1: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected char [noderef] __user *__ptr_clean @@     got char * @@
   fs/fat/dir.c:823:1: sparse:     expected char [noderef] __user *__ptr_clean
   fs/fat/dir.c:823:1: sparse:     got char *
   fs/fat/dir.c:823:1: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned short [noderef] __user *__ptr_clean @@     got unsigned short * @@
   fs/fat/dir.c:823:1: sparse:     expected unsigned short [noderef] __user *__ptr_clean
   fs/fat/dir.c:823:1: sparse:     got unsigned short *
   fs/fat/dir.c:823:1: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected char [noderef] __user *__ptr_clean @@     got char * @@
   fs/fat/dir.c:823:1: sparse:     expected char [noderef] __user *__ptr_clean
   fs/fat/dir.c:823:1: sparse:     got char *
   fs/fat/dir.c:823:1: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned short [noderef] __user *__ptr_clean @@     got unsigned short * @@
   fs/fat/dir.c:823:1: sparse:     expected unsigned short [noderef] __user *__ptr_clean
   fs/fat/dir.c:823:1: sparse:     got unsigned short *
>> fs/fat/dir.c:823:1: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   fs/fat/dir.c:823:1: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   fs/fat/dir.c:823:1: sparse:     got unsigned int *
>> fs/fat/dir.c:823:1: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed int [noderef] __user *__ptr_clean @@     got signed int * @@
   fs/fat/dir.c:823:1: sparse:     expected signed int [noderef] __user *__ptr_clean
   fs/fat/dir.c:823:1: sparse:     got signed int *
   fs/fat/dir.c:823:1: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected char [noderef] __user *__ptr_clean @@     got char * @@
   fs/fat/dir.c:823:1: sparse:     expected char [noderef] __user *__ptr_clean
   fs/fat/dir.c:823:1: sparse:     got char *
   fs/fat/dir.c:823:1: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned short [noderef] __user *__ptr_clean @@     got unsigned short * @@
   fs/fat/dir.c:823:1: sparse:     expected unsigned short [noderef] __user *__ptr_clean
   fs/fat/dir.c:823:1: sparse:     got unsigned short *
   fs/fat/dir.c:850:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned short [noderef] __user *__ptr_clean @@     got unsigned short * @@
   fs/fat/dir.c:850:13: sparse:     expected unsigned short [noderef] __user *__ptr_clean
   fs/fat/dir.c:850:13: sparse:     got unsigned short *
--
>> drivers/auxdisplay/charlcd.c:482:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected char const [noderef] __user *__ptr_clean @@     got char const * @@
   drivers/auxdisplay/charlcd.c:482:21: sparse:     expected char const [noderef] __user *__ptr_clean
   drivers/auxdisplay/charlcd.c:482:21: sparse:     got char const *
--
>> drivers/auxdisplay/panel.c:1041:17: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected char [noderef] __user *__ptr_clean @@     got char * @@
   drivers/auxdisplay/panel.c:1041:17: sparse:     expected char [noderef] __user *__ptr_clean
   drivers/auxdisplay/panel.c:1041:17: sparse:     got char *
--
>> drivers/cdrom/cdrom.c:3284:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed int [noderef] __user *__ptr_clean @@     got signed int * @@
   drivers/cdrom/cdrom.c:3284:24: sparse:     expected signed int [noderef] __user *__ptr_clean
   drivers/cdrom/cdrom.c:3284:24: sparse:     got signed int *
>> drivers/cdrom/cdrom.c:3286:16: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected long [noderef] __user *__ptr_clean @@     got long * @@
   drivers/cdrom/cdrom.c:3286:16: sparse:     expected long [noderef] __user *__ptr_clean
   drivers/cdrom/cdrom.c:3286:16: sparse:     got long *
--
>> fs/jfs/jfs_debug.c:36:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected char const [noderef] __user *__ptr_clean @@     got char const * @@
   fs/jfs/jfs_debug.c:36:13: sparse:     expected char const [noderef] __user *__ptr_clean
   fs/jfs/jfs_debug.c:36:13: sparse:     got char const *
--
>> fs/xfs/xfs_ioctl32.c:51:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned long long [noderef] __user *__ptr_clean @@     got unsigned long long * @@
   fs/xfs/xfs_ioctl32.c:51:13: sparse:     expected unsigned long long [noderef] __user *__ptr_clean
   fs/xfs/xfs_ioctl32.c:51:13: sparse:     got unsigned long long *
>> fs/xfs/xfs_ioctl32.c:52:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   fs/xfs/xfs_ioctl32.c:52:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   fs/xfs/xfs_ioctl32.c:52:13: sparse:     got unsigned int *
   fs/xfs/xfs_ioctl32.c:62:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned long long [noderef] __user *__ptr_clean @@     got unsigned long long * @@
   fs/xfs/xfs_ioctl32.c:62:13: sparse:     expected unsigned long long [noderef] __user *__ptr_clean
   fs/xfs/xfs_ioctl32.c:62:13: sparse:     got unsigned long long *
   fs/xfs/xfs_ioctl32.c:63:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   fs/xfs/xfs_ioctl32.c:63:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   fs/xfs/xfs_ioctl32.c:63:13: sparse:     got unsigned int *
   fs/xfs/xfs_ioctl32.c:79:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned long long [noderef] __user *__ptr_clean @@     got unsigned long long * @@
   fs/xfs/xfs_ioctl32.c:79:13: sparse:     expected unsigned long long [noderef] __user *__ptr_clean
   fs/xfs/xfs_ioctl32.c:79:13: sparse:     got unsigned long long *
>> fs/xfs/xfs_ioctl32.c:80:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed int [noderef] __user *__ptr_clean @@     got signed int * @@
   fs/xfs/xfs_ioctl32.c:80:13: sparse:     expected signed int [noderef] __user *__ptr_clean
   fs/xfs/xfs_ioctl32.c:80:13: sparse:     got signed int *
   fs/xfs/xfs_ioctl32.c:81:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned long long [noderef] __user *__ptr_clean @@     got unsigned long long * @@
   fs/xfs/xfs_ioctl32.c:81:13: sparse:     expected unsigned long long [noderef] __user *__ptr_clean
   fs/xfs/xfs_ioctl32.c:81:13: sparse:     got unsigned long long *
   fs/xfs/xfs_ioctl32.c:98:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed int [noderef] __user *__ptr_clean @@     got signed int * @@
   fs/xfs/xfs_ioctl32.c:98:13: sparse:     expected signed int [noderef] __user *__ptr_clean
   fs/xfs/xfs_ioctl32.c:98:13: sparse:     got signed int *
   fs/xfs/xfs_ioctl32.c:99:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed int [noderef] __user *__ptr_clean @@     got signed int * @@
   fs/xfs/xfs_ioctl32.c:99:13: sparse:     expected signed int [noderef] __user *__ptr_clean
   fs/xfs/xfs_ioctl32.c:99:13: sparse:     got signed int *
   fs/xfs/xfs_ioctl32.c:114:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned long long [noderef] __user *__ptr_clean @@     got unsigned long long * @@
   fs/xfs/xfs_ioctl32.c:114:13: sparse:     expected unsigned long long [noderef] __user *__ptr_clean
   fs/xfs/xfs_ioctl32.c:114:13: sparse:     got unsigned long long *
>> fs/xfs/xfs_ioctl32.c:115:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned short [noderef] __user *__ptr_clean @@     got unsigned short * @@
   fs/xfs/xfs_ioctl32.c:115:13: sparse:     expected unsigned short [noderef] __user *__ptr_clean
   fs/xfs/xfs_ioctl32.c:115:13: sparse:     got unsigned short *
   fs/xfs/xfs_ioctl32.c:116:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned short [noderef] __user *__ptr_clean @@     got unsigned short * @@
   fs/xfs/xfs_ioctl32.c:116:13: sparse:     expected unsigned short [noderef] __user *__ptr_clean
   fs/xfs/xfs_ioctl32.c:116:13: sparse:     got unsigned short *
   fs/xfs/xfs_ioctl32.c:117:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   fs/xfs/xfs_ioctl32.c:117:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   fs/xfs/xfs_ioctl32.c:117:13: sparse:     got unsigned int *
   fs/xfs/xfs_ioctl32.c:118:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   fs/xfs/xfs_ioctl32.c:118:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   fs/xfs/xfs_ioctl32.c:118:13: sparse:     got unsigned int *
   fs/xfs/xfs_ioctl32.c:119:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   fs/xfs/xfs_ioctl32.c:119:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   fs/xfs/xfs_ioctl32.c:119:13: sparse:     got unsigned int *
   fs/xfs/xfs_ioctl32.c:120:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed int [noderef] __user *__ptr_clean @@     got signed int * @@
   fs/xfs/xfs_ioctl32.c:120:13: sparse:     expected signed int [noderef] __user *__ptr_clean
   fs/xfs/xfs_ioctl32.c:120:13: sparse:     got signed int *
>> fs/xfs/xfs_ioctl32.c:121:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed long long [noderef] __user *__ptr_clean @@     got signed long long * @@
   fs/xfs/xfs_ioctl32.c:121:13: sparse:     expected signed long long [noderef] __user *__ptr_clean
   fs/xfs/xfs_ioctl32.c:121:13: sparse:     got signed long long *
   fs/xfs/xfs_ioctl32.c:125:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed long long [noderef] __user *__ptr_clean @@     got signed long long * @@
   fs/xfs/xfs_ioctl32.c:125:13: sparse:     expected signed long long [noderef] __user *__ptr_clean
   fs/xfs/xfs_ioctl32.c:125:13: sparse:     got signed long long *
   fs/xfs/xfs_ioctl32.c:126:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed long long [noderef] __user *__ptr_clean @@     got signed long long * @@
   fs/xfs/xfs_ioctl32.c:126:13: sparse:     expected signed long long [noderef] __user *__ptr_clean
   fs/xfs/xfs_ioctl32.c:126:13: sparse:     got signed long long *
   fs/xfs/xfs_ioctl32.c:127:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed int [noderef] __user *__ptr_clean @@     got signed int * @@
   fs/xfs/xfs_ioctl32.c:127:13: sparse:     expected signed int [noderef] __user *__ptr_clean
   fs/xfs/xfs_ioctl32.c:127:13: sparse:     got signed int *
   fs/xfs/xfs_ioctl32.c:128:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed int [noderef] __user *__ptr_clean @@     got signed int * @@
   fs/xfs/xfs_ioctl32.c:128:13: sparse:     expected signed int [noderef] __user *__ptr_clean
   fs/xfs/xfs_ioctl32.c:128:13: sparse:     got signed int *
   fs/xfs/xfs_ioctl32.c:129:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   fs/xfs/xfs_ioctl32.c:129:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   fs/xfs/xfs_ioctl32.c:129:13: sparse:     got unsigned int *
   fs/xfs/xfs_ioctl32.c:130:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned short [noderef] __user *__ptr_clean @@     got unsigned short * @@
   fs/xfs/xfs_ioctl32.c:130:13: sparse:     expected unsigned short [noderef] __user *__ptr_clean
   fs/xfs/xfs_ioctl32.c:130:13: sparse:     got unsigned short *
   fs/xfs/xfs_ioctl32.c:131:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned short [noderef] __user *__ptr_clean @@     got unsigned short * @@
   fs/xfs/xfs_ioctl32.c:131:13: sparse:     expected unsigned short [noderef] __user *__ptr_clean
   fs/xfs/xfs_ioctl32.c:131:13: sparse:     got unsigned short *
   fs/xfs/xfs_ioctl32.c:132:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned short [noderef] __user *__ptr_clean @@     got unsigned short * @@
   fs/xfs/xfs_ioctl32.c:132:13: sparse:     expected unsigned short [noderef] __user *__ptr_clean
   fs/xfs/xfs_ioctl32.c:132:13: sparse:     got unsigned short *
   fs/xfs/xfs_ioctl32.c:133:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   fs/xfs/xfs_ioctl32.c:133:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   fs/xfs/xfs_ioctl32.c:133:13: sparse:     got unsigned int *
   fs/xfs/xfs_ioctl32.c:134:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned short [noderef] __user *__ptr_clean @@     got unsigned short * @@
   fs/xfs/xfs_ioctl32.c:134:13: sparse:     expected unsigned short [noderef] __user *__ptr_clean
   fs/xfs/xfs_ioctl32.c:134:13: sparse:     got unsigned short *
   fs/xfs/xfs_ioctl32.c:135:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned short [noderef] __user *__ptr_clean @@     got unsigned short * @@
   fs/xfs/xfs_ioctl32.c:135:13: sparse:     expected unsigned short [noderef] __user *__ptr_clean
   fs/xfs/xfs_ioctl32.c:135:13: sparse:     got unsigned short *
   fs/xfs/xfs_ioctl32.c:150:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed int [noderef] __user *__ptr_clean @@     got signed int * @@
   fs/xfs/xfs_ioctl32.c:150:13: sparse:     expected signed int [noderef] __user *__ptr_clean
   fs/xfs/xfs_ioctl32.c:150:13: sparse:     got signed int *
   fs/xfs/xfs_ioctl32.c:151:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed int [noderef] __user *__ptr_clean @@     got signed int * @@
   fs/xfs/xfs_ioctl32.c:151:13: sparse:     expected signed int [noderef] __user *__ptr_clean
   fs/xfs/xfs_ioctl32.c:151:13: sparse:     got signed int *
   fs/xfs/xfs_ioctl32.c:168:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned long long [noderef] __user *__ptr_clean @@     got unsigned long long * @@
   fs/xfs/xfs_ioctl32.c:168:13: sparse:     expected unsigned long long [noderef] __user *__ptr_clean
   fs/xfs/xfs_ioctl32.c:168:13: sparse:     got unsigned long long *
   fs/xfs/xfs_ioctl32.c:169:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned short [noderef] __user *__ptr_clean @@     got unsigned short * @@
   fs/xfs/xfs_ioctl32.c:169:13: sparse:     expected unsigned short [noderef] __user *__ptr_clean
   fs/xfs/xfs_ioctl32.c:169:13: sparse:     got unsigned short *
   fs/xfs/xfs_ioctl32.c:170:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned short [noderef] __user *__ptr_clean @@     got unsigned short * @@
   fs/xfs/xfs_ioctl32.c:170:13: sparse:     expected unsigned short [noderef] __user *__ptr_clean
   fs/xfs/xfs_ioctl32.c:170:13: sparse:     got unsigned short *
   fs/xfs/xfs_ioctl32.c:171:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   fs/xfs/xfs_ioctl32.c:171:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   fs/xfs/xfs_ioctl32.c:171:13: sparse:     got unsigned int *
   fs/xfs/xfs_ioctl32.c:172:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   fs/xfs/xfs_ioctl32.c:172:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   fs/xfs/xfs_ioctl32.c:172:13: sparse:     got unsigned int *
   fs/xfs/xfs_ioctl32.c:173:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   fs/xfs/xfs_ioctl32.c:173:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   fs/xfs/xfs_ioctl32.c:173:13: sparse:     got unsigned int *
   fs/xfs/xfs_ioctl32.c:174:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed int [noderef] __user *__ptr_clean @@     got signed int * @@
   fs/xfs/xfs_ioctl32.c:174:13: sparse:     expected signed int [noderef] __user *__ptr_clean
   fs/xfs/xfs_ioctl32.c:174:13: sparse:     got signed int *
   fs/xfs/xfs_ioctl32.c:175:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed long long [noderef] __user *__ptr_clean @@     got signed long long * @@
   fs/xfs/xfs_ioctl32.c:175:13: sparse:     expected signed long long [noderef] __user *__ptr_clean
   fs/xfs/xfs_ioctl32.c:175:13: sparse:     got signed long long *
   fs/xfs/xfs_ioctl32.c:179:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed long long [noderef] __user *__ptr_clean @@     got signed long long * @@
   fs/xfs/xfs_ioctl32.c:179:13: sparse:     expected signed long long [noderef] __user *__ptr_clean
   fs/xfs/xfs_ioctl32.c:179:13: sparse:     got signed long long *
   fs/xfs/xfs_ioctl32.c:180:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   fs/xfs/xfs_ioctl32.c:180:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   fs/xfs/xfs_ioctl32.c:180:13: sparse:     got unsigned int *
   fs/xfs/xfs_ioctl32.c:181:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed int [noderef] __user *__ptr_clean @@     got signed int * @@
   fs/xfs/xfs_ioctl32.c:181:13: sparse:     expected signed int [noderef] __user *__ptr_clean
   fs/xfs/xfs_ioctl32.c:181:13: sparse:     got signed int *
   fs/xfs/xfs_ioctl32.c:182:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed int [noderef] __user *__ptr_clean @@     got signed int * @@
   fs/xfs/xfs_ioctl32.c:182:13: sparse:     expected signed int [noderef] __user *__ptr_clean
   fs/xfs/xfs_ioctl32.c:182:13: sparse:     got signed int *
   fs/xfs/xfs_ioctl32.c:183:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   fs/xfs/xfs_ioctl32.c:183:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   fs/xfs/xfs_ioctl32.c:183:13: sparse:     got unsigned int *
   fs/xfs/xfs_ioctl32.c:184:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned short [noderef] __user *__ptr_clean @@     got unsigned short * @@
   fs/xfs/xfs_ioctl32.c:184:13: sparse:     expected unsigned short [noderef] __user *__ptr_clean
   fs/xfs/xfs_ioctl32.c:184:13: sparse:     got unsigned short *
   fs/xfs/xfs_ioctl32.c:185:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned short [noderef] __user *__ptr_clean @@     got unsigned short * @@
   fs/xfs/xfs_ioctl32.c:185:13: sparse:     expected unsigned short [noderef] __user *__ptr_clean
   fs/xfs/xfs_ioctl32.c:185:13: sparse:     got unsigned short *
   fs/xfs/xfs_ioctl32.c:186:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned short [noderef] __user *__ptr_clean @@     got unsigned short * @@
   fs/xfs/xfs_ioctl32.c:186:13: sparse:     expected unsigned short [noderef] __user *__ptr_clean
   fs/xfs/xfs_ioctl32.c:186:13: sparse:     got unsigned short *
   fs/xfs/xfs_ioctl32.c:187:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   fs/xfs/xfs_ioctl32.c:187:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   fs/xfs/xfs_ioctl32.c:187:13: sparse:     got unsigned int *
   fs/xfs/xfs_ioctl32.c:188:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned short [noderef] __user *__ptr_clean @@     got unsigned short * @@
   fs/xfs/xfs_ioctl32.c:188:13: sparse:     expected unsigned short [noderef] __user *__ptr_clean
   fs/xfs/xfs_ioctl32.c:188:13: sparse:     got unsigned short *
   fs/xfs/xfs_ioctl32.c:189:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned short [noderef] __user *__ptr_clean @@     got unsigned short * @@
   fs/xfs/xfs_ioctl32.c:189:13: sparse:     expected unsigned short [noderef] __user *__ptr_clean
   fs/xfs/xfs_ioctl32.c:189:13: sparse:     got unsigned short *
   fs/xfs/xfs_ioctl32.c:246:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   fs/xfs/xfs_ioctl32.c:246:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
--
>> fs/xfs/xfs_ioctl.c:1431:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed long long [noderef] __user *__ptr_clean @@     got signed long long * @@
   fs/xfs/xfs_ioctl.c:1431:13: sparse:     expected signed long long [noderef] __user *__ptr_clean
   fs/xfs/xfs_ioctl.c:1431:13: sparse:     got signed long long *
   fs/xfs/xfs_ioctl.c:1432:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed long long [noderef] __user *__ptr_clean @@     got signed long long * @@
   fs/xfs/xfs_ioctl.c:1432:13: sparse:     expected signed long long [noderef] __user *__ptr_clean
   fs/xfs/xfs_ioctl.c:1432:13: sparse:     got signed long long *
   fs/xfs/xfs_ioctl.c:1433:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed long long [noderef] __user *__ptr_clean @@     got signed long long * @@
   fs/xfs/xfs_ioctl.c:1433:13: sparse:     expected signed long long [noderef] __user *__ptr_clean
   fs/xfs/xfs_ioctl.c:1433:13: sparse:     got signed long long *
>> fs/xfs/xfs_ioctl.c:1434:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed int [noderef] __user *__ptr_clean @@     got signed int * @@
   fs/xfs/xfs_ioctl.c:1434:13: sparse:     expected signed int [noderef] __user *__ptr_clean
   fs/xfs/xfs_ioctl.c:1434:13: sparse:     got signed int *
   fs/xfs/xfs_ioctl.c:1435:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed int [noderef] __user *__ptr_clean @@     got signed int * @@
   fs/xfs/xfs_ioctl.c:1435:13: sparse:     expected signed int [noderef] __user *__ptr_clean
   fs/xfs/xfs_ioctl.c:1435:13: sparse:     got signed int *
   fs/xfs/xfs_ioctl.c:1439:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed int [noderef] __user *__ptr_clean @@     got signed int * @@
   fs/xfs/xfs_ioctl.c:1439:13: sparse:     expected signed int [noderef] __user *__ptr_clean
   fs/xfs/xfs_ioctl.c:1439:13: sparse:     got signed int *
   fs/xfs/xfs_ioctl.c:1440:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed int [noderef] __user *__ptr_clean @@     got signed int * @@
   fs/xfs/xfs_ioctl.c:1440:13: sparse:     expected signed int [noderef] __user *__ptr_clean
   fs/xfs/xfs_ioctl.c:1440:13: sparse:     got signed int *
   fs/xfs/xfs_ioctl.c:1441:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed int [noderef] __user *__ptr_clean @@     got signed int * @@
   fs/xfs/xfs_ioctl.c:1441:13: sparse:     expected signed int [noderef] __user *__ptr_clean
   fs/xfs/xfs_ioctl.c:1441:13: sparse:     got signed int *
   fs/xfs/xfs_ioctl.c:1442:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed int [noderef] __user *__ptr_clean @@     got signed int * @@
   fs/xfs/xfs_ioctl.c:1442:13: sparse:     expected signed int [noderef] __user *__ptr_clean
   fs/xfs/xfs_ioctl.c:1442:13: sparse:     got signed int *
>> fs/xfs/xfs_ioctl.c:1945:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   fs/xfs/xfs_ioctl.c:1945:24: sparse:     expected int [noderef] __user *__ptr_clean
   fs/xfs/xfs_ioctl.c:1945:24: sparse:     got int *
>> fs/xfs/xfs_ioctl.c:2107:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   fs/xfs/xfs_ioctl.c:2107:21: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   fs/xfs/xfs_ioctl.c:2107:21: sparse:     got unsigned int *
--
>> fs/ext2/ioctl.c:65:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   fs/ext2/ioctl.c:65:24: sparse:     expected int [noderef] __user *__ptr_clean
   fs/ext2/ioctl.c:65:24: sparse:     got int *
   fs/ext2/ioctl.c:74:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   fs/ext2/ioctl.c:74:21: sparse:     expected int [noderef] __user *__ptr_clean
   fs/ext2/ioctl.c:74:21: sparse:     got int *
   fs/ext2/ioctl.c:94:32: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   fs/ext2/ioctl.c:94:32: sparse:     expected int [noderef] __user *__ptr_clean
   fs/ext2/ioctl.c:94:32: sparse:     got int *
   fs/ext2/ioctl.c:105:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   fs/ext2/ioctl.c:105:21: sparse:     expected int [noderef] __user *__ptr_clean
   fs/ext2/ioctl.c:105:21: sparse:     got int *
--
   fs/autofs/root.c:812:16: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   fs/autofs/root.c:812:16: sparse:     expected int [noderef] __user *__ptr_clean
   fs/autofs/root.c:812:16: sparse:     got int *
   fs/autofs/root.c:819:16: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   fs/autofs/root.c:819:16: sparse:     expected int [noderef] __user *__ptr_clean
   fs/autofs/root.c:819:16: sparse:     got int *
   fs/autofs/root.c:790:14: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned long [noderef] __user *__ptr_clean @@     got unsigned long * @@
   fs/autofs/root.c:790:14: sparse:     expected unsigned long [noderef] __user *__ptr_clean
   fs/autofs/root.c:790:14: sparse:     got unsigned long *
   fs/autofs/root.c:794:14: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned long [noderef] __user *__ptr_clean @@     got unsigned long * @@
   fs/autofs/root.c:794:14: sparse:     expected unsigned long [noderef] __user *__ptr_clean
   fs/autofs/root.c:794:14: sparse:     got unsigned long *
>> fs/autofs/root.c:765:14: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   fs/autofs/root.c:765:14: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   fs/autofs/root.c:765:14: sparse:     got unsigned int *
   fs/autofs/root.c:769:14: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   fs/autofs/root.c:769:14: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   fs/autofs/root.c:769:14: sparse:     got unsigned int *
   fs/autofs/root.c:834:18: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   fs/autofs/root.c:834:18: sparse:     expected int [noderef] __user *__ptr_clean
   fs/autofs/root.c:834:18: sparse:     got int *
--
>> fs/fuse/dev.c:2261:22: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   fs/fuse/dev.c:2261:22: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   fs/fuse/dev.c:2261:22: sparse:     got unsigned int *
--
>> block/ioctl.c:58:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   block/ioctl.c:58:13: sparse:     expected int [noderef] __user *__ptr_clean
   block/ioctl.c:58:13: sparse:     got int *
>> block/ioctl.c:58:39: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void [noderef] __user *[noderef] __user *__ptr_clean @@     got void [noderef] __user ** @@
   block/ioctl.c:58:39: sparse:     expected void [noderef] __user *[noderef] __user *__ptr_clean
   block/ioctl.c:58:39: sparse:     got void [noderef] __user **
>> block/ioctl.c:78:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed int [noderef] __user *__ptr_clean @@     got signed int * @@
   block/ioctl.c:78:13: sparse:     expected signed int [noderef] __user *__ptr_clean
   block/ioctl.c:78:13: sparse:     got signed int *
>> block/ioctl.c:78:39: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   block/ioctl.c:78:39: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   block/ioctl.c:78:39: sparse:     got unsigned int *
>> block/ioctl.c:197:16: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned short [noderef] __user *__ptr_clean @@     got unsigned short * @@
   block/ioctl.c:197:16: sparse:     expected unsigned short [noderef] __user *__ptr_clean
   block/ioctl.c:197:16: sparse:     got unsigned short *
   block/ioctl.c:202:16: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   block/ioctl.c:202:16: sparse:     expected int [noderef] __user *__ptr_clean
   block/ioctl.c:202:16: sparse:     got int *
   block/ioctl.c:207:16: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   block/ioctl.c:207:16: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   block/ioctl.c:207:16: sparse:     got unsigned int *
>> block/ioctl.c:212:16: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected long [noderef] __user *__ptr_clean @@     got long * @@
   block/ioctl.c:212:16: sparse:     expected long [noderef] __user *__ptr_clean
   block/ioctl.c:212:16: sparse:     got long *
>> block/ioctl.c:217:16: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned long [noderef] __user *__ptr_clean @@     got unsigned long * @@
   block/ioctl.c:217:16: sparse:     expected unsigned long [noderef] __user *__ptr_clean
   block/ioctl.c:217:16: sparse:     got unsigned long *
>> block/ioctl.c:222:16: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned long long [noderef] __user *__ptr_clean @@     got unsigned long long * @@
   block/ioctl.c:222:16: sparse:     expected unsigned long long [noderef] __user *__ptr_clean
   block/ioctl.c:222:16: sparse:     got unsigned long long *
   block/ioctl.c:228:16: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed int [noderef] __user *__ptr_clean @@     got signed int * @@
   block/ioctl.c:228:16: sparse:     expected signed int [noderef] __user *__ptr_clean
   block/ioctl.c:228:16: sparse:     got signed int *
   block/ioctl.c:233:16: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   block/ioctl.c:233:16: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   block/ioctl.c:233:16: sparse:     got unsigned int *
   block/ioctl.c:365:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   block/ioctl.c:365:13: sparse:     expected int [noderef] __user *__ptr_clean
   block/ioctl.c:365:13: sparse:     got int *
   block/ioctl.c:433:16: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   block/ioctl.c:433:16: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   block/ioctl.c:433:16: sparse:     got unsigned int *
   block/ioctl.c:451:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   block/ioctl.c:451:13: sparse:     expected int [noderef] __user *__ptr_clean
   block/ioctl.c:451:13: sparse:     got int *
--
>> block/bsg.c:87:16: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   block/bsg.c:87:16: sparse:     expected int [noderef] __user *__ptr_clean
   block/bsg.c:87:16: sparse:     got int *
   block/bsg.c:94:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   block/bsg.c:94:13: sparse:     expected int [noderef] __user *__ptr_clean
   block/bsg.c:94:13: sparse:     got int *
   block/bsg.c:123:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   block/bsg.c:123:24: sparse:     expected int [noderef] __user *__ptr_clean
   block/bsg.c:123:24: sparse:     got int *
   block/bsg.c:125:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   block/bsg.c:125:24: sparse:     expected int [noderef] __user *__ptr_clean
   block/bsg.c:125:24: sparse:     got int *
   block/bsg.c:127:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   block/bsg.c:127:24: sparse:     expected int [noderef] __user *__ptr_clean
   block/bsg.c:127:24: sparse:     got int *
   block/bsg.c:129:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   block/bsg.c:129:21: sparse:     expected int [noderef] __user *__ptr_clean
   block/bsg.c:129:21: sparse:     got int *
   block/bsg.c:136:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   block/bsg.c:136:24: sparse:     expected int [noderef] __user *__ptr_clean
   block/bsg.c:136:24: sparse:     got int *
   block/bsg.c:139:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   block/bsg.c:139:21: sparse:     expected int [noderef] __user *__ptr_clean
   block/bsg.c:139:21: sparse:     got int *
   block/bsg.c:147:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   block/bsg.c:147:24: sparse:     expected int [noderef] __user *__ptr_clean
   block/bsg.c:147:24: sparse:     got int *
--
>> fs/exec.c:412:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int const [noderef] __user *__ptr_clean @@     got unsigned int const * @@
   fs/exec.c:412:21: sparse:     expected unsigned int const [noderef] __user *__ptr_clean
   fs/exec.c:412:21: sparse:     got unsigned int const *
   fs/exec.c:413:39: sparse: sparse: incorrect type in return expression (different address spaces) @@     expected char const [noderef] __user * @@     got void * @@
   fs/exec.c:413:39: sparse:     expected char const [noderef] __user *
   fs/exec.c:413:39: sparse:     got void *
   fs/exec.c:419:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected char const [noderef] __user *const [noderef] __user *__ptr_clean @@     got char const [noderef] __user *const * @@
   fs/exec.c:419:13: sparse:     expected char const [noderef] __user *const [noderef] __user *__ptr_clean
   fs/exec.c:419:13: sparse:     got char const [noderef] __user *const *
   fs/exec.c:420:31: sparse: sparse: incorrect type in return expression (different address spaces) @@     expected char const [noderef] __user * @@     got void * @@
   fs/exec.c:420:31: sparse:     expected char const [noderef] __user *
   fs/exec.c:420:31: sparse:     got void *
   fs/exec.c:1045:48: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected struct sighand_struct *oldsighand @@     got struct sighand_struct [noderef] __rcu *sighand @@
   fs/exec.c:1045:48: sparse:     expected struct sighand_struct *oldsighand
   fs/exec.c:1045:48: sparse:     got struct sighand_struct [noderef] __rcu *sighand
   fs/exec.c:1152:56: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected struct task_struct *parent @@     got struct task_struct [noderef] __rcu *parent @@
   fs/exec.c:1152:56: sparse:     expected struct task_struct *parent
   fs/exec.c:1152:56: sparse:     got struct task_struct [noderef] __rcu *parent
   fs/exec.c:1187:47: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected struct sighand_struct *oldsighand @@     got struct sighand_struct [noderef] __rcu *sighand @@
   fs/exec.c:1187:47: sparse:     expected struct sighand_struct *oldsighand
   fs/exec.c:1187:47: sparse:     got struct sighand_struct [noderef] __rcu *sighand
   fs/exec.c:1301:26: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct spinlock [usertype] *lock @@     got struct spinlock [noderef] __rcu * @@
   fs/exec.c:1301:26: sparse:     expected struct spinlock [usertype] *lock
   fs/exec.c:1301:26: sparse:     got struct spinlock [noderef] __rcu *
   fs/exec.c:1303:28: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct spinlock [usertype] *lock @@     got struct spinlock [noderef] __rcu * @@
   fs/exec.c:1303:28: sparse:     expected struct spinlock [usertype] *lock
   fs/exec.c:1303:28: sparse:     got struct spinlock [noderef] __rcu *
   fs/exec.c:1759:70: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct task_struct *tsk @@     got struct task_struct [noderef] __rcu *parent @@
   fs/exec.c:1759:70: sparse:     expected struct task_struct *tsk
   fs/exec.c:1759:70: sparse:     got struct task_struct [noderef] __rcu *parent
--
   fs/readdir.c:293:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned long [noderef] __user *__ptr_clean @@     got unsigned long * @@
   fs/readdir.c:293:21: sparse:     expected unsigned long [noderef] __user *__ptr_clean
   fs/readdir.c:293:21: sparse:     got unsigned long *
   fs/readdir.c:377:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed long long [noderef] __user *__ptr_clean @@     got signed long long * @@
   fs/readdir.c:377:21: sparse:     expected signed long long [noderef] __user *__ptr_clean
   fs/readdir.c:377:21: sparse:     got signed long long *
>> fs/readdir.c:544:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   fs/readdir.c:544:21: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   fs/readdir.c:544:21: sparse:     got unsigned int *
--
   fs/compat_binfmt_elf.c: note: in included file:
>> fs/binfmt_elf.c:326:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   fs/binfmt_elf.c:326:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   fs/binfmt_elf.c:326:13: sparse:     got unsigned int *
   fs/binfmt_elf.c:333:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   fs/binfmt_elf.c:333:21: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   fs/binfmt_elf.c:333:21: sparse:     got unsigned int *
   fs/binfmt_elf.c:340:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   fs/binfmt_elf.c:340:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   fs/binfmt_elf.c:340:13: sparse:     got unsigned int *
   fs/binfmt_elf.c:348:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   fs/binfmt_elf.c:348:21: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   fs/binfmt_elf.c:348:21: sparse:     got unsigned int *
   fs/binfmt_elf.c:355:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   fs/binfmt_elf.c:355:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   fs/binfmt_elf.c:355:13: sparse:     got unsigned int *
--
   fs/aio.c:616:24: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void [noderef] __percpu *__pdata @@     got struct kioctx_cpu *cpu @@
   fs/aio.c:616:24: sparse:     expected void [noderef] __percpu *__pdata
   fs/aio.c:616:24: sparse:     got struct kioctx_cpu *cpu
   fs/aio.c:782:18: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct kioctx_cpu *cpu @@     got struct kioctx_cpu [noderef] __percpu * @@
   fs/aio.c:782:18: sparse:     expected struct kioctx_cpu *cpu
   fs/aio.c:782:18: sparse:     got struct kioctx_cpu [noderef] __percpu *
   fs/aio.c:829:24: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void [noderef] __percpu *__pdata @@     got struct kioctx_cpu *cpu @@
   fs/aio.c:829:24: sparse:     expected void [noderef] __percpu *__pdata
   fs/aio.c:829:24: sparse:     got struct kioctx_cpu *cpu
   fs/aio.c:934:16: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] __percpu *__vpp_verify @@     got struct kioctx_cpu * @@
   fs/aio.c:934:16: sparse:     expected void const [noderef] __percpu *__vpp_verify
   fs/aio.c:934:16: sparse:     got struct kioctx_cpu *
   fs/aio.c:952:16: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] __percpu *__vpp_verify @@     got struct kioctx_cpu * @@
   fs/aio.c:952:16: sparse:     expected void const [noderef] __percpu *__vpp_verify
   fs/aio.c:952:16: sparse:     got struct kioctx_cpu *
>> fs/aio.c:1078:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   fs/aio.c:1078:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   fs/aio.c:1078:13: sparse:     got unsigned int *
   fs/aio.c:1958:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   fs/aio.c:1958:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   fs/aio.c:1958:13: sparse:     got unsigned int *
>> fs/aio.c:1341:15: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned long [noderef] __user *__ptr_clean @@     got unsigned long * @@
   fs/aio.c:1341:15: sparse:     expected unsigned long [noderef] __user *__ptr_clean
   fs/aio.c:1341:15: sparse:     got unsigned long *
   fs/aio.c:1355:23: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned long [noderef] __user *__ptr_clean @@     got unsigned long * @@
   fs/aio.c:1355:23: sparse:     expected unsigned long [noderef] __user *__ptr_clean
   fs/aio.c:1355:23: sparse:     got unsigned long *
   fs/aio.c:1372:15: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   fs/aio.c:1372:15: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   fs/aio.c:1372:15: sparse:     got unsigned int *
   fs/aio.c:1387:23: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   fs/aio.c:1387:23: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   fs/aio.c:1387:23: sparse:     got unsigned int *
   fs/aio.c:1653:13: sparse: sparse: context imbalance in 'poll_iocb_lock_wq' - different lock contexts for basic block
   fs/aio.c:1684:13: sparse: sparse: context imbalance in 'poll_iocb_unlock_wq' - unexpected unlock
>> fs/aio.c:2073:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct iocb [noderef] __user *[noderef] __user *__ptr_clean @@     got struct iocb [noderef] __user ** @@
   fs/aio.c:2073:21: sparse:     expected struct iocb [noderef] __user *[noderef] __user *__ptr_clean
   fs/aio.c:2073:21: sparse:     got struct iocb [noderef] __user **
   fs/aio.c:2115:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   fs/aio.c:2115:21: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   fs/aio.c:2115:21: sparse:     got unsigned int *
   fs/aio.c:2151:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   fs/aio.c:2151:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   fs/aio.c:2151:13: sparse:     got unsigned int *
--
   fs/read_write.c:1297:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected long [noderef] __user *__ptr_clean @@     got long * @@
   fs/read_write.c:1297:21: sparse:     expected long [noderef] __user *__ptr_clean
   fs/read_write.c:1297:21: sparse:     got long *
   fs/read_write.c:1301:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected long [noderef] __user *__ptr_clean @@     got long * @@
   fs/read_write.c:1301:21: sparse:     expected long [noderef] __user *__ptr_clean
   fs/read_write.c:1301:21: sparse:     got long *
   fs/read_write.c:1318:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected long long [noderef] __user *__ptr_clean @@     got long long * @@
   fs/read_write.c:1318:21: sparse:     expected long long [noderef] __user *__ptr_clean
   fs/read_write.c:1318:21: sparse:     got long long *
>> fs/read_write.c:1335:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed int [noderef] __user *__ptr_clean @@     got signed int * @@
   fs/read_write.c:1335:21: sparse:     expected signed int [noderef] __user *__ptr_clean
   fs/read_write.c:1335:21: sparse:     got signed int *
   fs/read_write.c:1339:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed int [noderef] __user *__ptr_clean @@     got signed int * @@
   fs/read_write.c:1339:21: sparse:     expected signed int [noderef] __user *__ptr_clean
   fs/read_write.c:1339:21: sparse:     got signed int *
>> fs/read_write.c:1357:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed long long [noderef] __user *__ptr_clean @@     got signed long long * @@
   fs/read_write.c:1357:21: sparse:     expected signed long long [noderef] __user *__ptr_clean
   fs/read_write.c:1357:21: sparse:     got signed long long *
--
>> ipc/syscall.c:153:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   ipc/syscall.c:153:21: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   ipc/syscall.c:153:21: sparse:     got unsigned int *
   ipc/syscall.c:192:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   ipc/syscall.c:192:24: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   ipc/syscall.c:192:24: sparse:     got unsigned int *
--
>> ipc/msg.c:685:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   ipc/msg.c:685:21: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   ipc/msg.c:685:21: sparse:     got unsigned int *
>> ipc/msg.c:691:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned short [noderef] __user *__ptr_clean @@     got unsigned short * @@
   ipc/msg.c:691:21: sparse:     expected unsigned short [noderef] __user *__ptr_clean
   ipc/msg.c:691:21: sparse:     got unsigned short *
>> ipc/msg.c:966:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected long [noderef] __user *__ptr_clean @@     got long * @@
   ipc/msg.c:966:13: sparse:     expected long [noderef] __user *__ptr_clean
   ipc/msg.c:966:13: sparse:     got long *
>> ipc/msg.c:990:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed int [noderef] __user *__ptr_clean @@     got signed int * @@
   ipc/msg.c:990:13: sparse:     expected signed int [noderef] __user *__ptr_clean
   ipc/msg.c:990:13: sparse:     got signed int *
   ipc/msg.c:1031:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected long [noderef] __user *__ptr_clean @@     got long * @@
   ipc/msg.c:1031:13: sparse:     expected long [noderef] __user *__ptr_clean
   ipc/msg.c:1031:13: sparse:     got long *
   ipc/msg.c:1282:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed int [noderef] __user *__ptr_clean @@     got signed int * @@
   ipc/msg.c:1282:13: sparse:     expected signed int [noderef] __user *__ptr_clean
   ipc/msg.c:1282:13: sparse:     got signed int *
   ipc/msg.c:181:26: sparse: sparse: context imbalance in 'newque' - unexpected unlock
--
>> arch/x86/entry/common.c:161:23: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   arch/x86/entry/common.c:161:23: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   arch/x86/entry/common.c:161:23: sparse:     got unsigned int *
--
>> kernel/rseq.c:111:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   kernel/rseq.c:111:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   kernel/rseq.c:111:13: sparse:     got unsigned int *
   kernel/rseq.c:118:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   kernel/rseq.c:118:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   kernel/rseq.c:118:13: sparse:     got unsigned int *
>> kernel/rseq.c:132:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned long long [noderef] __user *__ptr_clean @@     got unsigned long long * @@
   kernel/rseq.c:132:13: sparse:     expected unsigned long long [noderef] __user *__ptr_clean
   kernel/rseq.c:132:13: sparse:     got unsigned long long *
   kernel/rseq.c:161:15: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   kernel/rseq.c:161:15: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   kernel/rseq.c:161:15: sparse:     got unsigned int *
   kernel/rseq.c:183:15: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   kernel/rseq.c:183:15: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   kernel/rseq.c:183:15: sparse:     got unsigned int *
   kernel/rseq.c:213:16: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned long long [noderef] __user *__ptr_clean @@     got unsigned long long * @@
   kernel/rseq.c:213:16: sparse:     expected unsigned long long [noderef] __user *__ptr_clean
   kernel/rseq.c:213:16: sparse:     got unsigned long long *
--
>> kernel/compat.c:50:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   kernel/compat.c:50:21: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   kernel/compat.c:50:21: sparse:     got unsigned int *
   kernel/compat.c:74:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   kernel/compat.c:74:21: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   kernel/compat.c:74:21: sparse:     got unsigned int *
--
   kernel/ptrace.c:54:22: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/ptrace.c:54:22: sparse:    struct task_struct *
   kernel/ptrace.c:54:22: sparse:    struct task_struct [noderef] __rcu *
   kernel/ptrace.c:73:23: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct task_struct [noderef] __rcu *parent @@     got struct task_struct *new_parent @@
   kernel/ptrace.c:73:23: sparse:     expected struct task_struct [noderef] __rcu *parent
   kernel/ptrace.c:73:23: sparse:     got struct task_struct *new_parent
   kernel/ptrace.c:74:29: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct cred const [noderef] __rcu *ptracer_cred @@     got struct cred const * @@
   kernel/ptrace.c:74:29: sparse:     expected struct cred const [noderef] __rcu *ptracer_cred
   kernel/ptrace.c:74:29: sparse:     got struct cred const *
   kernel/ptrace.c:128:18: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct cred const *old_cred @@     got struct cred const [noderef] __rcu *ptracer_cred @@
   kernel/ptrace.c:128:18: sparse:     expected struct cred const *old_cred
   kernel/ptrace.c:128:18: sparse:     got struct cred const [noderef] __rcu *ptracer_cred
   kernel/ptrace.c:132:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct spinlock [usertype] *lock @@     got struct spinlock [noderef] __rcu * @@
   kernel/ptrace.c:132:25: sparse:     expected struct spinlock [usertype] *lock
   kernel/ptrace.c:132:25: sparse:     got struct spinlock [noderef] __rcu *
   kernel/ptrace.c:170:27: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct spinlock [usertype] *lock @@     got struct spinlock [noderef] __rcu * @@
   kernel/ptrace.c:170:27: sparse:     expected struct spinlock [usertype] *lock
   kernel/ptrace.c:170:27: sparse:     got struct spinlock [noderef] __rcu *
   kernel/ptrace.c:202:28: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct spinlock [usertype] *lock @@     got struct spinlock [noderef] __rcu * @@
   kernel/ptrace.c:202:28: sparse:     expected struct spinlock [usertype] *lock
   kernel/ptrace.c:202:28: sparse:     got struct spinlock [noderef] __rcu *
   kernel/ptrace.c:208:30: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct spinlock [usertype] *lock @@     got struct spinlock [noderef] __rcu * @@
   kernel/ptrace.c:208:30: sparse:     expected struct spinlock [usertype] *lock
   kernel/ptrace.c:208:30: sparse:     got struct spinlock [noderef] __rcu *
   kernel/ptrace.c:261:44: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/ptrace.c:261:44: sparse:    struct task_struct [noderef] __rcu *
   kernel/ptrace.c:261:44: sparse:    struct task_struct *
   kernel/ptrace.c:452:24: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct spinlock [usertype] *lock @@     got struct spinlock [noderef] __rcu * @@
   kernel/ptrace.c:452:24: sparse:     expected struct spinlock [usertype] *lock
   kernel/ptrace.c:452:24: sparse:     got struct spinlock [noderef] __rcu *
   kernel/ptrace.c:477:26: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct spinlock [usertype] *lock @@     got struct spinlock [noderef] __rcu * @@
   kernel/ptrace.c:477:26: sparse:     expected struct spinlock [usertype] *lock
   kernel/ptrace.c:477:26: sparse:     got struct spinlock [noderef] __rcu *
   kernel/ptrace.c:513:54: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct task_struct *parent @@     got struct task_struct [noderef] __rcu *parent @@
   kernel/ptrace.c:513:54: sparse:     expected struct task_struct *parent
   kernel/ptrace.c:513:54: sparse:     got struct task_struct [noderef] __rcu *parent
   kernel/ptrace.c:521:53: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected struct task_struct *new_parent @@     got struct task_struct [noderef] __rcu *real_parent @@
   kernel/ptrace.c:521:53: sparse:     expected struct task_struct *new_parent
   kernel/ptrace.c:521:53: sparse:     got struct task_struct [noderef] __rcu *real_parent
   kernel/ptrace.c:569:41: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct task_struct *p1 @@     got struct task_struct [noderef] __rcu *real_parent @@
   kernel/ptrace.c:569:41: sparse:     expected struct task_struct *p1
   kernel/ptrace.c:569:41: sparse:     got struct task_struct [noderef] __rcu *real_parent
   kernel/ptrace.c:571:50: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct sighand_struct *sigh @@     got struct sighand_struct [noderef] __rcu *sighand @@
   kernel/ptrace.c:571:50: sparse:     expected struct sighand_struct *sigh
   kernel/ptrace.c:571:50: sparse:     got struct sighand_struct [noderef] __rcu *sighand
   kernel/ptrace.c:762:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct spinlock [usertype] *lock @@     got struct spinlock [noderef] __rcu * @@
   kernel/ptrace.c:762:37: sparse:     expected struct spinlock [usertype] *lock
   kernel/ptrace.c:762:37: sparse:     got struct spinlock [noderef] __rcu *
   kernel/ptrace.c:770:39: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct spinlock [usertype] *lock @@     got struct spinlock [noderef] __rcu * @@
   kernel/ptrace.c:770:39: sparse:     expected struct spinlock [usertype] *lock
   kernel/ptrace.c:770:39: sparse:     got struct spinlock [noderef] __rcu *
   kernel/ptrace.c:881:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct spinlock [usertype] *lock @@     got struct spinlock [noderef] __rcu * @@
   kernel/ptrace.c:881:29: sparse:     expected struct spinlock [usertype] *lock
   kernel/ptrace.c:881:29: sparse:     got struct spinlock [noderef] __rcu *
   kernel/ptrace.c:885:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct spinlock [usertype] *lock @@     got struct spinlock [noderef] __rcu * @@
   kernel/ptrace.c:885:31: sparse:     expected struct spinlock [usertype] *lock
   kernel/ptrace.c:885:31: sparse:     got struct spinlock [noderef] __rcu *
   kernel/ptrace.c:1055:23: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned long [noderef] __user *__ptr_clean @@     got unsigned long * @@
   kernel/ptrace.c:1055:23: sparse:     expected unsigned long [noderef] __user *__ptr_clean
   kernel/ptrace.c:1055:23: sparse:     got unsigned long *
   kernel/ptrace.c:1115:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct spinlock [usertype] *lock @@     got struct spinlock [noderef] __rcu * @@
   kernel/ptrace.c:1115:37: sparse:     expected struct spinlock [usertype] *lock
   kernel/ptrace.c:1115:37: sparse:     got struct spinlock [noderef] __rcu *
   kernel/ptrace.c:1117:39: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct spinlock [usertype] *lock @@     got struct spinlock [noderef] __rcu * @@
   kernel/ptrace.c:1117:39: sparse:     expected struct spinlock [usertype] *lock
   kernel/ptrace.c:1117:39: sparse:     got struct spinlock [noderef] __rcu *
   kernel/ptrace.c:1315:16: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned long [noderef] __user *__ptr_clean @@     got unsigned long * @@
   kernel/ptrace.c:1315:16: sparse:     expected unsigned long [noderef] __user *__ptr_clean
   kernel/ptrace.c:1315:16: sparse:     got unsigned long *
>> kernel/ptrace.c:1346:31: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   kernel/ptrace.c:1346:31: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   kernel/ptrace.c:1346:31: sparse:     got unsigned int *
   kernel/ptrace.c:1357:23: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   kernel/ptrace.c:1357:23: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   kernel/ptrace.c:1357:23: sparse:     got unsigned int *
   kernel/ptrace.c: note: in included file (through include/linux/rcuwait.h, include/linux/percpu-rwsem.h, include/linux/fs.h, ...):
   include/linux/sched/signal.h:753:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct spinlock [usertype] *lock @@     got struct spinlock [noderef] __rcu * @@
   include/linux/sched/signal.h:753:37: sparse:     expected struct spinlock [usertype] *lock
   include/linux/sched/signal.h:753:37: sparse:     got struct spinlock [noderef] __rcu *
   kernel/ptrace.c:519:38: sparse: sparse: dereference of noderef expression
   include/linux/sched/signal.h:753:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct spinlock [usertype] *lock @@     got struct spinlock [noderef] __rcu * @@
   include/linux/sched/signal.h:753:37: sparse:     expected struct spinlock [usertype] *lock
   include/linux/sched/signal.h:753:37: sparse:     got struct spinlock [noderef] __rcu *
   kernel/ptrace.c:709:9: sparse: sparse: context imbalance in 'ptrace_getsiginfo' - different lock contexts for basic block
   include/linux/sched/signal.h:753:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct spinlock [usertype] *lock @@     got struct spinlock [noderef] __rcu * @@
   include/linux/sched/signal.h:753:37: sparse:     expected struct spinlock [usertype] *lock
   include/linux/sched/signal.h:753:37: sparse:     got struct spinlock [noderef] __rcu *
   kernel/ptrace.c:725:9: sparse: sparse: context imbalance in 'ptrace_setsiginfo' - different lock contexts for basic block
   include/linux/sched/signal.h:753:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct spinlock [usertype] *lock @@     got struct spinlock [noderef] __rcu * @@
   include/linux/sched/signal.h:753:37: sparse:     expected struct spinlock [usertype] *lock
   include/linux/sched/signal.h:753:37: sparse:     got struct spinlock [noderef] __rcu *
   include/linux/sched/signal.h:753:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct spinlock [usertype] *lock @@     got struct spinlock [noderef] __rcu * @@
   include/linux/sched/signal.h:753:37: sparse:     expected struct spinlock [usertype] *lock
   include/linux/sched/signal.h:753:37: sparse:     got struct spinlock [noderef] __rcu *
   kernel/ptrace.c:1266:9: sparse: sparse: context imbalance in 'ptrace_request' - different lock contexts for basic block
--
   kernel/signal.c:3198:31: sparse:     expected struct spinlock [usertype] *lock
   kernel/signal.c:3198:31: sparse:     got struct spinlock [noderef] __rcu *
   kernel/signal.c:3201:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct spinlock [usertype] *lock @@     got struct spinlock [noderef] __rcu * @@
   kernel/signal.c:3201:33: sparse:     expected struct spinlock [usertype] *lock
   kernel/signal.c:3201:33: sparse:     got struct spinlock [noderef] __rcu *
   kernel/signal.c:3590:27: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct spinlock [usertype] *lock @@     got struct spinlock [noderef] __rcu * @@
   kernel/signal.c:3590:27: sparse:     expected struct spinlock [usertype] *lock
   kernel/signal.c:3590:27: sparse:     got struct spinlock [noderef] __rcu *
   kernel/signal.c:3602:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct spinlock [usertype] *lock @@     got struct spinlock [noderef] __rcu * @@
   kernel/signal.c:3602:37: sparse:     expected struct spinlock [usertype] *lock
   kernel/signal.c:3602:37: sparse:     got struct spinlock [noderef] __rcu *
   kernel/signal.c:3607:35: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct spinlock [usertype] *lock @@     got struct spinlock [noderef] __rcu * @@
   kernel/signal.c:3607:35: sparse:     expected struct spinlock [usertype] *lock
   kernel/signal.c:3607:35: sparse:     got struct spinlock [noderef] __rcu *
   kernel/signal.c:3612:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct spinlock [usertype] *lock @@     got struct spinlock [noderef] __rcu * @@
   kernel/signal.c:3612:29: sparse:     expected struct spinlock [usertype] *lock
   kernel/signal.c:3612:29: sparse:     got struct spinlock [noderef] __rcu *
   kernel/signal.c:4066:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct spinlock [usertype] *lock @@     got struct spinlock [noderef] __rcu * @@
   kernel/signal.c:4066:31: sparse:     expected struct spinlock [usertype] *lock
   kernel/signal.c:4066:31: sparse:     got struct spinlock [noderef] __rcu *
   kernel/signal.c:4078:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct spinlock [usertype] *lock @@     got struct spinlock [noderef] __rcu * @@
   kernel/signal.c:4078:33: sparse:     expected struct spinlock [usertype] *lock
   kernel/signal.c:4078:33: sparse:     got struct spinlock [noderef] __rcu *
   kernel/signal.c:4096:11: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct k_sigaction *k @@     got struct k_sigaction [noderef] __rcu * @@
   kernel/signal.c:4096:11: sparse:     expected struct k_sigaction *k
   kernel/signal.c:4096:11: sparse:     got struct k_sigaction [noderef] __rcu *
   kernel/signal.c:4098:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct spinlock [usertype] *lock @@     got struct spinlock [noderef] __rcu * @@
   kernel/signal.c:4098:25: sparse:     expected struct spinlock [usertype] *lock
   kernel/signal.c:4098:25: sparse:     got struct spinlock [noderef] __rcu *
   kernel/signal.c:4100:35: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct spinlock [usertype] *lock @@     got struct spinlock [noderef] __rcu * @@
   kernel/signal.c:4100:35: sparse:     expected struct spinlock [usertype] *lock
   kernel/signal.c:4100:35: sparse:     got struct spinlock [noderef] __rcu *
   kernel/signal.c:4148:27: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct spinlock [usertype] *lock @@     got struct spinlock [noderef] __rcu * @@
   kernel/signal.c:4148:27: sparse:     expected struct spinlock [usertype] *lock
   kernel/signal.c:4148:27: sparse:     got struct spinlock [noderef] __rcu *
   kernel/signal.c:69:34: sparse: sparse: dereference of noderef expression
   kernel/signal.c:529:35: sparse: sparse: dereference of noderef expression
   kernel/signal.c:557:52: sparse: sparse: dereference of noderef expression
   kernel/signal.c:1039:13: sparse: sparse: dereference of noderef expression
   kernel/signal.c: note: in included file:
   include/linux/signalfd.h:21:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct wait_queue_head *wq_head @@     got struct wait_queue_head [noderef] __rcu * @@
   include/linux/signalfd.h:21:13: sparse:     expected struct wait_queue_head *wq_head
   include/linux/signalfd.h:21:13: sparse:     got struct wait_queue_head [noderef] __rcu *
   include/linux/signalfd.h:22:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct wait_queue_head *wq_head @@     got struct wait_queue_head [noderef] __rcu * @@
   include/linux/signalfd.h:22:17: sparse:     expected struct wait_queue_head *wq_head
   include/linux/signalfd.h:22:17: sparse:     got struct wait_queue_head [noderef] __rcu *
   kernel/signal.c: note: in included file (through include/linux/sched/cputime.h):
   include/linux/sched/signal.h:753:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct spinlock [usertype] *lock @@     got struct spinlock [noderef] __rcu * @@
   include/linux/sched/signal.h:753:37: sparse:     expected struct spinlock [usertype] *lock
   include/linux/sched/signal.h:753:37: sparse:     got struct spinlock [noderef] __rcu *
   kernel/signal.c:1300:9: sparse: sparse: context imbalance in 'do_send_sig_info' - different lock contexts for basic block
   kernel/signal.c: note: in included file (through include/linux/rbtree.h, include/linux/mm_types.h, include/linux/mmzone.h, ...):
   include/linux/rcupdate.h:769:9: sparse: sparse: context imbalance in '__lock_task_sighand' - different lock contexts for basic block
   kernel/signal.c: note: in included file (through include/linux/sched/cputime.h):
   include/linux/sched/signal.h:753:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct spinlock [usertype] *lock @@     got struct spinlock [noderef] __rcu * @@
   include/linux/sched/signal.h:753:37: sparse:     expected struct spinlock [usertype] *lock
   include/linux/sched/signal.h:753:37: sparse:     got struct spinlock [noderef] __rcu *
   kernel/signal.c: note: in included file:
   include/linux/signalfd.h:21:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct wait_queue_head *wq_head @@     got struct wait_queue_head [noderef] __rcu * @@
   include/linux/signalfd.h:21:13: sparse:     expected struct wait_queue_head *wq_head
   include/linux/signalfd.h:21:13: sparse:     got struct wait_queue_head [noderef] __rcu *
   include/linux/signalfd.h:22:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct wait_queue_head *wq_head @@     got struct wait_queue_head [noderef] __rcu * @@
   include/linux/signalfd.h:22:17: sparse:     expected struct wait_queue_head *wq_head
   include/linux/signalfd.h:22:17: sparse:     got struct wait_queue_head [noderef] __rcu *
   kernel/signal.c: note: in included file (through include/linux/sched/cputime.h):
   include/linux/sched/signal.h:753:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct spinlock [usertype] *lock @@     got struct spinlock [noderef] __rcu * @@
   include/linux/sched/signal.h:753:37: sparse:     expected struct spinlock [usertype] *lock
   include/linux/sched/signal.h:753:37: sparse:     got struct spinlock [noderef] __rcu *
   kernel/signal.c: note: in included file (through include/linux/rcupdate.h, include/linux/rbtree.h, include/linux/mm_types.h, ...):
   include/linux/rcutiny.h:164:44: sparse: sparse: context imbalance in 'send_sigqueue' - wrong count at exit
   kernel/signal.c:2069:40: sparse: sparse: dereference of noderef expression
   kernel/signal.c:2069:40: sparse: sparse: dereference of noderef expression
   kernel/signal.c:2069:40: sparse: sparse: dereference of noderef expression
   kernel/signal.c:2069:40: sparse: sparse: dereference of noderef expression
   kernel/signal.c: note: in included file (through include/uapi/asm-generic/bpf_perf_event.h, arch/x86/include/generated/uapi/asm/bpf_perf_event.h, ...):
   include/linux/ptrace.h:92:40: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct task_struct *p1 @@     got struct task_struct [noderef] __rcu *real_parent @@
   include/linux/ptrace.h:92:40: sparse:     expected struct task_struct *p1
   include/linux/ptrace.h:92:40: sparse:     got struct task_struct [noderef] __rcu *real_parent
   include/linux/ptrace.h:92:60: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected struct task_struct *p2 @@     got struct task_struct [noderef] __rcu *parent @@
   include/linux/ptrace.h:92:60: sparse:     expected struct task_struct *p2
   include/linux/ptrace.h:92:60: sparse:     got struct task_struct [noderef] __rcu *parent
   kernel/signal.c:2384:13: sparse: sparse: context imbalance in 'do_signal_stop' - different lock contexts for basic block
   kernel/signal.c:2591:49: sparse: sparse: dereference of noderef expression
   kernel/signal.c:2591:49: sparse: sparse: dereference of noderef expression
   kernel/signal.c:2591:49: sparse: sparse: dereference of noderef expression
   kernel/signal.c:2591:49: sparse: sparse: dereference of noderef expression
   include/linux/ptrace.h:92:40: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct task_struct *p1 @@     got struct task_struct [noderef] __rcu *real_parent @@
   include/linux/ptrace.h:92:40: sparse:     expected struct task_struct *p1
   include/linux/ptrace.h:92:40: sparse:     got struct task_struct [noderef] __rcu *real_parent
   include/linux/ptrace.h:92:60: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected struct task_struct *p2 @@     got struct task_struct [noderef] __rcu *parent @@
   include/linux/ptrace.h:92:60: sparse:     expected struct task_struct *p2
   include/linux/ptrace.h:92:60: sparse:     got struct task_struct [noderef] __rcu *parent
   kernel/signal.c:2711:33: sparse: sparse: context imbalance in 'get_signal' - unexpected unlock
   kernel/signal.c:4067:33: sparse: sparse: dereference of noderef expression
   kernel/signal.c:4156:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct spinlock [usertype] *lock @@     got struct spinlock [noderef] __rcu * @@
   kernel/signal.c:4156:31: sparse:     expected struct spinlock [usertype] *lock
   kernel/signal.c:4156:31: sparse:     got struct spinlock [noderef] __rcu *
   kernel/signal.c:4162:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct spinlock [usertype] *lock @@     got struct spinlock [noderef] __rcu * @@
   kernel/signal.c:4162:33: sparse:     expected struct spinlock [usertype] *lock
   kernel/signal.c:4162:33: sparse:     got struct spinlock [noderef] __rcu *
>> kernel/signal.c:4345:16: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   kernel/signal.c:4345:16: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   kernel/signal.c:4345:16: sparse:     got unsigned int *
>> kernel/signal.c:4452:23: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int const [noderef] __user *__ptr_clean @@     got unsigned int const * @@
   kernel/signal.c:4452:23: sparse:     expected unsigned int const [noderef] __user *__ptr_clean
   kernel/signal.c:4452:23: sparse:     got unsigned int const *
   kernel/signal.c:4455:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int const [noderef] __user *__ptr_clean @@     got unsigned int const * @@
   kernel/signal.c:4455:24: sparse:     expected unsigned int const [noderef] __user *__ptr_clean
   kernel/signal.c:4455:24: sparse:     got unsigned int const *
   kernel/signal.c:4459:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int const [noderef] __user *__ptr_clean @@     got unsigned int const * @@
   kernel/signal.c:4459:24: sparse:     expected unsigned int const [noderef] __user *__ptr_clean
   kernel/signal.c:4459:24: sparse:     got unsigned int const *
   kernel/signal.c:4466:23: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   kernel/signal.c:4466:23: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   kernel/signal.c:4466:23: sparse:     got unsigned int *
   kernel/signal.c:4470:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   kernel/signal.c:4470:24: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   kernel/signal.c:4470:24: sparse:     got unsigned int *
   kernel/signal.c:4472:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   kernel/signal.c:4472:24: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   kernel/signal.c:4472:24: sparse:     got unsigned int *
--
>> arch/x86/kernel/tls.c:138:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   arch/x86/kernel/tls.c:138:21: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   arch/x86/kernel/tls.c:138:21: sparse:     got unsigned int *
   arch/x86/kernel/tls.c:220:26: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   arch/x86/kernel/tls.c:220:26: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   arch/x86/kernel/tls.c:220:26: sparse:     got unsigned int *
--
   arch/x86/kernel/ptrace.c:741:23: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned long [noderef] __user *__ptr_clean @@     got unsigned long * @@
   arch/x86/kernel/ptrace.c:741:23: sparse:     expected unsigned long [noderef] __user *__ptr_clean
   arch/x86/kernel/ptrace.c:741:23: sparse:     got unsigned long *
>> arch/x86/kernel/ptrace.c:1057:31: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   arch/x86/kernel/ptrace.c:1057:31: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   arch/x86/kernel/ptrace.c:1057:31: sparse:     got unsigned int *
   arch/x86/kernel/ptrace.c:1140:23: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   arch/x86/kernel/ptrace.c:1140:23: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   arch/x86/kernel/ptrace.c:1140:23: sparse:     got unsigned int *
--
>> net/compat.c:154:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   net/compat.c:154:21: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   net/compat.c:154:21: sparse:     got unsigned int *
>> net/compat.c:306:23: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed int [noderef] __user *__ptr_clean @@     got signed int * @@
   net/compat.c:306:23: sparse:     expected signed int [noderef] __user *__ptr_clean
   net/compat.c:306:23: sparse:     got signed int *
   net/compat.c:308:31: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed int [noderef] __user *__ptr_clean @@     got signed int * @@
   net/compat.c:308:31: sparse:     expected signed int [noderef] __user *__ptr_clean
   net/compat.c:308:31: sparse:     got signed int *
   net/compat.c:310:31: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   net/compat.c:310:31: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   net/compat.c:310:31: sparse:     got unsigned int *
--
>> drivers/android/binder.c:3780:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   drivers/android/binder.c:3780:21: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   drivers/android/binder.c:3780:21: sparse:     got unsigned int *
   drivers/android/binder.c:3800:29: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   drivers/android/binder.c:3800:29: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   drivers/android/binder.c:3800:29: sparse:     got unsigned int *
>> drivers/android/binder.c:3867:29: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned long long [noderef] __user *__ptr_clean @@     got unsigned long long * @@
   drivers/android/binder.c:3867:29: sparse:     expected unsigned long long [noderef] __user *__ptr_clean
   drivers/android/binder.c:3867:29: sparse:     got unsigned long long *
   drivers/android/binder.c:3870:29: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned long long [noderef] __user *__ptr_clean @@     got unsigned long long * @@
   drivers/android/binder.c:3870:29: sparse:     expected unsigned long long [noderef] __user *__ptr_clean
   drivers/android/binder.c:3870:29: sparse:     got unsigned long long *
   drivers/android/binder.c:3939:29: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned long long [noderef] __user *__ptr_clean @@     got unsigned long long * @@
   drivers/android/binder.c:3939:29: sparse:     expected unsigned long long [noderef] __user *__ptr_clean
   drivers/android/binder.c:3939:29: sparse:     got unsigned long long *
   drivers/android/binder.c:4036:29: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   drivers/android/binder.c:4036:29: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   drivers/android/binder.c:4036:29: sparse:     got unsigned int *
   drivers/android/binder.c:4039:29: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned long long [noderef] __user *__ptr_clean @@     got unsigned long long * @@
   drivers/android/binder.c:4039:29: sparse:     expected unsigned long long [noderef] __user *__ptr_clean
   drivers/android/binder.c:4039:29: sparse:     got unsigned long long *
   drivers/android/binder.c:4158:29: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned long long [noderef] __user *__ptr_clean @@     got unsigned long long * @@
   drivers/android/binder.c:4158:29: sparse:     expected unsigned long long [noderef] __user *__ptr_clean
   drivers/android/binder.c:4158:29: sparse:     got unsigned long long *
   drivers/android/binder.c:4234:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   drivers/android/binder.c:4234:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   drivers/android/binder.c:4234:13: sparse:     got unsigned int *
   drivers/android/binder.c:4238:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned long long [noderef] __user *__ptr_clean @@     got unsigned long long * @@
   drivers/android/binder.c:4238:13: sparse:     expected unsigned long long [noderef] __user *__ptr_clean
   drivers/android/binder.c:4238:13: sparse:     got unsigned long long *
   drivers/android/binder.c:4242:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned long long [noderef] __user *__ptr_clean @@     got unsigned long long * @@
   drivers/android/binder.c:4242:13: sparse:     expected unsigned long long [noderef] __user *__ptr_clean
   drivers/android/binder.c:4242:13: sparse:     got unsigned long long *
   drivers/android/binder.c:4352:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   drivers/android/binder.c:4352:21: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   drivers/android/binder.c:4352:21: sparse:     got unsigned int *
   drivers/android/binder.c:4434:29: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   drivers/android/binder.c:4434:29: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   drivers/android/binder.c:4434:29: sparse:     got unsigned int *
   drivers/android/binder.c:4452:29: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   drivers/android/binder.c:4452:29: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   drivers/android/binder.c:4452:29: sparse:     got unsigned int *
   drivers/android/binder.c:4578:29: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   drivers/android/binder.c:4578:29: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   drivers/android/binder.c:4578:29: sparse:     got unsigned int *
   drivers/android/binder.c:4581:29: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned long long [noderef] __user *__ptr_clean @@     got unsigned long long * @@
   drivers/android/binder.c:4581:29: sparse:     expected unsigned long long [noderef] __user *__ptr_clean
   drivers/android/binder.c:4581:29: sparse:     got unsigned long long *
   drivers/android/binder.c:4653:37: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   drivers/android/binder.c:4653:37: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   drivers/android/binder.c:4653:37: sparse:     got unsigned int *
   drivers/android/binder.c:4673:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   drivers/android/binder.c:4673:21: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   drivers/android/binder.c:4673:21: sparse:     got unsigned int *
   drivers/android/binder.c:4738:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   drivers/android/binder.c:4738:21: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   drivers/android/binder.c:4738:21: sparse:     got unsigned int *
   drivers/android/binder.c:4993:24: sparse: sparse: incorrect type in return expression (different base types) @@     expected restricted __poll_t @@     got int @@
   drivers/android/binder.c:4993:24: sparse:     expected restricted __poll_t
   drivers/android/binder.c:4993:24: sparse:     got int
>> drivers/android/binder.c:5368:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed int [noderef] __user *__ptr_clean @@     got signed int * @@
   drivers/android/binder.c:5368:21: sparse:     expected signed int [noderef] __user *__ptr_clean
   drivers/android/binder.c:5368:21: sparse:     got signed int *
--
>> drivers/ata/libata-scsi.c:569:32: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   drivers/ata/libata-scsi.c:569:32: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   drivers/ata/libata-scsi.c:569:32: sparse:     got unsigned int *
>> drivers/ata/libata-scsi.c:571:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned long [noderef] __user *__ptr_clean @@     got unsigned long * @@
   drivers/ata/libata-scsi.c:571:24: sparse:     expected unsigned long [noderef] __user *__ptr_clean
   drivers/ata/libata-scsi.c:571:24: sparse:     got unsigned long *
--
>> fs/verity/measure.c:42:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned short [noderef] __user *__ptr_clean @@     got unsigned short * @@
   fs/verity/measure.c:42:13: sparse:     expected unsigned short [noderef] __user *__ptr_clean
   fs/verity/measure.c:42:13: sparse:     got unsigned short *
--
>> samples/vfio-mdev/mbochs.c:1291:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   samples/vfio-mdev/mbochs.c:1291:21: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   samples/vfio-mdev/mbochs.c:1291:21: sparse:     got unsigned int *
--
   sound/core/timer.c:2045:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   sound/core/timer.c:2045:13: sparse:     expected int [noderef] __user *__ptr_clean
   sound/core/timer.c:2045:13: sparse:     got int *
   sound/core/timer.c:2084:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   sound/core/timer.c:2084:24: sparse:     expected int [noderef] __user *__ptr_clean
   sound/core/timer.c:2084:24: sparse:     got int *
   sound/core/timer.c: note: in included file:
>> sound/core/timer_compat.c:40:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   sound/core/timer_compat.c:40:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   sound/core/timer_compat.c:40:13: sparse:     got unsigned int *
   sound/core/timer_compat.c:41:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   sound/core/timer_compat.c:41:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   sound/core/timer_compat.c:41:13: sparse:     got unsigned int *
   sound/core/timer.c:790:25: sparse: sparse: context imbalance in 'snd_timer_process_callbacks' - unexpected unlock
--
   sound/core/pcm_native.c:1082:20: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   sound/core/pcm_native.c:1082:20: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   sound/core/pcm_native.c:1082:20: sparse:     got unsigned int *
   sound/core/pcm_native.c:1108:20: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   sound/core/pcm_native.c:1108:20: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   sound/core/pcm_native.c:1108:20: sparse:     got unsigned int *
   sound/core/pcm_native.c:3040:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   sound/core/pcm_native.c:3040:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   sound/core/pcm_native.c:3040:13: sparse:     got unsigned int *
   sound/core/pcm_native.c:3135:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   sound/core/pcm_native.c:3135:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   sound/core/pcm_native.c:3135:13: sparse:     got unsigned int *
   sound/core/pcm_native.c:3136:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   sound/core/pcm_native.c:3136:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   sound/core/pcm_native.c:3136:13: sparse:     got unsigned int *
   sound/core/pcm_native.c:3137:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   sound/core/pcm_native.c:3137:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   sound/core/pcm_native.c:3137:13: sparse:     got unsigned int *
   sound/core/pcm_native.c:3172:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected restricted snd_pcm_state_t [noderef] __user *__ptr_clean @@     got restricted snd_pcm_state_t * @@
   sound/core/pcm_native.c:3172:13: sparse:     expected restricted snd_pcm_state_t [noderef] __user *__ptr_clean
   sound/core/pcm_native.c:3172:13: sparse:     got restricted snd_pcm_state_t *
   sound/core/pcm_native.c:3173:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   sound/core/pcm_native.c:3173:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   sound/core/pcm_native.c:3173:13: sparse:     got unsigned int *
   sound/core/pcm_native.c:3174:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed int [noderef] __user *__ptr_clean @@     got signed int * @@
   sound/core/pcm_native.c:3174:13: sparse:     expected signed int [noderef] __user *__ptr_clean
   sound/core/pcm_native.c:3174:13: sparse:     got signed int *
   sound/core/pcm_native.c:3175:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed int [noderef] __user *__ptr_clean @@     got signed int * @@
   sound/core/pcm_native.c:3175:13: sparse:     expected signed int [noderef] __user *__ptr_clean
   sound/core/pcm_native.c:3175:13: sparse:     got signed int *
   sound/core/pcm_native.c:3176:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected restricted snd_pcm_state_t [noderef] __user *__ptr_clean @@     got restricted snd_pcm_state_t * @@
   sound/core/pcm_native.c:3176:13: sparse:     expected restricted snd_pcm_state_t [noderef] __user *__ptr_clean
   sound/core/pcm_native.c:3176:13: sparse:     got restricted snd_pcm_state_t *
   sound/core/pcm_native.c:3177:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed int [noderef] __user *__ptr_clean @@     got signed int * @@
   sound/core/pcm_native.c:3177:13: sparse:     expected signed int [noderef] __user *__ptr_clean
   sound/core/pcm_native.c:3177:13: sparse:     got signed int *
   sound/core/pcm_native.c:3178:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed int [noderef] __user *__ptr_clean @@     got signed int * @@
   sound/core/pcm_native.c:3178:13: sparse:     expected signed int [noderef] __user *__ptr_clean
   sound/core/pcm_native.c:3178:13: sparse:     got signed int *
   sound/core/pcm_native.c:3179:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   sound/core/pcm_native.c:3179:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   sound/core/pcm_native.c:3179:13: sparse:     got unsigned int *
   sound/core/pcm_native.c:3180:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   sound/core/pcm_native.c:3180:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   sound/core/pcm_native.c:3180:13: sparse:     got unsigned int *
   sound/core/pcm_native.c:3192:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   sound/core/pcm_native.c:3192:13: sparse:     expected int [noderef] __user *__ptr_clean
   sound/core/pcm_native.c:3192:13: sparse:     got int *
   sound/core/pcm_native.c:3209:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed long [noderef] __user *__ptr_clean @@     got signed long * @@
   sound/core/pcm_native.c:3209:13: sparse:     expected signed long [noderef] __user *__ptr_clean
   sound/core/pcm_native.c:3209:13: sparse:     got signed long *
   sound/core/pcm_native.c:3217:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed long [noderef] __user *__ptr_clean @@     got signed long * @@
   sound/core/pcm_native.c:3217:13: sparse:     expected signed long [noderef] __user *__ptr_clean
   sound/core/pcm_native.c:3217:13: sparse:     got signed long *
   sound/core/pcm_native.c:3234:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed long [noderef] __user *__ptr_clean @@     got signed long * @@
   sound/core/pcm_native.c:3234:13: sparse:     expected signed long [noderef] __user *__ptr_clean
   sound/core/pcm_native.c:3234:13: sparse:     got signed long *
   sound/core/pcm_native.c:3247:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed long [noderef] __user *__ptr_clean @@     got signed long * @@
   sound/core/pcm_native.c:3247:13: sparse:     expected signed long [noderef] __user *__ptr_clean
   sound/core/pcm_native.c:3247:13: sparse:     got signed long *
   sound/core/pcm_native.c:3258:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned long [noderef] __user *__ptr_clean @@     got unsigned long * @@
   sound/core/pcm_native.c:3258:13: sparse:     expected unsigned long [noderef] __user *__ptr_clean
   sound/core/pcm_native.c:3258:13: sparse:     got unsigned long *
   sound/core/pcm_native.c:3260:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned long [noderef] __user *__ptr_clean @@     got unsigned long * @@
   sound/core/pcm_native.c:3260:13: sparse:     expected unsigned long [noderef] __user *__ptr_clean
   sound/core/pcm_native.c:3260:13: sparse:     got unsigned long *
   sound/core/pcm_native.c:3263:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned long [noderef] __user *__ptr_clean @@     got unsigned long * @@
   sound/core/pcm_native.c:3263:13: sparse:     expected unsigned long [noderef] __user *__ptr_clean
   sound/core/pcm_native.c:3263:13: sparse:     got unsigned long *
   sound/core/pcm_native.c:3274:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned long [noderef] __user *__ptr_clean @@     got unsigned long * @@
   sound/core/pcm_native.c:3274:13: sparse:     expected unsigned long [noderef] __user *__ptr_clean
   sound/core/pcm_native.c:3274:13: sparse:     got unsigned long *
   sound/core/pcm_native.c:3276:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned long [noderef] __user *__ptr_clean @@     got unsigned long * @@
   sound/core/pcm_native.c:3276:13: sparse:     expected unsigned long [noderef] __user *__ptr_clean
   sound/core/pcm_native.c:3276:13: sparse:     got unsigned long *
   sound/core/pcm_native.c:3279:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned long [noderef] __user *__ptr_clean @@     got unsigned long * @@
   sound/core/pcm_native.c:3279:13: sparse:     expected unsigned long [noderef] __user *__ptr_clean
   sound/core/pcm_native.c:3279:13: sparse:     got unsigned long *
   sound/core/pcm_native.c:3303:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   sound/core/pcm_native.c:3303:24: sparse:     expected int [noderef] __user *__ptr_clean
   sound/core/pcm_native.c:3303:24: sparse:     got int *
   sound/core/pcm_native.c:3311:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   sound/core/pcm_native.c:3311:21: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   sound/core/pcm_native.c:3311:21: sparse:     got unsigned int *
   sound/core/pcm_native.c:3358:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed long [noderef] __user *__ptr_clean @@     got signed long * @@
   sound/core/pcm_native.c:3358:21: sparse:     expected signed long [noderef] __user *__ptr_clean
   sound/core/pcm_native.c:3358:21: sparse:     got signed long *
   sound/core/pcm_native.c: note: in included file:
>> sound/core/pcm_compat.c:21:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed int [noderef] __user *__ptr_clean @@     got signed int * @@
   sound/core/pcm_compat.c:21:13: sparse:     expected signed int [noderef] __user *__ptr_clean
   sound/core/pcm_compat.c:21:13: sparse:     got signed int *
>> sound/core/pcm_compat.c:32:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   sound/core/pcm_compat.c:32:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   sound/core/pcm_compat.c:32:13: sparse:     got unsigned int *
   sound/core/pcm_compat.c:35:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   sound/core/pcm_compat.c:35:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   sound/core/pcm_compat.c:35:13: sparse:     got unsigned int *
   sound/core/pcm_compat.c:46:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   sound/core/pcm_compat.c:46:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   sound/core/pcm_compat.c:46:13: sparse:     got unsigned int *
   sound/core/pcm_compat.c:49:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   sound/core/pcm_compat.c:49:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   sound/core/pcm_compat.c:49:13: sparse:     got unsigned int *
   sound/core/pcm_compat.c:94:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed int [noderef] __user *__ptr_clean @@     got signed int * @@
   sound/core/pcm_compat.c:94:13: sparse:     expected signed int [noderef] __user *__ptr_clean
   sound/core/pcm_compat.c:94:13: sparse:     got signed int *
   sound/core/pcm_compat.c:95:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   sound/core/pcm_compat.c:95:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   sound/core/pcm_compat.c:95:13: sparse:     got unsigned int *
   sound/core/pcm_compat.c:96:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   sound/core/pcm_compat.c:96:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   sound/core/pcm_compat.c:96:13: sparse:     got unsigned int *
   sound/core/pcm_compat.c:97:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   sound/core/pcm_compat.c:97:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   sound/core/pcm_compat.c:97:13: sparse:     got unsigned int *
   sound/core/pcm_compat.c:98:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   sound/core/pcm_compat.c:98:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   sound/core/pcm_compat.c:98:13: sparse:     got unsigned int *
   sound/core/pcm_compat.c:99:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   sound/core/pcm_compat.c:99:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   sound/core/pcm_compat.c:99:13: sparse:     got unsigned int *
   sound/core/pcm_compat.c:100:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   sound/core/pcm_compat.c:100:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   sound/core/pcm_compat.c:100:13: sparse:     got unsigned int *
   sound/core/pcm_compat.c:101:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   sound/core/pcm_compat.c:101:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   sound/core/pcm_compat.c:101:13: sparse:     got unsigned int *
   sound/core/pcm_compat.c:102:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   sound/core/pcm_compat.c:102:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   sound/core/pcm_compat.c:102:13: sparse:     got unsigned int *
   sound/core/pcm_compat.c:103:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   sound/core/pcm_compat.c:103:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   sound/core/pcm_compat.c:103:13: sparse:     got unsigned int *
   sound/core/pcm_compat.c:104:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   sound/core/pcm_compat.c:104:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   sound/core/pcm_compat.c:104:13: sparse:     got unsigned int *
   sound/core/pcm_compat.c:116:25: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   sound/core/pcm_compat.c:116:25: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   sound/core/pcm_compat.c:116:25: sparse:     got unsigned int *
   sound/core/pcm_compat.c:134:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   sound/core/pcm_compat.c:134:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   sound/core/pcm_compat.c:134:13: sparse:     got unsigned int *
   sound/core/pcm_compat.c:135:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   sound/core/pcm_compat.c:135:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   sound/core/pcm_compat.c:135:13: sparse:     got unsigned int *
   sound/core/pcm_compat.c:136:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   sound/core/pcm_compat.c:136:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   sound/core/pcm_compat.c:136:13: sparse:     got unsigned int *
   sound/core/pcm_compat.c:137:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   sound/core/pcm_compat.c:137:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   sound/core/pcm_compat.c:137:13: sparse:     got unsigned int *
   sound/core/pcm_compat.c:142:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   sound/core/pcm_compat.c:142:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   sound/core/pcm_compat.c:142:13: sparse:     got unsigned int *
   sound/core/pcm_compat.c:143:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   sound/core/pcm_compat.c:143:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   sound/core/pcm_compat.c:143:13: sparse:     got unsigned int *
   sound/core/pcm_compat.c:144:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   sound/core/pcm_compat.c:144:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   sound/core/pcm_compat.c:144:13: sparse:     got unsigned int *
   sound/core/pcm_compat.c:145:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   sound/core/pcm_compat.c:145:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   sound/core/pcm_compat.c:145:13: sparse:     got unsigned int *
   sound/core/pcm_compat.c:196:20: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   sound/core/pcm_compat.c:196:20: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   sound/core/pcm_compat.c:196:20: sparse:     got unsigned int *
   sound/core/pcm_compat.c:263:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   sound/core/pcm_compat.c:263:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   sound/core/pcm_compat.c:263:13: sparse:     got unsigned int *
   sound/core/pcm_compat.c:301:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   sound/core/pcm_compat.c:301:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   sound/core/pcm_compat.c:301:13: sparse:     got unsigned int *
   sound/core/pcm_compat.c:302:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   sound/core/pcm_compat.c:302:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   sound/core/pcm_compat.c:302:13: sparse:     got unsigned int *
   sound/core/pcm_compat.c:312:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed int [noderef] __user *__ptr_clean @@     got signed int * @@
   sound/core/pcm_compat.c:312:13: sparse:     expected signed int [noderef] __user *__ptr_clean
   sound/core/pcm_compat.c:312:13: sparse:     got signed int *
   sound/core/pcm_compat.c:350:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   sound/core/pcm_compat.c:350:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   sound/core/pcm_compat.c:350:13: sparse:     got unsigned int *
   sound/core/pcm_compat.c:351:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   sound/core/pcm_compat.c:351:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   sound/core/pcm_compat.c:351:13: sparse:     got unsigned int *
   sound/core/pcm_compat.c:359:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   sound/core/pcm_compat.c:359:21: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   sound/core/pcm_compat.c:359:21: sparse:     got unsigned int *
   sound/core/pcm_compat.c:371:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed int [noderef] __user *__ptr_clean @@     got signed int * @@
   sound/core/pcm_compat.c:371:21: sparse:     expected signed int [noderef] __user *__ptr_clean
   sound/core/pcm_compat.c:371:21: sparse:     got signed int *
   sound/core/pcm_compat.c:426:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   sound/core/pcm_compat.c:426:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   sound/core/pcm_compat.c:426:13: sparse:     got unsigned int *
   sound/core/pcm_compat.c:427:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   sound/core/pcm_compat.c:427:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   sound/core/pcm_compat.c:427:13: sparse:     got unsigned int *
   sound/core/pcm_compat.c:428:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   sound/core/pcm_compat.c:428:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   sound/core/pcm_compat.c:428:13: sparse:     got unsigned int *
>> sound/core/pcm_compat.c:458:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected restricted snd_pcm_state_t [noderef] __user *__ptr_clean @@     got restricted snd_pcm_state_t * @@
   sound/core/pcm_compat.c:458:13: sparse:     expected restricted snd_pcm_state_t [noderef] __user *__ptr_clean
   sound/core/pcm_compat.c:458:13: sparse:     got restricted snd_pcm_state_t *
   sound/core/pcm_compat.c:459:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   sound/core/pcm_compat.c:459:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   sound/core/pcm_compat.c:459:13: sparse:     got unsigned int *
>> sound/core/pcm_compat.c:460:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed long long [noderef] __user *__ptr_clean @@     got signed long long * @@
   sound/core/pcm_compat.c:460:13: sparse:     expected signed long long [noderef] __user *__ptr_clean
   sound/core/pcm_compat.c:460:13: sparse:     got signed long long *
   sound/core/pcm_compat.c:461:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed long long [noderef] __user *__ptr_clean @@     got signed long long * @@
   sound/core/pcm_compat.c:461:13: sparse:     expected signed long long [noderef] __user *__ptr_clean
   sound/core/pcm_compat.c:461:13: sparse:     got signed long long *
   sound/core/pcm_compat.c:462:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected restricted snd_pcm_state_t [noderef] __user *__ptr_clean @@     got restricted snd_pcm_state_t * @@
   sound/core/pcm_compat.c:462:13: sparse:     expected restricted snd_pcm_state_t [noderef] __user *__ptr_clean
   sound/core/pcm_compat.c:462:13: sparse:     got restricted snd_pcm_state_t *
   sound/core/pcm_compat.c:463:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed long long [noderef] __user *__ptr_clean @@     got signed long long * @@
   sound/core/pcm_compat.c:463:13: sparse:     expected signed long long [noderef] __user *__ptr_clean
   sound/core/pcm_compat.c:463:13: sparse:     got signed long long *
   sound/core/pcm_compat.c:464:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed long long [noderef] __user *__ptr_clean @@     got signed long long * @@
   sound/core/pcm_compat.c:464:13: sparse:     expected signed long long [noderef] __user *__ptr_clean
   sound/core/pcm_compat.c:464:13: sparse:     got signed long long *
   sound/core/pcm_compat.c:465:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   sound/core/pcm_compat.c:465:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   sound/core/pcm_compat.c:465:13: sparse:     got unsigned int *
   sound/core/pcm_compat.c:466:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   sound/core/pcm_compat.c:466:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   sound/core/pcm_compat.c:466:13: sparse:     got unsigned int *
   sound/core/pcm_compat.c:507:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   sound/core/pcm_compat.c:507:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   sound/core/pcm_compat.c:507:13: sparse:     got unsigned int *
   sound/core/pcm_native.c:95:1: sparse: sparse: context imbalance in 'snd_pcm_group_lock' - different lock contexts for basic block
   sound/core/pcm_native.c:96:1: sparse: sparse: context imbalance in 'snd_pcm_group_unlock' - unexpected unlock
   sound/core/pcm_native.c:97:1: sparse: sparse: context imbalance in 'snd_pcm_group_lock_irq' - different lock contexts for basic block
   sound/core/pcm_native.c:98:1: sparse: sparse: context imbalance in 'snd_pcm_group_unlock_irq' - unexpected unlock
   sound/core/pcm_native.c:145:9: sparse: sparse: context imbalance in 'snd_pcm_stream_lock_nested' - different lock contexts for basic block
   sound/core/pcm_native.c:171:9: sparse: sparse: context imbalance in '_snd_pcm_stream_lock_irqsave' - different lock contexts for basic block
   sound/core/pcm_native.c:184:9: sparse: sparse: context imbalance in '_snd_pcm_stream_lock_irqsave_nested' - different lock contexts for basic block
   sound/core/pcm_native.c:201:39: sparse: sparse: context imbalance in 'snd_pcm_stream_unlock_irqrestore' - unexpected unlock
   sound/core/pcm_native.c:1261:44: sparse: sparse: context imbalance in 'snd_pcm_action_group' - unexpected unlock
   sound/core/pcm_native.c:1331:37: sparse: sparse: context imbalance in 'snd_pcm_stream_group_ref' - different lock contexts for basic block
--
   sound/core/control.c:391:11: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned long h @@     got restricted snd_ctl_elem_iface_t const [usertype] iface @@
   sound/core/control.c:391:11: sparse:     expected unsigned long h
   sound/core/control.c:391:11: sparse:     got restricted snd_ctl_elem_iface_t const [usertype] iface
   sound/core/control.c:927:17: sparse: sparse: restricted snd_ctl_elem_type_t degrades to integer
   sound/core/control.c:927:26: sparse: sparse: restricted snd_ctl_elem_type_t degrades to integer
   sound/core/control.c:928:17: sparse: sparse: restricted snd_ctl_elem_type_t degrades to integer
   sound/core/control.c:928:26: sparse: sparse: restricted snd_ctl_elem_type_t degrades to integer
   sound/core/control.c:947:48: sparse: sparse: restricted snd_ctl_elem_type_t degrades to integer
   sound/core/control.c:975:41: sparse: sparse: restricted snd_ctl_elem_type_t degrades to integer
   sound/core/control.c:1086:34: sparse: sparse: restricted snd_ctl_elem_type_t degrades to integer
   sound/core/control.c:1654:40: sparse: sparse: restricted snd_ctl_elem_type_t degrades to integer
   sound/core/control.c:1763:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   sound/core/control.c:1763:13: sparse:     expected int [noderef] __user *__ptr_clean
   sound/core/control.c:1763:13: sparse:     got int *
   sound/core/control.c:1767:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   sound/core/control.c:1767:21: sparse:     expected int [noderef] __user *__ptr_clean
   sound/core/control.c:1767:21: sparse:     got int *
   sound/core/control.c:1904:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   sound/core/control.c:1904:24: sparse:     expected int [noderef] __user *__ptr_clean
   sound/core/control.c:1904:24: sparse:     got int *
   sound/core/control.c:1945:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   sound/core/control.c:1945:24: sparse:     expected int [noderef] __user *__ptr_clean
   sound/core/control.c:1945:24: sparse:     got int *
   sound/core/control.c: note: in included file:
>> sound/core/control_compat.c:33:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   sound/core/control_compat.c:33:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   sound/core/control_compat.c:33:13: sparse:     got unsigned int *
   sound/core/control_compat.c:96:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   sound/core/control_compat.c:96:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   sound/core/control_compat.c:96:13: sparse:     got unsigned int *
>> sound/core/control_compat.c:108:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed int [noderef] __user *__ptr_clean @@     got signed int * @@
   sound/core/control_compat.c:108:13: sparse:     expected signed int [noderef] __user *__ptr_clean
   sound/core/control_compat.c:108:13: sparse:     got signed int *
   sound/core/control_compat.c:113:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed int [noderef] __user *__ptr_clean @@     got signed int * @@
   sound/core/control_compat.c:113:21: sparse:     expected signed int [noderef] __user *__ptr_clean
   sound/core/control_compat.c:113:21: sparse:     got signed int *
   sound/core/control_compat.c:114:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed int [noderef] __user *__ptr_clean @@     got signed int * @@
   sound/core/control_compat.c:114:21: sparse:     expected signed int [noderef] __user *__ptr_clean
   sound/core/control_compat.c:114:21: sparse:     got signed int *
   sound/core/control_compat.c:115:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed int [noderef] __user *__ptr_clean @@     got signed int * @@
   sound/core/control_compat.c:115:21: sparse:     expected signed int [noderef] __user *__ptr_clean
   sound/core/control_compat.c:115:21: sparse:     got signed int *
   sound/core/control_compat.c:193:21: sparse: sparse: incorrect type in assignment (different base types) @@     expected int [assigned] err @@     got restricted snd_ctl_elem_type_t [usertype] type @@
   sound/core/control_compat.c:193:21: sparse:     expected int [assigned] err
   sound/core/control_compat.c:193:21: sparse:     got restricted snd_ctl_elem_type_t [usertype] type
   sound/core/control_compat.c:203:14: sparse: sparse: restricted snd_ctl_elem_type_t degrades to integer
   sound/core/control_compat.c:205:14: sparse: sparse: restricted snd_ctl_elem_type_t degrades to integer
   sound/core/control_compat.c:207:14: sparse: sparse: restricted snd_ctl_elem_type_t degrades to integer
   sound/core/control_compat.c:209:14: sparse: sparse: restricted snd_ctl_elem_type_t degrades to integer
   sound/core/control_compat.c:229:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   sound/core/control_compat.c:229:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   sound/core/control_compat.c:229:13: sparse:     got unsigned int *
   sound/core/control_compat.c:237:21: sparse: sparse: restricted snd_ctl_elem_type_t degrades to integer
   sound/core/control_compat.c:238:21: sparse: sparse: restricted snd_ctl_elem_type_t degrades to integer
   sound/core/control_compat.c:242:29: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed int [noderef] __user *__ptr_clean @@     got signed int * @@
   sound/core/control_compat.c:242:29: sparse:     expected signed int [noderef] __user *__ptr_clean
   sound/core/control_compat.c:242:29: sparse:     got signed int *
   sound/core/control_compat.c:270:21: sparse: sparse: restricted snd_ctl_elem_type_t degrades to integer
   sound/core/control_compat.c:271:21: sparse: sparse: restricted snd_ctl_elem_type_t degrades to integer
   sound/core/control_compat.c:276:29: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed int [noderef] __user *__ptr_clean @@     got signed int * @@
   sound/core/control_compat.c:276:29: sparse:     expected signed int [noderef] __user *__ptr_clean
   sound/core/control_compat.c:276:29: sparse:     got signed int *
   sound/core/control_compat.c:381:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed int [noderef] __user *__ptr_clean @@     got signed int * @@
   sound/core/control_compat.c:381:13: sparse:     expected signed int [noderef] __user *__ptr_clean
   sound/core/control_compat.c:381:13: sparse:     got signed int *
   sound/core/control_compat.c:386:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed int [noderef] __user *__ptr_clean @@     got signed int * @@
   sound/core/control_compat.c:386:21: sparse:     expected signed int [noderef] __user *__ptr_clean
   sound/core/control_compat.c:386:21: sparse:     got signed int *
   sound/core/control_compat.c:387:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed int [noderef] __user *__ptr_clean @@     got signed int * @@
   sound/core/control_compat.c:387:21: sparse:     expected signed int [noderef] __user *__ptr_clean
   sound/core/control_compat.c:387:21: sparse:     got signed int *
   sound/core/control_compat.c:388:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed int [noderef] __user *__ptr_clean @@     got signed int * @@
   sound/core/control_compat.c:388:21: sparse:     expected signed int [noderef] __user *__ptr_clean
   sound/core/control_compat.c:388:21: sparse:     got signed int *
--
>> arch/x86/kernel/cpu/mtrr/if.c:196:23: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   arch/x86/kernel/cpu/mtrr/if.c:196:23: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   arch/x86/kernel/cpu/mtrr/if.c:196:23: sparse:     got unsigned int *
   arch/x86/kernel/cpu/mtrr/if.c:197:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   arch/x86/kernel/cpu/mtrr/if.c:197:24: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   arch/x86/kernel/cpu/mtrr/if.c:197:24: sparse:     got unsigned int *
   arch/x86/kernel/cpu/mtrr/if.c:198:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   arch/x86/kernel/cpu/mtrr/if.c:198:24: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   arch/x86/kernel/cpu/mtrr/if.c:198:24: sparse:     got unsigned int *
   arch/x86/kernel/cpu/mtrr/if.c:208:23: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   arch/x86/kernel/cpu/mtrr/if.c:208:23: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   arch/x86/kernel/cpu/mtrr/if.c:208:23: sparse:     got unsigned int *
   arch/x86/kernel/cpu/mtrr/if.c:209:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   arch/x86/kernel/cpu/mtrr/if.c:209:24: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   arch/x86/kernel/cpu/mtrr/if.c:209:24: sparse:     got unsigned int *
   arch/x86/kernel/cpu/mtrr/if.c:210:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   arch/x86/kernel/cpu/mtrr/if.c:210:24: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   arch/x86/kernel/cpu/mtrr/if.c:210:24: sparse:     got unsigned int *
   arch/x86/kernel/cpu/mtrr/if.c:211:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   arch/x86/kernel/cpu/mtrr/if.c:211:24: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   arch/x86/kernel/cpu/mtrr/if.c:211:24: sparse:     got unsigned int *
   arch/x86/kernel/cpu/mtrr/if.c:327:23: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   arch/x86/kernel/cpu/mtrr/if.c:327:23: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   arch/x86/kernel/cpu/mtrr/if.c:327:23: sparse:     got unsigned int *
   arch/x86/kernel/cpu/mtrr/if.c:328:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   arch/x86/kernel/cpu/mtrr/if.c:328:24: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   arch/x86/kernel/cpu/mtrr/if.c:328:24: sparse:     got unsigned int *
   arch/x86/kernel/cpu/mtrr/if.c:329:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   arch/x86/kernel/cpu/mtrr/if.c:329:24: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   arch/x86/kernel/cpu/mtrr/if.c:329:24: sparse:     got unsigned int *
   arch/x86/kernel/cpu/mtrr/if.c:330:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   arch/x86/kernel/cpu/mtrr/if.c:330:24: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   arch/x86/kernel/cpu/mtrr/if.c:330:24: sparse:     got unsigned int *
--
>> drivers/char/hpet.c:317:18: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned long [noderef] __user *__ptr_clean @@     got unsigned long * @@
   drivers/char/hpet.c:317:18: sparse:     expected unsigned long [noderef] __user *__ptr_clean
   drivers/char/hpet.c:317:18: sparse:     got unsigned long *
>> drivers/char/hpet.c:686:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   drivers/char/hpet.c:686:21: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   drivers/char/hpet.c:686:21: sparse:     got unsigned int *
   drivers/char/hpet.c:687:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   drivers/char/hpet.c:687:21: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   drivers/char/hpet.c:687:21: sparse:     got unsigned int *
>> drivers/char/hpet.c:688:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned short [noderef] __user *__ptr_clean @@     got unsigned short * @@
   drivers/char/hpet.c:688:21: sparse:     expected unsigned short [noderef] __user *__ptr_clean
   drivers/char/hpet.c:688:21: sparse:     got unsigned short *
   drivers/char/hpet.c:689:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned short [noderef] __user *__ptr_clean @@     got unsigned short * @@
   drivers/char/hpet.c:689:21: sparse:     expected unsigned short [noderef] __user *__ptr_clean
   drivers/char/hpet.c:689:21: sparse:     got unsigned short *
--
>> net/ipv4/af_inet.c:999:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned short [noderef] __user *__ptr_clean @@     got unsigned short * @@
   net/ipv4/af_inet.c:999:13: sparse:     expected unsigned short [noderef] __user *__ptr_clean
   net/ipv4/af_inet.c:999:13: sparse:     got unsigned short *
>> net/ipv4/af_inet.c:1000:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected short [noderef] __user *__ptr_clean @@     got short * @@
   net/ipv4/af_inet.c:1000:13: sparse:     expected short [noderef] __user *__ptr_clean
   net/ipv4/af_inet.c:1000:13: sparse:     got short *
>> net/ipv4/af_inet.c:1001:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   net/ipv4/af_inet.c:1001:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   net/ipv4/af_inet.c:1001:13: sparse:     got unsigned int *
   net/ipv4/af_inet.c:1002:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   net/ipv4/af_inet.c:1002:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   net/ipv4/af_inet.c:1002:13: sparse:     got unsigned int *
   net/ipv4/af_inet.c:1003:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned short [noderef] __user *__ptr_clean @@     got unsigned short * @@
   net/ipv4/af_inet.c:1003:13: sparse:     expected unsigned short [noderef] __user *__ptr_clean
   net/ipv4/af_inet.c:1003:13: sparse:     got unsigned short *
   net/ipv4/af_inet.c:1004:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   net/ipv4/af_inet.c:1004:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   net/ipv4/af_inet.c:1004:13: sparse:     got unsigned int *
   net/ipv4/af_inet.c:1523:59: sparse: sparse: restricted __be16 degrades to integer
--
>> drivers/comedi/comedi_fops.c:1083:29: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   drivers/comedi/comedi_fops.c:1083:29: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   drivers/comedi/comedi_fops.c:1083:29: sparse:     got unsigned int *
--
>> drivers/hid/hidraw.c:383:29: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/hid/hidraw.c:383:29: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/hid/hidraw.c:383:29: sparse:     got int *
   drivers/hid/hidraw.c:391:37: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/hid/hidraw.c:391:37: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/hid/hidraw.c:391:37: sparse:     got int *
--
>> fs/udf/file.c:208:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected long [noderef] __user *__ptr_clean @@     got long * @@
   fs/udf/file.c:208:21: sparse:     expected long [noderef] __user *__ptr_clean
   fs/udf/file.c:208:21: sparse:     got long *
   fs/udf/file.c:213:34: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected long [noderef] __user *__ptr_clean @@     got long * @@
   fs/udf/file.c:213:34: sparse:     expected long [noderef] __user *__ptr_clean
   fs/udf/file.c:213:34: sparse:     got long *
>> fs/udf/file.c:216:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   fs/udf/file.c:216:24: sparse:     expected int [noderef] __user *__ptr_clean
   fs/udf/file.c:216:24: sparse:     got int *
--
>> drivers/hwmon/w83793.c:1370:37: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected char const [noderef] __user *__ptr_clean @@     got char const * @@
   drivers/hwmon/w83793.c:1370:37: sparse:     expected char const [noderef] __user *__ptr_clean
   drivers/hwmon/w83793.c:1370:37: sparse:     got char const *
>> drivers/hwmon/w83793.c:1406:23: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/hwmon/w83793.c:1406:23: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/hwmon/w83793.c:1406:23: sparse:     got int *
   drivers/hwmon/w83793.c:1410:23: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/hwmon/w83793.c:1410:23: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/hwmon/w83793.c:1410:23: sparse:     got int *
   drivers/hwmon/w83793.c:1419:23: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/hwmon/w83793.c:1419:23: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/hwmon/w83793.c:1419:23: sparse:     got int *
   drivers/hwmon/w83793.c:1423:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/hwmon/w83793.c:1423:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/hwmon/w83793.c:1423:21: sparse:     got int *
   drivers/hwmon/w83793.c:1429:31: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/hwmon/w83793.c:1429:31: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/hwmon/w83793.c:1429:31: sparse:     got int *
   drivers/hwmon/w83793.c:1433:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/hwmon/w83793.c:1433:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/hwmon/w83793.c:1433:21: sparse:     got int *
--
>> drivers/hwmon/fschmd.c:866:37: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected char const [noderef] __user *__ptr_clean @@     got char const * @@
   drivers/hwmon/fschmd.c:866:37: sparse:     expected char const [noderef] __user *__ptr_clean
   drivers/hwmon/fschmd.c:866:37: sparse:     got char const *
>> drivers/hwmon/fschmd.c:900:23: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/hwmon/fschmd.c:900:23: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/hwmon/fschmd.c:900:23: sparse:     got int *
   drivers/hwmon/fschmd.c:905:31: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/hwmon/fschmd.c:905:31: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/hwmon/fschmd.c:905:31: sparse:     got int *
   drivers/hwmon/fschmd.c:907:31: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/hwmon/fschmd.c:907:31: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/hwmon/fschmd.c:907:31: sparse:     got int *
   drivers/hwmon/fschmd.c:916:23: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/hwmon/fschmd.c:916:23: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/hwmon/fschmd.c:916:23: sparse:     got int *
   drivers/hwmon/fschmd.c:920:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/hwmon/fschmd.c:920:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/hwmon/fschmd.c:920:21: sparse:     got int *
   drivers/hwmon/fschmd.c:926:31: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/hwmon/fschmd.c:926:31: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/hwmon/fschmd.c:926:31: sparse:     got int *
   drivers/hwmon/fschmd.c:930:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/hwmon/fschmd.c:930:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/hwmon/fschmd.c:930:21: sparse:     got int *
--
   drivers/i2c/i2c-dev.c:432:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned long [noderef] __user *__ptr_clean @@     got unsigned long * @@
   drivers/i2c/i2c-dev.c:432:24: sparse:     expected unsigned long [noderef] __user *__ptr_clean
   drivers/i2c/i2c-dev.c:432:24: sparse:     got unsigned long *
>> drivers/i2c/i2c-dev.c:526:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   drivers/i2c/i2c-dev.c:526:24: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   drivers/i2c/i2c-dev.c:526:24: sparse:     got unsigned int *
--
>> drivers/input/mousedev.c:683:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected char const [noderef] __user *__ptr_clean @@     got char const * @@
   drivers/input/mousedev.c:683:21: sparse:     expected char const [noderef] __user *__ptr_clean
   drivers/input/mousedev.c:683:21: sparse:     got char const *
--
>> drivers/input/joydev.c:530:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed int [noderef] __user *__ptr_clean @@     got signed int * @@
   drivers/input/joydev.c:530:24: sparse:     expected signed int [noderef] __user *__ptr_clean
   drivers/input/joydev.c:530:24: sparse:     got signed int *
   drivers/input/joydev.c:533:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed int [noderef] __user *__ptr_clean @@     got signed int * @@
   drivers/input/joydev.c:533:24: sparse:     expected signed int [noderef] __user *__ptr_clean
   drivers/input/joydev.c:533:24: sparse:     got signed int *
>> drivers/input/joydev.c:536:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   drivers/input/joydev.c:536:24: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   drivers/input/joydev.c:536:24: sparse:     got unsigned int *
>> drivers/input/joydev.c:539:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned char [noderef] __user *__ptr_clean @@     got unsigned char * @@
   drivers/input/joydev.c:539:24: sparse:     expected unsigned char [noderef] __user *__ptr_clean
   drivers/input/joydev.c:539:24: sparse:     got unsigned char *
   drivers/input/joydev.c:542:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned char [noderef] __user *__ptr_clean @@     got unsigned char * @@
   drivers/input/joydev.c:542:24: sparse:     expected unsigned char [noderef] __user *__ptr_clean
   drivers/input/joydev.c:542:24: sparse:     got unsigned char *
   drivers/input/joydev.c:617:26: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed int [noderef] __user *__ptr_clean @@     got signed int * @@
   drivers/input/joydev.c:617:26: sparse:     expected signed int [noderef] __user *__ptr_clean
   drivers/input/joydev.c:617:26: sparse:     got signed int *
   drivers/input/joydev.c:624:26: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed int [noderef] __user *__ptr_clean @@     got signed int * @@
   drivers/input/joydev.c:624:26: sparse:     expected signed int [noderef] __user *__ptr_clean
   drivers/input/joydev.c:624:26: sparse:     got signed int *
>> drivers/input/joydev.c:682:26: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected long [noderef] __user *__ptr_clean @@     got long * @@
   drivers/input/joydev.c:682:26: sparse:     expected long [noderef] __user *__ptr_clean
   drivers/input/joydev.c:682:26: sparse:     got long *
   drivers/input/joydev.c:687:26: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected long [noderef] __user *__ptr_clean @@     got long * @@
   drivers/input/joydev.c:687:26: sparse:     expected long [noderef] __user *__ptr_clean
   drivers/input/joydev.c:687:26: sparse:     got long *
--
>> drivers/input/evdev.c:819:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/input/evdev.c:819:13: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/input/evdev.c:819:13: sparse:     got int *
   drivers/input/evdev.c:854:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/input/evdev.c:854:13: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/input/evdev.c:854:13: sparse:     got int *
   drivers/input/evdev.c:928:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/input/evdev.c:928:13: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/input/evdev.c:928:13: sparse:     got int *
   drivers/input/evdev.c:936:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/input/evdev.c:936:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/input/evdev.c:936:21: sparse:     got int *
>> drivers/input/evdev.c:1017:37: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned char [noderef] __user *__ptr_clean @@     got unsigned char * @@
   drivers/input/evdev.c:1017:37: sparse:     expected unsigned char [noderef] __user *__ptr_clean
   drivers/input/evdev.c:1017:37: sparse:     got unsigned char *
   drivers/input/evdev.c:1047:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/input/evdev.c:1047:24: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/input/evdev.c:1047:24: sparse:     got int *
   drivers/input/evdev.c:1057:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/input/evdev.c:1057:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/input/evdev.c:1057:21: sparse:     got int *
   drivers/input/evdev.c:1059:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/input/evdev.c:1059:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/input/evdev.c:1059:21: sparse:     got int *
   drivers/input/evdev.c:1066:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/input/evdev.c:1066:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/input/evdev.c:1066:21: sparse:     got int *
   drivers/input/evdev.c:1068:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/input/evdev.c:1068:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/input/evdev.c:1068:21: sparse:     got int *
   drivers/input/evdev.c:1082:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/input/evdev.c:1082:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/input/evdev.c:1082:21: sparse:     got int *
>> drivers/input/evdev.c:1187:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected signed short [noderef] __user *__ptr_clean @@     got signed short * @@
   drivers/input/evdev.c:1187:21: sparse:     expected signed short [noderef] __user *__ptr_clean
   drivers/input/evdev.c:1187:21: sparse:     got signed short *
--
>> fs/nilfs2/ioctl.c:165:16: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   fs/nilfs2/ioctl.c:165:16: sparse:     expected int [noderef] __user *__ptr_clean
   fs/nilfs2/ioctl.c:165:16: sparse:     got int *

vim +835 drivers/input/misc/uinput.c

^1da177e4c3f41 Linus Torvalds      2005-04-16   813  
e3480a61fca72d Benjamin Tissoires  2014-01-30   814  static int uinput_str_to_user(void __user *dest, const char *str,
e3480a61fca72d Benjamin Tissoires  2014-01-30   815  			      unsigned int maxlen)
e3480a61fca72d Benjamin Tissoires  2014-01-30   816  {
e3480a61fca72d Benjamin Tissoires  2014-01-30   817  	char __user *p = dest;
e3480a61fca72d Benjamin Tissoires  2014-01-30   818  	int len, ret;
e3480a61fca72d Benjamin Tissoires  2014-01-30   819  
e3480a61fca72d Benjamin Tissoires  2014-01-30   820  	if (!str)
e3480a61fca72d Benjamin Tissoires  2014-01-30   821  		return -ENOENT;
e3480a61fca72d Benjamin Tissoires  2014-01-30   822  
e3480a61fca72d Benjamin Tissoires  2014-01-30   823  	if (maxlen == 0)
e3480a61fca72d Benjamin Tissoires  2014-01-30   824  		return -EINVAL;
e3480a61fca72d Benjamin Tissoires  2014-01-30   825  
e3480a61fca72d Benjamin Tissoires  2014-01-30   826  	len = strlen(str) + 1;
e3480a61fca72d Benjamin Tissoires  2014-01-30   827  	if (len > maxlen)
e3480a61fca72d Benjamin Tissoires  2014-01-30   828  		len = maxlen;
e3480a61fca72d Benjamin Tissoires  2014-01-30   829  
e3480a61fca72d Benjamin Tissoires  2014-01-30   830  	ret = copy_to_user(p, str, len);
e3480a61fca72d Benjamin Tissoires  2014-01-30   831  	if (ret)
e3480a61fca72d Benjamin Tissoires  2014-01-30   832  		return -EFAULT;
e3480a61fca72d Benjamin Tissoires  2014-01-30   833  
e3480a61fca72d Benjamin Tissoires  2014-01-30   834  	/* force terminating '\0' */
e3480a61fca72d Benjamin Tissoires  2014-01-30  @835  	ret = put_user(0, p + len - 1);
e3480a61fca72d Benjamin Tissoires  2014-01-30   836  	return ret ? -EFAULT : len;
e3480a61fca72d Benjamin Tissoires  2014-01-30   837  }
e3480a61fca72d Benjamin Tissoires  2014-01-30   838  
2d56f3a32c0e62 Philip Langdale     2008-10-16   839  static long uinput_ioctl_handler(struct file *file, unsigned int cmd,
2d56f3a32c0e62 Philip Langdale     2008-10-16   840  				 unsigned long arg, void __user *p)
^1da177e4c3f41 Linus Torvalds      2005-04-16   841  {
29506415a0ff01 Dmitry Torokhov     2005-11-20   842  	int			retval;
2d56f3a32c0e62 Philip Langdale     2008-10-16   843  	struct uinput_device	*udev = file->private_data;
^1da177e4c3f41 Linus Torvalds      2005-04-16   844  	struct uinput_ff_upload ff_up;
^1da177e4c3f41 Linus Torvalds      2005-04-16   845  	struct uinput_ff_erase  ff_erase;
^1da177e4c3f41 Linus Torvalds      2005-04-16   846  	struct uinput_request   *req;
5b6271bda42be8 Dmitry Torokhov     2005-06-30   847  	char			*phys;
e3480a61fca72d Benjamin Tissoires  2014-01-30   848  	const char		*name;
e3480a61fca72d Benjamin Tissoires  2014-01-30   849  	unsigned int		size;
^1da177e4c3f41 Linus Torvalds      2005-04-16   850  
221979aad6ab47 Dmitry Torokhov     2006-02-19   851  	retval = mutex_lock_interruptible(&udev->mutex);
29506415a0ff01 Dmitry Torokhov     2005-11-20   852  	if (retval)
29506415a0ff01 Dmitry Torokhov     2005-11-20   853  		return retval;
29506415a0ff01 Dmitry Torokhov     2005-11-20   854  
29506415a0ff01 Dmitry Torokhov     2005-11-20   855  	if (!udev->dev) {
04ce40a61a9164 Dmitry Torokhov     2017-09-06   856  		udev->dev = input_allocate_device();
781f2dd0a5eb8e Dan Carpenter       2017-11-10   857  		if (!udev->dev) {
781f2dd0a5eb8e Dan Carpenter       2017-11-10   858  			retval = -ENOMEM;
781f2dd0a5eb8e Dan Carpenter       2017-11-10   859  			goto out;
781f2dd0a5eb8e Dan Carpenter       2017-11-10   860  		}
^1da177e4c3f41 Linus Torvalds      2005-04-16   861  	}
^1da177e4c3f41 Linus Torvalds      2005-04-16   862  
^1da177e4c3f41 Linus Torvalds      2005-04-16   863  	switch (cmd) {
ba4e9a61ad54c4 David Herrmann      2014-07-20   864  	case UI_GET_VERSION:
c06616528f283c Dmitry Torokhov     2017-09-06  @865  		if (put_user(UINPUT_VERSION, (unsigned int __user *)p))
ba4e9a61ad54c4 David Herrmann      2014-07-20   866  			retval = -EFAULT;
ba4e9a61ad54c4 David Herrmann      2014-07-20   867  		goto out;
ba4e9a61ad54c4 David Herrmann      2014-07-20   868  
^1da177e4c3f41 Linus Torvalds      2005-04-16   869  	case UI_DEV_CREATE:
^1da177e4c3f41 Linus Torvalds      2005-04-16   870  		retval = uinput_create_device(udev);
9d51e801dba0c7 Benjamin Tisssoires 2014-01-30   871  		goto out;
^1da177e4c3f41 Linus Torvalds      2005-04-16   872  
^1da177e4c3f41 Linus Torvalds      2005-04-16   873  	case UI_DEV_DESTROY:
29506415a0ff01 Dmitry Torokhov     2005-11-20   874  		uinput_destroy_device(udev);
9d51e801dba0c7 Benjamin Tisssoires 2014-01-30   875  		goto out;
^1da177e4c3f41 Linus Torvalds      2005-04-16   876  
052876f8e5aec8 Benjamin Tissoires  2015-12-18   877  	case UI_DEV_SETUP:
052876f8e5aec8 Benjamin Tissoires  2015-12-18   878  		retval = uinput_dev_setup(udev, p);
052876f8e5aec8 Benjamin Tissoires  2015-12-18   879  		goto out;
052876f8e5aec8 Benjamin Tissoires  2015-12-18   880  
052876f8e5aec8 Benjamin Tissoires  2015-12-18   881  	/* UI_ABS_SETUP is handled in the variable size ioctls */
052876f8e5aec8 Benjamin Tissoires  2015-12-18   882  
^1da177e4c3f41 Linus Torvalds      2005-04-16   883  	case UI_SET_EVBIT:
29506415a0ff01 Dmitry Torokhov     2005-11-20   884  		retval = uinput_set_bit(arg, evbit, EV_MAX);
9d51e801dba0c7 Benjamin Tisssoires 2014-01-30   885  		goto out;
^1da177e4c3f41 Linus Torvalds      2005-04-16   886  
^1da177e4c3f41 Linus Torvalds      2005-04-16   887  	case UI_SET_KEYBIT:
29506415a0ff01 Dmitry Torokhov     2005-11-20   888  		retval = uinput_set_bit(arg, keybit, KEY_MAX);
9d51e801dba0c7 Benjamin Tisssoires 2014-01-30   889  		goto out;
^1da177e4c3f41 Linus Torvalds      2005-04-16   890  
^1da177e4c3f41 Linus Torvalds      2005-04-16   891  	case UI_SET_RELBIT:
29506415a0ff01 Dmitry Torokhov     2005-11-20   892  		retval = uinput_set_bit(arg, relbit, REL_MAX);
9d51e801dba0c7 Benjamin Tisssoires 2014-01-30   893  		goto out;
^1da177e4c3f41 Linus Torvalds      2005-04-16   894  
^1da177e4c3f41 Linus Torvalds      2005-04-16   895  	case UI_SET_ABSBIT:
29506415a0ff01 Dmitry Torokhov     2005-11-20   896  		retval = uinput_set_bit(arg, absbit, ABS_MAX);
9d51e801dba0c7 Benjamin Tisssoires 2014-01-30   897  		goto out;
^1da177e4c3f41 Linus Torvalds      2005-04-16   898  
^1da177e4c3f41 Linus Torvalds      2005-04-16   899  	case UI_SET_MSCBIT:
29506415a0ff01 Dmitry Torokhov     2005-11-20   900  		retval = uinput_set_bit(arg, mscbit, MSC_MAX);
9d51e801dba0c7 Benjamin Tisssoires 2014-01-30   901  		goto out;
^1da177e4c3f41 Linus Torvalds      2005-04-16   902  
^1da177e4c3f41 Linus Torvalds      2005-04-16   903  	case UI_SET_LEDBIT:
29506415a0ff01 Dmitry Torokhov     2005-11-20   904  		retval = uinput_set_bit(arg, ledbit, LED_MAX);
9d51e801dba0c7 Benjamin Tisssoires 2014-01-30   905  		goto out;
^1da177e4c3f41 Linus Torvalds      2005-04-16   906  
^1da177e4c3f41 Linus Torvalds      2005-04-16   907  	case UI_SET_SNDBIT:
29506415a0ff01 Dmitry Torokhov     2005-11-20   908  		retval = uinput_set_bit(arg, sndbit, SND_MAX);
9d51e801dba0c7 Benjamin Tisssoires 2014-01-30   909  		goto out;
^1da177e4c3f41 Linus Torvalds      2005-04-16   910  
^1da177e4c3f41 Linus Torvalds      2005-04-16   911  	case UI_SET_FFBIT:
29506415a0ff01 Dmitry Torokhov     2005-11-20   912  		retval = uinput_set_bit(arg, ffbit, FF_MAX);
9d51e801dba0c7 Benjamin Tisssoires 2014-01-30   913  		goto out;
^1da177e4c3f41 Linus Torvalds      2005-04-16   914  
59c7c0377e00a3 Dmitry Torokhov     2005-11-20   915  	case UI_SET_SWBIT:
59c7c0377e00a3 Dmitry Torokhov     2005-11-20   916  		retval = uinput_set_bit(arg, swbit, SW_MAX);
9d51e801dba0c7 Benjamin Tisssoires 2014-01-30   917  		goto out;
59c7c0377e00a3 Dmitry Torokhov     2005-11-20   918  
85b7720039fc00 Henrik Rydberg      2010-12-18   919  	case UI_SET_PROPBIT:
85b7720039fc00 Henrik Rydberg      2010-12-18   920  		retval = uinput_set_bit(arg, propbit, INPUT_PROP_MAX);
9d51e801dba0c7 Benjamin Tisssoires 2014-01-30   921  		goto out;
85b7720039fc00 Henrik Rydberg      2010-12-18   922  
^1da177e4c3f41 Linus Torvalds      2005-04-16   923  	case UI_SET_PHYS:
29506415a0ff01 Dmitry Torokhov     2005-11-20   924  		if (udev->state == UIST_CREATED) {
29506415a0ff01 Dmitry Torokhov     2005-11-20   925  			retval = -EINVAL;
29506415a0ff01 Dmitry Torokhov     2005-11-20   926  			goto out;
29506415a0ff01 Dmitry Torokhov     2005-11-20   927  		}
4dfcc271d58746 Dmitry Torokhov     2011-02-11   928  
4dfcc271d58746 Dmitry Torokhov     2011-02-11   929  		phys = strndup_user(p, 1024);
4dfcc271d58746 Dmitry Torokhov     2011-02-11   930  		if (IS_ERR(phys)) {
4dfcc271d58746 Dmitry Torokhov     2011-02-11   931  			retval = PTR_ERR(phys);
4dfcc271d58746 Dmitry Torokhov     2011-02-11   932  			goto out;
^1da177e4c3f41 Linus Torvalds      2005-04-16   933  		}
4dfcc271d58746 Dmitry Torokhov     2011-02-11   934  
^1da177e4c3f41 Linus Torvalds      2005-04-16   935  		kfree(udev->dev->phys);
4dfcc271d58746 Dmitry Torokhov     2011-02-11   936  		udev->dev->phys = phys;
9d51e801dba0c7 Benjamin Tisssoires 2014-01-30   937  		goto out;
^1da177e4c3f41 Linus Torvalds      2005-04-16   938  
^1da177e4c3f41 Linus Torvalds      2005-04-16   939  	case UI_BEGIN_FF_UPLOAD:
2d56f3a32c0e62 Philip Langdale     2008-10-16   940  		retval = uinput_ff_upload_from_user(p, &ff_up);
2d56f3a32c0e62 Philip Langdale     2008-10-16   941  		if (retval)
9d51e801dba0c7 Benjamin Tisssoires 2014-01-30   942  			goto out;
2d56f3a32c0e62 Philip Langdale     2008-10-16   943  
^1da177e4c3f41 Linus Torvalds      2005-04-16   944  		req = uinput_request_find(udev, ff_up.request_id);
54ce165ebd9d94 Dmitry Torokhov     2012-07-29   945  		if (!req || req->code != UI_FF_UPLOAD ||
54ce165ebd9d94 Dmitry Torokhov     2012-07-29   946  		    !req->u.upload.effect) {
^1da177e4c3f41 Linus Torvalds      2005-04-16   947  			retval = -EINVAL;
9d51e801dba0c7 Benjamin Tisssoires 2014-01-30   948  			goto out;
^1da177e4c3f41 Linus Torvalds      2005-04-16   949  		}
2d56f3a32c0e62 Philip Langdale     2008-10-16   950  
^1da177e4c3f41 Linus Torvalds      2005-04-16   951  		ff_up.retval = 0;
2d56f3a32c0e62 Philip Langdale     2008-10-16   952  		ff_up.effect = *req->u.upload.effect;
ff462551235d8d Anssi Hannula       2006-07-19   953  		if (req->u.upload.old)
2d56f3a32c0e62 Philip Langdale     2008-10-16   954  			ff_up.old = *req->u.upload.old;
ff462551235d8d Anssi Hannula       2006-07-19   955  		else
ff462551235d8d Anssi Hannula       2006-07-19   956  			memset(&ff_up.old, 0, sizeof(struct ff_effect));
ff462551235d8d Anssi Hannula       2006-07-19   957  
2d56f3a32c0e62 Philip Langdale     2008-10-16   958  		retval = uinput_ff_upload_to_user(p, &ff_up);
9d51e801dba0c7 Benjamin Tisssoires 2014-01-30   959  		goto out;
^1da177e4c3f41 Linus Torvalds      2005-04-16   960  
^1da177e4c3f41 Linus Torvalds      2005-04-16   961  	case UI_BEGIN_FF_ERASE:
^1da177e4c3f41 Linus Torvalds      2005-04-16   962  		if (copy_from_user(&ff_erase, p, sizeof(ff_erase))) {
^1da177e4c3f41 Linus Torvalds      2005-04-16   963  			retval = -EFAULT;
9d51e801dba0c7 Benjamin Tisssoires 2014-01-30   964  			goto out;
^1da177e4c3f41 Linus Torvalds      2005-04-16   965  		}
2d56f3a32c0e62 Philip Langdale     2008-10-16   966  
^1da177e4c3f41 Linus Torvalds      2005-04-16   967  		req = uinput_request_find(udev, ff_erase.request_id);
2d56f3a32c0e62 Philip Langdale     2008-10-16   968  		if (!req || req->code != UI_FF_ERASE) {
^1da177e4c3f41 Linus Torvalds      2005-04-16   969  			retval = -EINVAL;
9d51e801dba0c7 Benjamin Tisssoires 2014-01-30   970  			goto out;
^1da177e4c3f41 Linus Torvalds      2005-04-16   971  		}
2d56f3a32c0e62 Philip Langdale     2008-10-16   972  
^1da177e4c3f41 Linus Torvalds      2005-04-16   973  		ff_erase.retval = 0;
^1da177e4c3f41 Linus Torvalds      2005-04-16   974  		ff_erase.effect_id = req->u.effect_id;
^1da177e4c3f41 Linus Torvalds      2005-04-16   975  		if (copy_to_user(p, &ff_erase, sizeof(ff_erase))) {
^1da177e4c3f41 Linus Torvalds      2005-04-16   976  			retval = -EFAULT;
9d51e801dba0c7 Benjamin Tisssoires 2014-01-30   977  			goto out;
^1da177e4c3f41 Linus Torvalds      2005-04-16   978  		}
2d56f3a32c0e62 Philip Langdale     2008-10-16   979  
9d51e801dba0c7 Benjamin Tisssoires 2014-01-30   980  		goto out;
^1da177e4c3f41 Linus Torvalds      2005-04-16   981  
^1da177e4c3f41 Linus Torvalds      2005-04-16   982  	case UI_END_FF_UPLOAD:
2d56f3a32c0e62 Philip Langdale     2008-10-16   983  		retval = uinput_ff_upload_from_user(p, &ff_up);
2d56f3a32c0e62 Philip Langdale     2008-10-16   984  		if (retval)
9d51e801dba0c7 Benjamin Tisssoires 2014-01-30   985  			goto out;
2d56f3a32c0e62 Philip Langdale     2008-10-16   986  
^1da177e4c3f41 Linus Torvalds      2005-04-16   987  		req = uinput_request_find(udev, ff_up.request_id);
2d56f3a32c0e62 Philip Langdale     2008-10-16   988  		if (!req || req->code != UI_FF_UPLOAD ||
2d56f3a32c0e62 Philip Langdale     2008-10-16   989  		    !req->u.upload.effect) {
^1da177e4c3f41 Linus Torvalds      2005-04-16   990  			retval = -EINVAL;
9d51e801dba0c7 Benjamin Tisssoires 2014-01-30   991  			goto out;
^1da177e4c3f41 Linus Torvalds      2005-04-16   992  		}
2d56f3a32c0e62 Philip Langdale     2008-10-16   993  
^1da177e4c3f41 Linus Torvalds      2005-04-16   994  		req->retval = ff_up.retval;
6b4877c7bdc6ae Dmitry Torokhov     2017-09-06   995  		complete(&req->done);
9d51e801dba0c7 Benjamin Tisssoires 2014-01-30   996  		goto out;
^1da177e4c3f41 Linus Torvalds      2005-04-16   997  
^1da177e4c3f41 Linus Torvalds      2005-04-16   998  	case UI_END_FF_ERASE:
^1da177e4c3f41 Linus Torvalds      2005-04-16   999  		if (copy_from_user(&ff_erase, p, sizeof(ff_erase))) {
^1da177e4c3f41 Linus Torvalds      2005-04-16  1000  			retval = -EFAULT;
9d51e801dba0c7 Benjamin Tisssoires 2014-01-30  1001  			goto out;
^1da177e4c3f41 Linus Torvalds      2005-04-16  1002  		}
2d56f3a32c0e62 Philip Langdale     2008-10-16  1003  
^1da177e4c3f41 Linus Torvalds      2005-04-16  1004  		req = uinput_request_find(udev, ff_erase.request_id);
2d56f3a32c0e62 Philip Langdale     2008-10-16  1005  		if (!req || req->code != UI_FF_ERASE) {
^1da177e4c3f41 Linus Torvalds      2005-04-16  1006  			retval = -EINVAL;
9d51e801dba0c7 Benjamin Tisssoires 2014-01-30  1007  			goto out;
^1da177e4c3f41 Linus Torvalds      2005-04-16  1008  		}
2d56f3a32c0e62 Philip Langdale     2008-10-16  1009  
^1da177e4c3f41 Linus Torvalds      2005-04-16  1010  		req->retval = ff_erase.retval;
6b4877c7bdc6ae Dmitry Torokhov     2017-09-06  1011  		complete(&req->done);
9d51e801dba0c7 Benjamin Tisssoires 2014-01-30  1012  		goto out;
^1da177e4c3f41 Linus Torvalds      2005-04-16  1013  	}
29506415a0ff01 Dmitry Torokhov     2005-11-20  1014  
e3480a61fca72d Benjamin Tissoires  2014-01-30  1015  	size = _IOC_SIZE(cmd);
e3480a61fca72d Benjamin Tissoires  2014-01-30  1016  
e3480a61fca72d Benjamin Tissoires  2014-01-30  1017  	/* Now check variable-length commands */
e3480a61fca72d Benjamin Tissoires  2014-01-30  1018  	switch (cmd & ~IOCSIZE_MASK) {
e3480a61fca72d Benjamin Tissoires  2014-01-30  1019  	case UI_GET_SYSNAME(0):
e3480a61fca72d Benjamin Tissoires  2014-01-30  1020  		if (udev->state != UIST_CREATED) {
e3480a61fca72d Benjamin Tissoires  2014-01-30  1021  			retval = -ENOENT;
e3480a61fca72d Benjamin Tissoires  2014-01-30  1022  			goto out;
e3480a61fca72d Benjamin Tissoires  2014-01-30  1023  		}
e3480a61fca72d Benjamin Tissoires  2014-01-30  1024  		name = dev_name(&udev->dev->dev);
e3480a61fca72d Benjamin Tissoires  2014-01-30  1025  		retval = uinput_str_to_user(p, name, size);
e3480a61fca72d Benjamin Tissoires  2014-01-30  1026  		goto out;
052876f8e5aec8 Benjamin Tissoires  2015-12-18  1027  
052876f8e5aec8 Benjamin Tissoires  2015-12-18  1028  	case UI_ABS_SETUP & ~IOCSIZE_MASK:
052876f8e5aec8 Benjamin Tissoires  2015-12-18  1029  		retval = uinput_abs_setup(udev, p, size);
052876f8e5aec8 Benjamin Tissoires  2015-12-18  1030  		goto out;
e3480a61fca72d Benjamin Tissoires  2014-01-30  1031  	}
e3480a61fca72d Benjamin Tissoires  2014-01-30  1032  
9d51e801dba0c7 Benjamin Tisssoires 2014-01-30  1033  	retval = -EINVAL;
29506415a0ff01 Dmitry Torokhov     2005-11-20  1034   out:
221979aad6ab47 Dmitry Torokhov     2006-02-19  1035  	mutex_unlock(&udev->mutex);
^1da177e4c3f41 Linus Torvalds      2005-04-16  1036  	return retval;
^1da177e4c3f41 Linus Torvalds      2005-04-16  1037  }
^1da177e4c3f41 Linus Torvalds      2005-04-16  1038  

:::::: The code at line 835 was first introduced by commit
:::::: e3480a61fca72d40d6dc4baaf37e94fcbfa95e19 Input: uinput - add UI_GET_SYSNAME ioctl to retrieve the sysfs path

:::::: TO: Benjamin Tissoires <benjamin.tissoires@...hat.com>
:::::: CC: Dmitry Torokhov <dmitry.torokhov@...il.com>

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

View attachment "config" of type "text/plain" (122295 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ