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: <202211151123.RwDLpJdA-lkp@intel.com>
Date:   Tue, 15 Nov 2022 11:35:26 +0800
From:   kernel test robot <lkp@...el.com>
To:     "Kirill A. Shutemov" <kirill.shutemov@...ux.intel.com>
Cc:     oe-kbuild-all@...ts.linux.dev, linux-kernel@...r.kernel.org,
        x86@...nel.org, Dave Hansen <dave.hansen@...ux.intel.com>
Subject: [tip:x86/mm 5/16] net/ax25/af_ax25.c:720:13: sparse: sparse:
 incorrect type in assignment (different address spaces)

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86/mm
head:   bf1269766228ef169145af26ae50ef9ef095b6fe
commit: 5744534bdae403270f86d934a6c5878da6a5a64f [5/16] x86/uaccess: Provide untagged_addr() and remove tags before address check
config: x86_64-randconfig-s052-20221114
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/tip/tip.git/commit/?id=5744534bdae403270f86d934a6c5878da6a5a64f
        git remote add tip https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git
        git fetch --no-tags tip x86/mm
        git checkout 5744534bdae403270f86d934a6c5878da6a5a64f
        # 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 drivers/cxl/core/ drivers/hid/ drivers/media/rc/ drivers/net/ drivers/staging/rtl8712/ drivers/thermal/intel/int340x_thermal/ drivers/tty/ drivers/usb/image/ drivers/vhost/ net/ax25/ net/bluetooth/ net/netrom/ net/qrtr/ net/rfkill/ net/rose/ net/x25/ net/xdp/ sound/firewire/motu/ sound/pci/hda/

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 >>)
>> net/ax25/af_ax25.c:720:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   net/ax25/af_ax25.c:720:13: sparse:     expected int [noderef] __user *__ptr_clean
   net/ax25/af_ax25.c:720:13: sparse:     got int *
   net/ax25/af_ax25.c:797:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   net/ax25/af_ax25.c:797:13: sparse:     expected int [noderef] __user *__ptr_clean
   net/ax25/af_ax25.c:797:13: sparse:     got int *
   net/ax25/af_ax25.c:1775:23: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   net/ax25/af_ax25.c:1775:23: sparse:     expected int [noderef] __user *__ptr_clean
   net/ax25/af_ax25.c:1775:23: sparse:     got int *
   net/ax25/af_ax25.c:1785:23: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   net/ax25/af_ax25.c:1785:23: sparse:     expected int [noderef] __user *__ptr_clean
   net/ax25/af_ax25.c:1785:23: sparse:     got int *
>> net/ax25/af_ax25.c:1807:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected long [noderef] __user *__ptr_clean @@     got long * @@
   net/ax25/af_ax25.c:1807:21: sparse:     expected long [noderef] __user *__ptr_clean
   net/ax25/af_ax25.c:1807:21: sparse:     got long *
--
>> net/bluetooth/iso.c:1256:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   net/bluetooth/iso.c:1256:13: sparse:     expected int [noderef] __user *__ptr_clean
   net/bluetooth/iso.c:1256:13: sparse:     got int *
>> net/bluetooth/iso.c:1268:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   net/bluetooth/iso.c:1268:21: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   net/bluetooth/iso.c:1268:21: sparse:     got unsigned int *
--
>> net/netrom/af_netrom.c:359:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   net/netrom/af_netrom.c:359:13: sparse:     expected int [noderef] __user *__ptr_clean
   net/netrom/af_netrom.c:359:13: sparse:     got int *
   net/netrom/af_netrom.c:392:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   net/netrom/af_netrom.c:392:13: sparse:     expected int [noderef] __user *__ptr_clean
   net/netrom/af_netrom.c:392:13: sparse:     got int *
   net/netrom/af_netrom.c:1212:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   net/netrom/af_netrom.c:1212:24: sparse:     expected int [noderef] __user *__ptr_clean
   net/netrom/af_netrom.c:1212:24: sparse:     got int *
   net/netrom/af_netrom.c:1224:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   net/netrom/af_netrom.c:1224:24: sparse:     expected int [noderef] __user *__ptr_clean
   net/netrom/af_netrom.c:1224:24: sparse:     got int *
--
   net/qrtr/af_qrtr.c:179:27: sparse: sparse: incompatible types in comparison expression (different base types):
   net/qrtr/af_qrtr.c:179:27: sparse:    void [noderef] __rcu *
   net/qrtr/af_qrtr.c:179:27: sparse:    struct qrtr_node *
   net/qrtr/af_qrtr.c:366:25: sparse: sparse: incorrect type in assignment (different base types) @@     expected restricted __le32 [usertype] confirm_rx @@     got int @@
   net/qrtr/af_qrtr.c:630:27: sparse: sparse: incompatible types in comparison expression (different base types):
   net/qrtr/af_qrtr.c:630:27: sparse:    void [noderef] __rcu *
   net/qrtr/af_qrtr.c:630:27: sparse:    struct qrtr_node *
>> net/qrtr/af_qrtr.c:1154:22: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   net/qrtr/af_qrtr.c:1160:22: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
--
>> net/rfkill/core.c:1354:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   net/rfkill/core.c:1354:21: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   net/rfkill/core.c:1354:21: sparse:     got unsigned int *
--
>> net/rose/af_rose.c:440:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   net/rose/af_rose.c:440:13: sparse:     expected int [noderef] __user *__ptr_clean
   net/rose/af_rose.c:440:13: sparse:     got int *
   net/rose/af_rose.c:481:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   net/rose/af_rose.c:481:13: sparse:     expected int [noderef] __user *__ptr_clean
   net/rose/af_rose.c:481:13: sparse:     got int *
>> net/rose/af_rose.c:1304:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   net/rose/af_rose.c:1304:24: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   net/rose/af_rose.c:1304:24: sparse:     got unsigned int *
   net/rose/af_rose.c:1313:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   net/rose/af_rose.c:1313:24: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   net/rose/af_rose.c:1313:24: sparse:     got unsigned int *
--
>> net/x25/af_x25.c:460:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   net/x25/af_x25.c:460:13: sparse:     expected int [noderef] __user *__ptr_clean
   net/x25/af_x25.c:460:13: sparse:     got int *
   net/x25/af_x25.c:470:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   net/x25/af_x25.c:470:13: sparse:     expected int [noderef] __user *__ptr_clean
   net/x25/af_x25.c:470:13: sparse:     got int *
>> net/x25/af_x25.c:1386:22: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   net/x25/af_x25.c:1386:22: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   net/x25/af_x25.c:1386:22: sparse:     got unsigned int *
   net/x25/af_x25.c:1401:22: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   net/x25/af_x25.c:1401:22: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   net/x25/af_x25.c:1401:22: sparse:     got unsigned int *
--
>> drivers/hid/hid-roccat.c:397:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/hid/hid-roccat.c:397:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/hid/hid-roccat.c:397:21: sparse:     got int *
--
>> net/xdp/xsk.c:1170:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   net/xdp/xsk.c:1170:13: sparse:     expected int [noderef] __user *__ptr_clean
   net/xdp/xsk.c:1170:13: sparse:     got int *
   net/xdp/xsk.c:1207:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   net/xdp/xsk.c:1207:21: sparse:     expected int [noderef] __user *__ptr_clean
   net/xdp/xsk.c:1207:21: sparse:     got int *
   net/xdp/xsk.c:1259:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   net/xdp/xsk.c:1259:21: sparse:     expected int [noderef] __user *__ptr_clean
   net/xdp/xsk.c:1259:21: sparse:     got int *
   net/xdp/xsk.c:1279:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   net/xdp/xsk.c:1279:21: sparse:     expected int [noderef] __user *__ptr_clean
   net/xdp/xsk.c:1279:21: sparse:     got int *
--
>> drivers/net/sb1000.c:1035:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/net/sb1000.c:1035:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/net/sb1000.c:1035:21: sparse:     got int *
   drivers/net/sb1000.c:1042:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/net/sb1000.c:1042:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/net/sb1000.c:1042:21: sparse:     got int *
   drivers/net/sb1000.c:847:31: sparse: sparse: incorrect type in assignment (different base types) @@     expected restricted __be16 [usertype] protocol @@     got unsigned short @@
   drivers/net/sb1000.c:847:31: sparse:     expected restricted __be16 [usertype] protocol
   drivers/net/sb1000.c:847:31: sparse:     got unsigned short
--
   drivers/tty/mxser.c:291:32: sparse: sparse: array of flexible structures
>> drivers/tty/mxser.c:1093:16: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   drivers/tty/mxser.c:1093:16: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   drivers/tty/mxser.c:1093:16: sparse:     got unsigned int *
>> drivers/tty/mxser.c:1178:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/tty/mxser.c:1178:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/tty/mxser.c:1178:21: sparse:     got int *
   drivers/tty/mxser.c:1198:16: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/tty/mxser.c:1198:16: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/tty/mxser.c:1198:16: sparse:     got int *
--
>> drivers/vhost/vringh.c:592:18: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected restricted __virtio16 [noderef] __user *__ptr_clean @@     got restricted __virtio16 * @@
   drivers/vhost/vringh.c:592:18: sparse:     expected restricted __virtio16 [noderef] __user *__ptr_clean
   drivers/vhost/vringh.c:592:18: sparse:     got restricted __virtio16 *
   drivers/vhost/vringh.c:600:16: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected restricted __virtio16 [noderef] __user *__ptr_clean @@     got restricted __virtio16 * @@
   drivers/vhost/vringh.c:600:16: sparse:     expected restricted __virtio16 [noderef] __user *__ptr_clean
   drivers/vhost/vringh.c:600:16: sparse:     got restricted __virtio16 *
--
>> drivers/cxl/core/mbox.c:440:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   drivers/cxl/core/mbox.c:440:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   drivers/cxl/core/mbox.c:440:13: sparse:     got unsigned int *
   drivers/cxl/core/mbox.c:445:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   drivers/cxl/core/mbox.c:445:24: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   drivers/cxl/core/mbox.c:445:24: sparse:     got unsigned int *
--
>> sound/pci/hda/hda_hwdep.c:26:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   sound/pci/hda/hda_hwdep.c:26:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   sound/pci/hda/hda_hwdep.c:26:13: sparse:     got unsigned int *
   sound/pci/hda/hda_hwdep.c:30:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   sound/pci/hda/hda_hwdep.c:30:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   sound/pci/hda/hda_hwdep.c:30:13: sparse:     got unsigned int *
   sound/pci/hda/hda_hwdep.c:40:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   sound/pci/hda/hda_hwdep.c:40:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   sound/pci/hda/hda_hwdep.c:40:13: sparse:     got unsigned int *
   sound/pci/hda/hda_hwdep.c:52:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   sound/pci/hda/hda_hwdep.c:52:13: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   sound/pci/hda/hda_hwdep.c:52:13: sparse:     got unsigned int *
>> sound/pci/hda/hda_hwdep.c:68:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   sound/pci/hda/hda_hwdep.c:68:24: sparse:     expected int [noderef] __user *__ptr_clean
   sound/pci/hda/hda_hwdep.c:68:24: sparse:     got int *
--
>> drivers/media/rc/lirc_dev.c:365:23: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   drivers/media/rc/lirc_dev.c:365:23: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   drivers/media/rc/lirc_dev.c:365:23: sparse:     got unsigned int *
   drivers/media/rc/lirc_dev.c:569:23: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   drivers/media/rc/lirc_dev.c:569:23: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   drivers/media/rc/lirc_dev.c:569:23: sparse:     got unsigned int *
--
>> drivers/hid/usbhid/hiddev.c:573:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/hid/usbhid/hiddev.c:573:13: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/hid/usbhid/hiddev.c:573:13: sparse:     got int *
   drivers/hid/usbhid/hiddev.c:621:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/hid/usbhid/hiddev.c:621:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/hid/usbhid/hiddev.c:621:21: sparse:     got int *
   drivers/hid/usbhid/hiddev.c:660:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/hid/usbhid/hiddev.c:660:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/hid/usbhid/hiddev.c:660:21: sparse:     got int *
   drivers/hid/usbhid/hiddev.c:668:29: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/hid/usbhid/hiddev.c:668:29: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/hid/usbhid/hiddev.c:668:29: sparse:     got int *
--
>> drivers/staging/rtl8712/rtl871x_ioctl_linux.c:1822:9: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   drivers/staging/rtl8712/rtl871x_ioctl_linux.c:1822:9: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   drivers/staging/rtl8712/rtl871x_ioctl_linux.c:1822:9: sparse:     got unsigned int *
   drivers/staging/rtl8712/rtl871x_ioctl_linux.c:1824:9: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   drivers/staging/rtl8712/rtl871x_ioctl_linux.c:1824:9: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   drivers/staging/rtl8712/rtl871x_ioctl_linux.c:1824:9: sparse:     got unsigned int *
   drivers/staging/rtl8712/rtl871x_ioctl_linux.c:1827:9: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   drivers/staging/rtl8712/rtl871x_ioctl_linux.c:1827:9: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   drivers/staging/rtl8712/rtl871x_ioctl_linux.c:1827:9: sparse:     got unsigned int *
   drivers/staging/rtl8712/rtl871x_ioctl_linux.c:1839:9: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   drivers/staging/rtl8712/rtl871x_ioctl_linux.c:1839:9: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   drivers/staging/rtl8712/rtl871x_ioctl_linux.c:1839:9: sparse:     got unsigned int *
--
>> drivers/usb/image/mdc800.c:806:20: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected char const [noderef] __user *__ptr_clean @@     got char const * @@
   drivers/usb/image/mdc800.c:806:20: sparse:     expected char const [noderef] __user *__ptr_clean
   drivers/usb/image/mdc800.c:806:20: sparse:     got char const *
--
>> sound/firewire/motu/motu-hwdep.c:78:29: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   sound/firewire/motu/motu-hwdep.c:78:29: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   sound/firewire/motu/motu-hwdep.c:78:29: sparse:     got unsigned int *
   sound/firewire/motu/motu-hwdep.c:92:9: sparse: sparse: context imbalance in 'hwdep_read' - different lock contexts for basic block
--
>> drivers/thermal/intel/int340x_thermal/acpi_thermal_rel.c:308:32: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned long [noderef] __user *__ptr_clean @@     got unsigned long * @@
   drivers/thermal/intel/int340x_thermal/acpi_thermal_rel.c:308:32: sparse:     expected unsigned long [noderef] __user *__ptr_clean
   drivers/thermal/intel/int340x_thermal/acpi_thermal_rel.c:308:32: sparse:     got unsigned long *
   drivers/thermal/intel/int340x_thermal/acpi_thermal_rel.c:316:32: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned long [noderef] __user *__ptr_clean @@     got unsigned long * @@
   drivers/thermal/intel/int340x_thermal/acpi_thermal_rel.c:316:32: sparse:     expected unsigned long [noderef] __user *__ptr_clean
   drivers/thermal/intel/int340x_thermal/acpi_thermal_rel.c:316:32: sparse:     got unsigned long *
   drivers/thermal/intel/int340x_thermal/acpi_thermal_rel.c:325:32: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned long [noderef] __user *__ptr_clean @@     got unsigned long * @@
   drivers/thermal/intel/int340x_thermal/acpi_thermal_rel.c:325:32: sparse:     expected unsigned long [noderef] __user *__ptr_clean
   drivers/thermal/intel/int340x_thermal/acpi_thermal_rel.c:325:32: sparse:     got unsigned long *
   drivers/thermal/intel/int340x_thermal/acpi_thermal_rel.c:333:32: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned long [noderef] __user *__ptr_clean @@     got unsigned long * @@
   drivers/thermal/intel/int340x_thermal/acpi_thermal_rel.c:333:32: sparse:     expected unsigned long [noderef] __user *__ptr_clean
   drivers/thermal/intel/int340x_thermal/acpi_thermal_rel.c:333:32: sparse:     got unsigned long *
--
>> drivers/tty/ipwireless/network.c:168:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/tty/ipwireless/network.c:168:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/tty/ipwireless/network.c:168:21: sparse:     got int *
   drivers/tty/ipwireless/network.c:174:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/tty/ipwireless/network.c:174:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/tty/ipwireless/network.c:174:21: sparse:     got int *
   drivers/tty/ipwireless/network.c:182:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/tty/ipwireless/network.c:182:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/tty/ipwireless/network.c:182:21: sparse:     got int *
   drivers/tty/ipwireless/network.c:188:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/tty/ipwireless/network.c:188:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/tty/ipwireless/network.c:188:21: sparse:     got int *
   drivers/tty/ipwireless/network.c:194:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/tty/ipwireless/network.c:194:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/tty/ipwireless/network.c:194:21: sparse:     got int *
   drivers/tty/ipwireless/network.c:200:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/tty/ipwireless/network.c:200:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/tty/ipwireless/network.c:200:21: sparse:     got int *
   drivers/tty/ipwireless/network.c:222:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/tty/ipwireless/network.c:222:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/tty/ipwireless/network.c:222:21: sparse:     got int *
   drivers/tty/ipwireless/network.c:228:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/tty/ipwireless/network.c:228:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/tty/ipwireless/network.c:228:21: sparse:     got int *
--
>> drivers/tty/ipwireless/tty.c:403:37: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/tty/ipwireless/tty.c:403:37: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/tty/ipwireless/tty.c:403:37: sparse:     got int *
   drivers/tty/ipwireless/tty.c:415:37: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/tty/ipwireless/tty.c:415:37: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/tty/ipwireless/tty.c:415:37: sparse:     got int *
   drivers/tty/ipwireless/tty.c:424:37: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/tty/ipwireless/tty.c:424:37: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/tty/ipwireless/tty.c:424:37: sparse:     got int *
--
>> drivers/net/hamradio/mkiss.c:828:23: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/net/hamradio/mkiss.c:828:23: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/net/hamradio/mkiss.c:828:23: sparse:     got int *
   drivers/net/hamradio/mkiss.c:832:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/net/hamradio/mkiss.c:832:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/net/hamradio/mkiss.c:832:21: sparse:     got int *
--
>> drivers/net/hamradio/6pack.c:704:23: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/net/hamradio/6pack.c:704:23: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/net/hamradio/6pack.c:704:23: sparse:     got int *
   drivers/net/hamradio/6pack.c:708:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/net/hamradio/6pack.c:708:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/net/hamradio/6pack.c:708:21: sparse:     got int *
--
>> drivers/net/ppp/ppp_generic.c:1041:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/net/ppp/ppp_generic.c:1041:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/net/ppp/ppp_generic.c:1041:21: sparse:     got int *
   drivers/net/ppp/ppp_generic.c:1048:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/net/ppp/ppp_generic.c:1048:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/net/ppp/ppp_generic.c:1048:21: sparse:     got int *
   drivers/net/ppp/ppp_generic.c:1055:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/net/ppp/ppp_generic.c:1055:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/net/ppp/ppp_generic.c:1055:21: sparse:     got int *
   drivers/net/ppp/ppp_generic.c:1070:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/net/ppp/ppp_generic.c:1070:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/net/ppp/ppp_generic.c:1070:21: sparse:     got int *
   drivers/net/ppp/ppp_generic.c:742:29: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/net/ppp/ppp_generic.c:742:29: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/net/ppp/ppp_generic.c:742:29: sparse:     got int *
   drivers/net/ppp/ppp_generic.c:752:29: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/net/ppp/ppp_generic.c:752:29: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/net/ppp/ppp_generic.c:752:29: sparse:     got int *
   drivers/net/ppp/ppp_generic.c:797:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/net/ppp/ppp_generic.c:797:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/net/ppp/ppp_generic.c:797:21: sparse:     got int *
   drivers/net/ppp/ppp_generic.c:804:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/net/ppp/ppp_generic.c:804:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/net/ppp/ppp_generic.c:804:21: sparse:     got int *
   drivers/net/ppp/ppp_generic.c:821:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/net/ppp/ppp_generic.c:821:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/net/ppp/ppp_generic.c:821:21: sparse:     got int *
   drivers/net/ppp/ppp_generic.c:836:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/net/ppp/ppp_generic.c:836:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/net/ppp/ppp_generic.c:836:21: sparse:     got int *
   drivers/net/ppp/ppp_generic.c:842:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/net/ppp/ppp_generic.c:842:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/net/ppp/ppp_generic.c:842:21: sparse:     got int *
   drivers/net/ppp/ppp_generic.c:849:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/net/ppp/ppp_generic.c:849:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/net/ppp/ppp_generic.c:849:21: sparse:     got int *
   drivers/net/ppp/ppp_generic.c:871:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/net/ppp/ppp_generic.c:871:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/net/ppp/ppp_generic.c:871:21: sparse:     got int *
   drivers/net/ppp/ppp_generic.c:939:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/net/ppp/ppp_generic.c:939:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/net/ppp/ppp_generic.c:939:21: sparse:     got int *
--
>> drivers/net/ppp/ppp_async.c:414:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/net/ppp/ppp_async.c:414:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/net/ppp/ppp_async.c:414:21: sparse:     got int *
   drivers/net/ppp/ppp_async.c:419:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/net/ppp/ppp_async.c:419:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/net/ppp/ppp_async.c:419:21: sparse:     got int *
>> drivers/net/ppp/ppp_async.c:429:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   drivers/net/ppp/ppp_async.c:429:21: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   drivers/net/ppp/ppp_async.c:429:21: sparse:     got unsigned int *
   drivers/net/ppp/ppp_async.c:434:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   drivers/net/ppp/ppp_async.c:434:21: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   drivers/net/ppp/ppp_async.c:434:21: sparse:     got unsigned int *
   drivers/net/ppp/ppp_async.c:440:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   drivers/net/ppp/ppp_async.c:440:21: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   drivers/net/ppp/ppp_async.c:440:21: sparse:     got unsigned int *
   drivers/net/ppp/ppp_async.c:445:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   drivers/net/ppp/ppp_async.c:445:21: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   drivers/net/ppp/ppp_async.c:445:21: sparse:     got unsigned int *
   drivers/net/ppp/ppp_async.c:465:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/net/ppp/ppp_async.c:465:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/net/ppp/ppp_async.c:465:21: sparse:     got int *
   drivers/net/ppp/ppp_async.c:470:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/net/ppp/ppp_async.c:470:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/net/ppp/ppp_async.c:470:21: sparse:     got int *
   drivers/net/ppp/ppp_async.c:296:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/net/ppp/ppp_async.c:296:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/net/ppp/ppp_async.c:296:21: sparse:     got int *
   drivers/net/ppp/ppp_async.c:303:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/net/ppp/ppp_async.c:303:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/net/ppp/ppp_async.c:303:21: sparse:     got int *
   drivers/net/ppp/ppp_async.c:317:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/net/ppp/ppp_async.c:317:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/net/ppp/ppp_async.c:317:21: sparse:     got int *
--
>> drivers/net/ppp/pppox.c:84:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/net/ppp/pppox.c:84:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/net/ppp/pppox.c:84:21: sparse:     got int *
--
>> drivers/net/ppp/ppp_synctty.c:407:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/net/ppp/ppp_synctty.c:407:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/net/ppp/ppp_synctty.c:407:21: sparse:     got int *
   drivers/net/ppp/ppp_synctty.c:412:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/net/ppp/ppp_synctty.c:412:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/net/ppp/ppp_synctty.c:412:21: sparse:     got int *
>> drivers/net/ppp/ppp_synctty.c:422:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   drivers/net/ppp/ppp_synctty.c:422:21: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   drivers/net/ppp/ppp_synctty.c:422:21: sparse:     got unsigned int *
   drivers/net/ppp/ppp_synctty.c:427:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   drivers/net/ppp/ppp_synctty.c:427:21: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   drivers/net/ppp/ppp_synctty.c:427:21: sparse:     got unsigned int *
   drivers/net/ppp/ppp_synctty.c:433:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   drivers/net/ppp/ppp_synctty.c:433:21: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   drivers/net/ppp/ppp_synctty.c:433:21: sparse:     got unsigned int *
   drivers/net/ppp/ppp_synctty.c:438:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [noderef] __user *__ptr_clean @@     got unsigned int * @@
   drivers/net/ppp/ppp_synctty.c:438:21: sparse:     expected unsigned int [noderef] __user *__ptr_clean
   drivers/net/ppp/ppp_synctty.c:438:21: sparse:     got unsigned int *
   drivers/net/ppp/ppp_synctty.c:458:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/net/ppp/ppp_synctty.c:458:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/net/ppp/ppp_synctty.c:458:21: sparse:     got int *
   drivers/net/ppp/ppp_synctty.c:463:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/net/ppp/ppp_synctty.c:463:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/net/ppp/ppp_synctty.c:463:21: sparse:     got int *
   drivers/net/ppp/ppp_synctty.c:289:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/net/ppp/ppp_synctty.c:289:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/net/ppp/ppp_synctty.c:289:21: sparse:     got int *
   drivers/net/ppp/ppp_synctty.c:296:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/net/ppp/ppp_synctty.c:296:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/net/ppp/ppp_synctty.c:296:21: sparse:     got int *
   drivers/net/ppp/ppp_synctty.c:310:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/net/ppp/ppp_synctty.c:310:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/net/ppp/ppp_synctty.c:310:21: sparse:     got int *
   drivers/net/ppp/ppp_synctty.c:587:1: sparse: sparse: context imbalance in 'ppp_sync_push' - wrong count at exit
--
   drivers/net/ppp/pppoe.c: note: in included file (through include/linux/if_pppox.h):
   include/uapi/linux/if_pppox.h:153:29: sparse: sparse: array of flexible structures
>> drivers/net/ppp/pppoe.c:751:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/net/ppp/pppoe.c:751:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/net/ppp/pppoe.c:751:21: sparse:     got int *
   drivers/net/ppp/pppoe.c:765:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/net/ppp/pppoe.c:765:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/net/ppp/pppoe.c:765:21: sparse:     got int *
   drivers/net/ppp/pppoe.c:778:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int [noderef] __user *__ptr_clean @@     got int * @@
   drivers/net/ppp/pppoe.c:778:21: sparse:     expected int [noderef] __user *__ptr_clean
   drivers/net/ppp/pppoe.c:778:21: sparse:     got int *

vim +720 net/ax25/af_ax25.c

^1da177e4c3f41 Linus Torvalds 2005-04-16  705  
^1da177e4c3f41 Linus Torvalds 2005-04-16  706  static int ax25_getsockopt(struct socket *sock, int level, int optname,
^1da177e4c3f41 Linus Torvalds 2005-04-16  707  	char __user *optval, int __user *optlen)
^1da177e4c3f41 Linus Torvalds 2005-04-16  708  {
^1da177e4c3f41 Linus Torvalds 2005-04-16  709  	struct sock *sk = sock->sk;
^1da177e4c3f41 Linus Torvalds 2005-04-16  710  	ax25_cb *ax25;
^1da177e4c3f41 Linus Torvalds 2005-04-16  711  	struct ax25_dev *ax25_dev;
^1da177e4c3f41 Linus Torvalds 2005-04-16  712  	char devname[IFNAMSIZ];
^1da177e4c3f41 Linus Torvalds 2005-04-16  713  	void *valptr;
^1da177e4c3f41 Linus Torvalds 2005-04-16  714  	int val = 0;
^1da177e4c3f41 Linus Torvalds 2005-04-16  715  	int maxlen, length;
^1da177e4c3f41 Linus Torvalds 2005-04-16  716  
^1da177e4c3f41 Linus Torvalds 2005-04-16  717  	if (level != SOL_AX25)
^1da177e4c3f41 Linus Torvalds 2005-04-16  718  		return -ENOPROTOOPT;
^1da177e4c3f41 Linus Torvalds 2005-04-16  719  
^1da177e4c3f41 Linus Torvalds 2005-04-16 @720  	if (get_user(maxlen, optlen))
^1da177e4c3f41 Linus Torvalds 2005-04-16  721  		return -EFAULT;
^1da177e4c3f41 Linus Torvalds 2005-04-16  722  
^1da177e4c3f41 Linus Torvalds 2005-04-16  723  	if (maxlen < 1)
^1da177e4c3f41 Linus Torvalds 2005-04-16  724  		return -EFAULT;
^1da177e4c3f41 Linus Torvalds 2005-04-16  725  
^1da177e4c3f41 Linus Torvalds 2005-04-16  726  	valptr = (void *) &val;
^1da177e4c3f41 Linus Torvalds 2005-04-16  727  	length = min_t(unsigned int, maxlen, sizeof(int));
^1da177e4c3f41 Linus Torvalds 2005-04-16  728  
^1da177e4c3f41 Linus Torvalds 2005-04-16  729  	lock_sock(sk);
3200392b88dd25 David Miller   2015-06-25  730  	ax25 = sk_to_ax25(sk);
^1da177e4c3f41 Linus Torvalds 2005-04-16  731  
^1da177e4c3f41 Linus Torvalds 2005-04-16  732  	switch (optname) {
^1da177e4c3f41 Linus Torvalds 2005-04-16  733  	case AX25_WINDOW:
^1da177e4c3f41 Linus Torvalds 2005-04-16  734  		val = ax25->window;
^1da177e4c3f41 Linus Torvalds 2005-04-16  735  		break;
^1da177e4c3f41 Linus Torvalds 2005-04-16  736  
^1da177e4c3f41 Linus Torvalds 2005-04-16  737  	case AX25_T1:
^1da177e4c3f41 Linus Torvalds 2005-04-16  738  		val = ax25->t1 / HZ;
^1da177e4c3f41 Linus Torvalds 2005-04-16  739  		break;
^1da177e4c3f41 Linus Torvalds 2005-04-16  740  
^1da177e4c3f41 Linus Torvalds 2005-04-16  741  	case AX25_T2:
^1da177e4c3f41 Linus Torvalds 2005-04-16  742  		val = ax25->t2 / HZ;
^1da177e4c3f41 Linus Torvalds 2005-04-16  743  		break;
^1da177e4c3f41 Linus Torvalds 2005-04-16  744  
^1da177e4c3f41 Linus Torvalds 2005-04-16  745  	case AX25_N2:
^1da177e4c3f41 Linus Torvalds 2005-04-16  746  		val = ax25->n2;
^1da177e4c3f41 Linus Torvalds 2005-04-16  747  		break;
^1da177e4c3f41 Linus Torvalds 2005-04-16  748  
^1da177e4c3f41 Linus Torvalds 2005-04-16  749  	case AX25_T3:
^1da177e4c3f41 Linus Torvalds 2005-04-16  750  		val = ax25->t3 / HZ;
^1da177e4c3f41 Linus Torvalds 2005-04-16  751  		break;
^1da177e4c3f41 Linus Torvalds 2005-04-16  752  
^1da177e4c3f41 Linus Torvalds 2005-04-16  753  	case AX25_IDLE:
^1da177e4c3f41 Linus Torvalds 2005-04-16  754  		val = ax25->idle / (60 * HZ);
^1da177e4c3f41 Linus Torvalds 2005-04-16  755  		break;
^1da177e4c3f41 Linus Torvalds 2005-04-16  756  
^1da177e4c3f41 Linus Torvalds 2005-04-16  757  	case AX25_BACKOFF:
^1da177e4c3f41 Linus Torvalds 2005-04-16  758  		val = ax25->backoff;
^1da177e4c3f41 Linus Torvalds 2005-04-16  759  		break;
^1da177e4c3f41 Linus Torvalds 2005-04-16  760  
^1da177e4c3f41 Linus Torvalds 2005-04-16  761  	case AX25_EXTSEQ:
^1da177e4c3f41 Linus Torvalds 2005-04-16  762  		val = (ax25->modulus == AX25_EMODULUS);
^1da177e4c3f41 Linus Torvalds 2005-04-16  763  		break;
^1da177e4c3f41 Linus Torvalds 2005-04-16  764  
^1da177e4c3f41 Linus Torvalds 2005-04-16  765  	case AX25_PIDINCL:
^1da177e4c3f41 Linus Torvalds 2005-04-16  766  		val = ax25->pidincl;
^1da177e4c3f41 Linus Torvalds 2005-04-16  767  		break;
^1da177e4c3f41 Linus Torvalds 2005-04-16  768  
^1da177e4c3f41 Linus Torvalds 2005-04-16  769  	case AX25_IAMDIGI:
^1da177e4c3f41 Linus Torvalds 2005-04-16  770  		val = ax25->iamdigi;
^1da177e4c3f41 Linus Torvalds 2005-04-16  771  		break;
^1da177e4c3f41 Linus Torvalds 2005-04-16  772  
^1da177e4c3f41 Linus Torvalds 2005-04-16  773  	case AX25_PACLEN:
^1da177e4c3f41 Linus Torvalds 2005-04-16  774  		val = ax25->paclen;
^1da177e4c3f41 Linus Torvalds 2005-04-16  775  		break;
^1da177e4c3f41 Linus Torvalds 2005-04-16  776  
^1da177e4c3f41 Linus Torvalds 2005-04-16  777  	case SO_BINDTODEVICE:
^1da177e4c3f41 Linus Torvalds 2005-04-16  778  		ax25_dev = ax25->ax25_dev;
^1da177e4c3f41 Linus Torvalds 2005-04-16  779  
^1da177e4c3f41 Linus Torvalds 2005-04-16  780  		if (ax25_dev != NULL && ax25_dev->dev != NULL) {
6164b5e3bcabd4 Wolfram Sang   2022-08-18  781  			strscpy(devname, ax25_dev->dev->name, sizeof(devname));
^1da177e4c3f41 Linus Torvalds 2005-04-16  782  			length = strlen(devname) + 1;
^1da177e4c3f41 Linus Torvalds 2005-04-16  783  		} else {
^1da177e4c3f41 Linus Torvalds 2005-04-16  784  			*devname = '\0';
^1da177e4c3f41 Linus Torvalds 2005-04-16  785  			length = 1;
^1da177e4c3f41 Linus Torvalds 2005-04-16  786  		}
^1da177e4c3f41 Linus Torvalds 2005-04-16  787  
^1da177e4c3f41 Linus Torvalds 2005-04-16  788  		valptr = (void *) devname;
^1da177e4c3f41 Linus Torvalds 2005-04-16  789  		break;
^1da177e4c3f41 Linus Torvalds 2005-04-16  790  
^1da177e4c3f41 Linus Torvalds 2005-04-16  791  	default:
^1da177e4c3f41 Linus Torvalds 2005-04-16  792  		release_sock(sk);
^1da177e4c3f41 Linus Torvalds 2005-04-16  793  		return -ENOPROTOOPT;
^1da177e4c3f41 Linus Torvalds 2005-04-16  794  	}
^1da177e4c3f41 Linus Torvalds 2005-04-16  795  	release_sock(sk);
^1da177e4c3f41 Linus Torvalds 2005-04-16  796  
^1da177e4c3f41 Linus Torvalds 2005-04-16  797  	if (put_user(length, optlen))
^1da177e4c3f41 Linus Torvalds 2005-04-16  798  		return -EFAULT;
^1da177e4c3f41 Linus Torvalds 2005-04-16  799  
^1da177e4c3f41 Linus Torvalds 2005-04-16  800  	return copy_to_user(optval, valptr, length) ? -EFAULT : 0;
^1da177e4c3f41 Linus Torvalds 2005-04-16  801  }
^1da177e4c3f41 Linus Torvalds 2005-04-16  802  

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

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

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

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ