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 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 :::::: CC: Linus Torvalds -- 0-DAY CI Kernel Test Service https://01.org/lkp