tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: dd0d718152e4c65b173070d48ea9dfc06894c3e5 commit: 670d0a4b10704667765f7d18f7592993d02783aa sparse: use identifiers to define address spaces date: 4 days ago config: arm64-randconfig-s031-20200622 (attached as .config) compiler: aarch64-linux-gcc (GCC) 9.3.0 reproduce: # apt-get install sparse # sparse version: v0.6.2-rc1-18-g27caae40-dirty git checkout 670d0a4b10704667765f7d18f7592993d02783aa # save the attached .config to linux build tree make W=1 C=1 ARCH=arm64 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot sparse warnings: (new ones prefixed by >>) >> arch/arm64/kernel/acpi.c:99:30: sparse: sparse: incorrect type in return expression (different address spaces) @@ expected void [noderef] __iomem * @@ got void * @@ >> arch/arm64/kernel/acpi.c:99:30: sparse: expected void [noderef] __iomem * arch/arm64/kernel/acpi.c:99:30: sparse: got void * >> arch/arm64/kernel/acpi.c:107:24: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *addr @@ got void [noderef] __iomem *map @@ arch/arm64/kernel/acpi.c:107:24: sparse: expected void *addr >> arch/arm64/kernel/acpi.c:107:24: sparse: got void [noderef] __iomem *map -- net/802/mrp.c:864:9: sparse: sparse: cast removes address space '__rcu' of expression >> net/802/mrp.c:864:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile *p @@ got struct mrp_applicant [noderef] __rcu *[noderef] __rcu *__p @@ net/802/mrp.c:864:9: sparse: expected void const volatile *p >> net/802/mrp.c:864:9: sparse: got struct mrp_applicant [noderef] __rcu *[noderef] __rcu *__p net/802/mrp.c:864:9: sparse: sparse: dereference of noderef expression net/802/mrp.c:864:9: sparse: sparse: dereference of noderef expression -- >> drivers/pci/controller/dwc/pcie-hisi.c:66:37: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void [noderef] __iomem *reg_base @@ got void *priv @@ >> drivers/pci/controller/dwc/pcie-hisi.c:66:37: sparse: expected void [noderef] __iomem *reg_base drivers/pci/controller/dwc/pcie-hisi.c:66:37: sparse: got void *priv >> drivers/pci/controller/dwc/pcie-hisi.c:103:19: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void *priv @@ got void [noderef] __iomem *[assigned] reg_base @@ drivers/pci/controller/dwc/pcie-hisi.c:103:19: sparse: expected void *priv >> drivers/pci/controller/dwc/pcie-hisi.c:103:19: sparse: got void [noderef] __iomem *[assigned] reg_base -- >> drivers/phy/qualcomm/phy-qcom-ufs.c:84:21: sparse: sparse: cast removes address space '__iomem' of expression drivers/phy/qualcomm/phy-qcom-ufs.c:85:32: sparse: sparse: cast removes address space '__iomem' of expression drivers/phy/qualcomm/phy-qcom-ufs.c:96:21: sparse: sparse: cast removes address space '__iomem' of expression -- >> drivers/firmware/efi/test/efi_test.c:157:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned long [noderef] __user *__p @@ got unsigned long *[addressable] data_size @@ >> drivers/firmware/efi/test/efi_test.c:157:13: sparse: expected unsigned long [noderef] __user *__p drivers/firmware/efi/test/efi_test.c:157:13: sparse: got unsigned long *[addressable] data_size drivers/firmware/efi/test/efi_test.c:160:61: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got struct guid_t [usertype] *[addressable] vendor_guid @@ drivers/firmware/efi/test/efi_test.c:160:61: sparse: expected void const [noderef] __user *from drivers/firmware/efi/test/efi_test.c:160:61: sparse: got struct guid_t [usertype] *[addressable] vendor_guid drivers/firmware/efi/test/efi_test.c:167:60: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected unsigned short [noderef] [usertype] __user *src @@ got unsigned short [usertype] *[addressable] variable_name @@ drivers/firmware/efi/test/efi_test.c:167:60: sparse: expected unsigned short [noderef] [usertype] __user *src drivers/firmware/efi/test/efi_test.c:167:60: sparse: got unsigned short [usertype] *[addressable] variable_name >> drivers/firmware/efi/test/efi_test.c:187:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned long [noderef] __user *__p @@ got unsigned long [usertype] *[addressable] status @@ drivers/firmware/efi/test/efi_test.c:187:13: sparse: expected unsigned long [noderef] __user *__p drivers/firmware/efi/test/efi_test.c:187:13: sparse: got unsigned long [usertype] *[addressable] status drivers/firmware/efi/test/efi_test.c:194:35: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned long [noderef] __user *__p @@ got unsigned long *[addressable] data_size @@ drivers/firmware/efi/test/efi_test.c:194:35: sparse: expected unsigned long [noderef] __user *__p drivers/firmware/efi/test/efi_test.c:194:35: sparse: got unsigned long *[addressable] data_size drivers/firmware/efi/test/efi_test.c:209:45: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __user *to @@ got void *[addressable] data @@ drivers/firmware/efi/test/efi_test.c:209:45: sparse: expected void [noderef] __user *to drivers/firmware/efi/test/efi_test.c:209:45: sparse: got void *[addressable] data >> drivers/firmware/efi/test/efi_test.c:215:19: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int [noderef] __user *__p @@ got unsigned int [usertype] *[addressable] attributes @@ >> drivers/firmware/efi/test/efi_test.c:215:19: sparse: expected unsigned int [noderef] __user *__p drivers/firmware/efi/test/efi_test.c:215:19: sparse: got unsigned int [usertype] *[addressable] attributes drivers/firmware/efi/test/efi_test.c:220:19: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned long [noderef] __user *__p @@ got unsigned long *[addressable] data_size @@ drivers/firmware/efi/test/efi_test.c:220:19: sparse: expected unsigned long [noderef] __user *__p drivers/firmware/efi/test/efi_test.c:220:19: sparse: got unsigned long *[addressable] data_size drivers/firmware/efi/test/efi_test.c:243:53: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got struct guid_t [usertype] *[addressable] vendor_guid @@ drivers/firmware/efi/test/efi_test.c:243:53: sparse: expected void const [noderef] __user *from drivers/firmware/efi/test/efi_test.c:243:53: sparse: got struct guid_t [usertype] *[addressable] vendor_guid drivers/firmware/efi/test/efi_test.c:248:60: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected unsigned short [noderef] [usertype] __user *src @@ got unsigned short [usertype] *[addressable] variable_name @@ drivers/firmware/efi/test/efi_test.c:248:60: sparse: expected unsigned short [noderef] [usertype] __user *src drivers/firmware/efi/test/efi_test.c:248:60: sparse: got unsigned short [usertype] *[addressable] variable_name drivers/firmware/efi/test/efi_test.c:253:39: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const [noderef] __user * @@ got void *[addressable] data @@ drivers/firmware/efi/test/efi_test.c:253:39: sparse: expected void const [noderef] __user * drivers/firmware/efi/test/efi_test.c:253:39: sparse: got void *[addressable] data drivers/firmware/efi/test/efi_test.c:263:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned long [noderef] __user *__p @@ got unsigned long [usertype] *[addressable] status @@ drivers/firmware/efi/test/efi_test.c:263:13: sparse: expected unsigned long [noderef] __user *__p drivers/firmware/efi/test/efi_test.c:263:13: sparse: got unsigned long [usertype] *[addressable] status drivers/firmware/efi/test/efi_test.c:292:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned long [noderef] __user *__p @@ got unsigned long [usertype] *[addressable] status @@ drivers/firmware/efi/test/efi_test.c:292:13: sparse: expected unsigned long [noderef] __user *__p drivers/firmware/efi/test/efi_test.c:292:13: sparse: got unsigned long [usertype] *[addressable] status drivers/firmware/efi/test/efi_test.c:301:27: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct efi_time_cap_t [noderef] [usertype] __user *cap_local @@ got struct efi_time_cap_t [usertype] * @@ drivers/firmware/efi/test/efi_test.c:301:27: sparse: expected struct efi_time_cap_t [noderef] [usertype] __user *cap_local drivers/firmware/efi/test/efi_test.c:301:27: sparse: got struct efi_time_cap_t [usertype] * drivers/firmware/efi/test/efi_test.c:308:41: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __user *to @@ got struct efi_time_t [usertype] *[addressable] time @@ drivers/firmware/efi/test/efi_test.c:308:41: sparse: expected void [noderef] __user *to drivers/firmware/efi/test/efi_test.c:308:41: sparse: got struct efi_time_t [usertype] *[addressable] time drivers/firmware/efi/test/efi_test.c:325:46: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got struct efi_time_t [usertype] *[addressable] time @@ drivers/firmware/efi/test/efi_test.c:325:46: sparse: expected void const [noderef] __user *from drivers/firmware/efi/test/efi_test.c:325:46: sparse: got struct efi_time_t [usertype] *[addressable] time drivers/firmware/efi/test/efi_test.c:330:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned long [noderef] __user *__p @@ got unsigned long [usertype] *[addressable] status @@ drivers/firmware/efi/test/efi_test.c:330:13: sparse: expected unsigned long [noderef] __user *__p drivers/firmware/efi/test/efi_test.c:330:13: sparse: got unsigned long [usertype] *[addressable] status drivers/firmware/efi/test/efi_test.c:354:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned long [noderef] __user *__p @@ got unsigned long [usertype] *[addressable] status @@ drivers/firmware/efi/test/efi_test.c:354:13: sparse: expected unsigned long [noderef] __user *__p drivers/firmware/efi/test/efi_test.c:354:13: sparse: got unsigned long [usertype] *[addressable] status >> drivers/firmware/efi/test/efi_test.c:360:38: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned char [noderef] __user *__p @@ got unsigned char [usertype] *[addressable] enabled @@ >> drivers/firmware/efi/test/efi_test.c:360:38: sparse: expected unsigned char [noderef] __user *__p drivers/firmware/efi/test/efi_test.c:360:38: sparse: got unsigned char [usertype] *[addressable] enabled drivers/firmware/efi/test/efi_test.c:365:47: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __user *to @@ got struct efi_time_t [usertype] *[addressable] time @@ drivers/firmware/efi/test/efi_test.c:365:47: sparse: expected void [noderef] __user *to drivers/firmware/efi/test/efi_test.c:365:47: sparse: got struct efi_time_t [usertype] *[addressable] time drivers/firmware/efi/test/efi_test.c:389:60: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got struct efi_time_t [usertype] *[addressable] time @@ drivers/firmware/efi/test/efi_test.c:389:60: sparse: expected void const [noderef] __user *from drivers/firmware/efi/test/efi_test.c:389:60: sparse: got struct efi_time_t [usertype] *[addressable] time drivers/firmware/efi/test/efi_test.c:397:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned long [noderef] __user *__p @@ got unsigned long [usertype] *[addressable] status @@ drivers/firmware/efi/test/efi_test.c:397:13: sparse: expected unsigned long [noderef] __user *__p drivers/firmware/efi/test/efi_test.c:397:13: sparse: got unsigned long [usertype] *[addressable] status >> drivers/firmware/efi/test/efi_test.c:421:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned long [noderef] __user *__p @@ got unsigned long *[addressable] variable_name_size @@ drivers/firmware/efi/test/efi_test.c:421:21: sparse: expected unsigned long [noderef] __user *__p drivers/firmware/efi/test/efi_test.c:421:21: sparse: got unsigned long *[addressable] variable_name_size drivers/firmware/efi/test/efi_test.c:429:52: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got struct guid_t [usertype] *[addressable] vendor_guid @@ drivers/firmware/efi/test/efi_test.c:429:52: sparse: expected void const [noderef] __user *from drivers/firmware/efi/test/efi_test.c:429:52: sparse: got struct guid_t [usertype] *[addressable] vendor_guid drivers/firmware/efi/test/efi_test.c:439:52: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned short [noderef] [usertype] __user *src @@ got unsigned short [usertype] *[addressable] variable_name @@ drivers/firmware/efi/test/efi_test.c:439:52: sparse: expected unsigned short [noderef] [usertype] __user *src drivers/firmware/efi/test/efi_test.c:439:52: sparse: got unsigned short [usertype] *[addressable] variable_name drivers/firmware/efi/test/efi_test.c:452:52: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected unsigned short [noderef] [usertype] __user *src @@ got unsigned short [usertype] *[addressable] variable_name @@ drivers/firmware/efi/test/efi_test.c:452:52: sparse: expected unsigned short [noderef] [usertype] __user *src drivers/firmware/efi/test/efi_test.c:452:52: sparse: got unsigned short [usertype] *[addressable] variable_name drivers/firmware/efi/test/efi_test.c:461:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned long [noderef] __user *__p @@ got unsigned long [usertype] *[addressable] status @@ drivers/firmware/efi/test/efi_test.c:461:13: sparse: expected unsigned long [noderef] __user *__p drivers/firmware/efi/test/efi_test.c:461:13: sparse: got unsigned long [usertype] *[addressable] status drivers/firmware/efi/test/efi_test.c:468:35: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned long [noderef] __user *__p @@ got unsigned long *[addressable] variable_name_size @@ drivers/firmware/efi/test/efi_test.c:468:35: sparse: expected unsigned long [noderef] __user *__p drivers/firmware/efi/test/efi_test.c:468:35: sparse: got unsigned long *[addressable] variable_name_size drivers/firmware/efi/test/efi_test.c:479:62: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned short [noderef] [usertype] __user *dst @@ got unsigned short [usertype] *[addressable] variable_name @@ drivers/firmware/efi/test/efi_test.c:479:62: sparse: expected unsigned short [noderef] [usertype] __user *dst drivers/firmware/efi/test/efi_test.c:479:62: sparse: got unsigned short [usertype] *[addressable] variable_name drivers/firmware/efi/test/efi_test.c:487:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned long [noderef] __user *__p @@ got unsigned long *[addressable] variable_name_size @@ drivers/firmware/efi/test/efi_test.c:487:21: sparse: expected unsigned long [noderef] __user *__p drivers/firmware/efi/test/efi_test.c:487:21: sparse: got unsigned long *[addressable] variable_name_size drivers/firmware/efi/test/efi_test.c:494:53: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __user *to @@ got struct guid_t [usertype] *[addressable] vendor_guid @@ drivers/firmware/efi/test/efi_test.c:494:53: sparse: expected void [noderef] __user *to drivers/firmware/efi/test/efi_test.c:494:53: sparse: got struct guid_t [usertype] *[addressable] vendor_guid drivers/firmware/efi/test/efi_test.c:522:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned long [noderef] __user *__p @@ got unsigned long [usertype] *[addressable] status @@ drivers/firmware/efi/test/efi_test.c:522:13: sparse: expected unsigned long [noderef] __user *__p drivers/firmware/efi/test/efi_test.c:522:13: sparse: got unsigned long [usertype] *[addressable] status >> drivers/firmware/efi/test/efi_test.c:529:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int [noderef] __user *__p @@ got unsigned int [usertype] *[addressable] high_count @@ drivers/firmware/efi/test/efi_test.c:529:13: sparse: expected unsigned int [noderef] __user *__p drivers/firmware/efi/test/efi_test.c:529:13: sparse: got unsigned int [usertype] *[addressable] high_count drivers/firmware/efi/test/efi_test.c:546:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const [noderef] __user * @@ got void * @@ drivers/firmware/efi/test/efi_test.c:546:37: sparse: expected void const [noderef] __user * drivers/firmware/efi/test/efi_test.c:546:37: sparse: got void * drivers/firmware/efi/test/efi_test.c:575:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned long [noderef] __user *__p @@ got unsigned long [usertype] *[addressable] status @@ drivers/firmware/efi/test/efi_test.c:575:13: sparse: expected unsigned long [noderef] __user *__p drivers/firmware/efi/test/efi_test.c:575:13: sparse: got unsigned long [usertype] *[addressable] status >> drivers/firmware/efi/test/efi_test.c:581:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned long long [noderef] __user *__p @@ got unsigned long long [usertype] *[addressable] maximum_variable_storage_size @@ >> drivers/firmware/efi/test/efi_test.c:581:13: sparse: expected unsigned long long [noderef] __user *__p drivers/firmware/efi/test/efi_test.c:581:13: sparse: got unsigned long long [usertype] *[addressable] maximum_variable_storage_size >> drivers/firmware/efi/test/efi_test.c:585:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned long long [noderef] __user *__p @@ got unsigned long long [usertype] *[addressable] remaining_variable_storage_size @@ drivers/firmware/efi/test/efi_test.c:585:13: sparse: expected unsigned long long [noderef] __user *__p drivers/firmware/efi/test/efi_test.c:585:13: sparse: got unsigned long long [usertype] *[addressable] remaining_variable_storage_size drivers/firmware/efi/test/efi_test.c:589:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned long long [noderef] __user *__p @@ got unsigned long long [usertype] *[addressable] maximum_variable_size @@ drivers/firmware/efi/test/efi_test.c:589:13: sparse: expected unsigned long long [noderef] __user *__p drivers/firmware/efi/test/efi_test.c:589:13: sparse: got unsigned long long [usertype] *[addressable] maximum_variable_size >> drivers/firmware/efi/test/efi_test.c:625:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct efi_capsule_header_t [usertype] *[noderef] __user *__p @@ got struct efi_capsule_header_t [usertype] ** @@ >> drivers/firmware/efi/test/efi_test.c:625:21: sparse: expected struct efi_capsule_header_t [usertype] *[noderef] __user *__p drivers/firmware/efi/test/efi_test.c:625:21: sparse: got struct efi_capsule_header_t [usertype] ** drivers/firmware/efi/test/efi_test.c:629:50: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got struct efi_capsule_header_t [usertype] *[assigned] c @@ drivers/firmware/efi/test/efi_test.c:629:50: sparse: expected void const [noderef] __user *from drivers/firmware/efi/test/efi_test.c:629:50: sparse: got struct efi_capsule_header_t [usertype] *[assigned] c >> drivers/firmware/efi/test/efi_test.c:643:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned long [noderef] __user *__p @@ got unsigned long [usertype] *[addressable] [assigned] status @@ drivers/firmware/efi/test/efi_test.c:643:13: sparse: expected unsigned long [noderef] __user *__p drivers/firmware/efi/test/efi_test.c:643:13: sparse: got unsigned long [usertype] *[addressable] [assigned] status >> drivers/firmware/efi/test/efi_test.c:653:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned long long [noderef] __user *__p @@ got unsigned long long [usertype] *[addressable] [assigned] maximum_capsule_size @@ drivers/firmware/efi/test/efi_test.c:653:13: sparse: expected unsigned long long [noderef] __user *__p drivers/firmware/efi/test/efi_test.c:653:13: sparse: got unsigned long long [usertype] *[addressable] [assigned] maximum_capsule_size >> drivers/firmware/efi/test/efi_test.c:658:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int [noderef] __user *__p @@ got int *[addressable] [assigned] reset_type @@ >> drivers/firmware/efi/test/efi_test.c:658:13: sparse: expected int [noderef] __user *__p drivers/firmware/efi/test/efi_test.c:658:13: sparse: got int *[addressable] [assigned] reset_type drivers/firmware/efi/test/efi_test.c:35:27: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned short [usertype] *s @@ got unsigned short [noderef] [usertype] __user *str @@ drivers/firmware/efi/test/efi_test.c:35:27: sparse: expected unsigned short [usertype] *s drivers/firmware/efi/test/efi_test.c:35:27: sparse: got unsigned short [noderef] [usertype] __user *str >> drivers/firmware/efi/test/efi_test.c:44:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned short [noderef] __user *__p @@ got unsigned short [usertype] * @@ >> drivers/firmware/efi/test/efi_test.c:44:13: sparse: expected unsigned short [noderef] __user *__p drivers/firmware/efi/test/efi_test.c:44:13: sparse: got unsigned short [usertype] * drivers/firmware/efi/test/efi_test.c:50:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned short [noderef] __user *__p @@ got unsigned short [usertype] * @@ drivers/firmware/efi/test/efi_test.c:50:21: sparse: expected unsigned short [noderef] __user *__p drivers/firmware/efi/test/efi_test.c:50:21: sparse: got unsigned short [usertype] * drivers/firmware/efi/test/efi_test.c:35:27: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned short [usertype] *[assigned] s @@ got unsigned short [noderef] [usertype] __user *str @@ drivers/firmware/efi/test/efi_test.c:35:27: sparse: expected unsigned short [usertype] *[assigned] s drivers/firmware/efi/test/efi_test.c:35:27: sparse: got unsigned short [noderef] [usertype] __user *str >> drivers/firmware/efi/test/efi_test.c:44:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned short [noderef] __user *__p @@ got unsigned short [usertype] * @@ >> drivers/firmware/efi/test/efi_test.c:44:13: sparse: expected unsigned short [noderef] __user *__p drivers/firmware/efi/test/efi_test.c:44:13: sparse: got unsigned short [usertype] * drivers/firmware/efi/test/efi_test.c:50:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned short [noderef] __user *__p @@ got unsigned short [usertype] * @@ drivers/firmware/efi/test/efi_test.c:50:21: sparse: expected unsigned short [noderef] __user *__p drivers/firmware/efi/test/efi_test.c:50:21: sparse: got unsigned short [usertype] * drivers/firmware/efi/test/efi_test.c:35:27: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned short [usertype] *[assigned] s @@ got unsigned short [noderef] [usertype] __user *str @@ drivers/firmware/efi/test/efi_test.c:35:27: sparse: expected unsigned short [usertype] *[assigned] s drivers/firmware/efi/test/efi_test.c:35:27: sparse: got unsigned short [noderef] [usertype] __user *str >> drivers/firmware/efi/test/efi_test.c:44:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned short [noderef] __user *__p @@ got unsigned short [usertype] * @@ >> drivers/firmware/efi/test/efi_test.c:44:13: sparse: expected unsigned short [noderef] __user *__p drivers/firmware/efi/test/efi_test.c:44:13: sparse: got unsigned short [usertype] * drivers/firmware/efi/test/efi_test.c:50:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned short [noderef] __user *__p @@ got unsigned short [usertype] * @@ drivers/firmware/efi/test/efi_test.c:50:21: sparse: expected unsigned short [noderef] __user *__p drivers/firmware/efi/test/efi_test.c:50:21: sparse: got unsigned short [usertype] * -- >> drivers/hwspinlock/omap_hwspinlock.c:39:39: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void [noderef] __iomem *lock_addr @@ got void *priv @@ >> drivers/hwspinlock/omap_hwspinlock.c:39:39: sparse: expected void [noderef] __iomem *lock_addr drivers/hwspinlock/omap_hwspinlock.c:39:39: sparse: got void *priv drivers/hwspinlock/omap_hwspinlock.c:47:39: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void [noderef] __iomem *lock_addr @@ got void *priv @@ drivers/hwspinlock/omap_hwspinlock.c:47:39: sparse: expected void [noderef] __iomem *lock_addr drivers/hwspinlock/omap_hwspinlock.c:47:39: sparse: got void *priv >> drivers/hwspinlock/omap_hwspinlock.c:132:30: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void *priv @@ got void [noderef] __iomem * @@ drivers/hwspinlock/omap_hwspinlock.c:132:30: sparse: expected void *priv >> drivers/hwspinlock/omap_hwspinlock.c:132:30: sparse: got void [noderef] __iomem * vim +99 arch/arm64/kernel/acpi.c b10d79f76085b5 Al Stone 2015-03-24 89 37655163ce1a3e Al Stone 2015-03-24 90 /* 37655163ce1a3e Al Stone 2015-03-24 91 * __acpi_map_table() will be called before page_init(), so early_ioremap() 37655163ce1a3e Al Stone 2015-03-24 92 * or early_memremap() should be called here to for ACPI table mapping. 37655163ce1a3e Al Stone 2015-03-24 93 */ 6c9a58e84e59a2 Andy Shevchenko 2017-07-18 94 void __init __iomem *__acpi_map_table(unsigned long phys, unsigned long size) 37655163ce1a3e Al Stone 2015-03-24 95 { 37655163ce1a3e Al Stone 2015-03-24 96 if (!size) 37655163ce1a3e Al Stone 2015-03-24 97 return NULL; 37655163ce1a3e Al Stone 2015-03-24 98 37655163ce1a3e Al Stone 2015-03-24 @99 return early_memremap(phys, size); 37655163ce1a3e Al Stone 2015-03-24 100 } 37655163ce1a3e Al Stone 2015-03-24 101 6c9a58e84e59a2 Andy Shevchenko 2017-07-18 102 void __init __acpi_unmap_table(void __iomem *map, unsigned long size) 37655163ce1a3e Al Stone 2015-03-24 103 { 37655163ce1a3e Al Stone 2015-03-24 104 if (!map || !size) 37655163ce1a3e Al Stone 2015-03-24 105 return; 37655163ce1a3e Al Stone 2015-03-24 106 37655163ce1a3e Al Stone 2015-03-24 @107 early_memunmap(map, size); 37655163ce1a3e Al Stone 2015-03-24 108 } 37655163ce1a3e Al Stone 2015-03-24 109 :::::: The code at line 99 was first introduced by commit :::::: 37655163ce1a3ef2635a9bba0ad614f25e01484e ARM64 / ACPI: Get RSDP and ACPI boot-time tables :::::: TO: Al Stone :::::: CC: Will Deacon --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org