linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* drivers/video/fbdev/pxafb.c:916:24: sparse: sparse: incorrect type in assignment (different address spaces)
@ 2020-08-07 10:37 kernel test robot
  2020-08-07 11:53 ` Luc Van Oostenryck
  0 siblings, 1 reply; 3+ messages in thread
From: kernel test robot @ 2020-08-07 10:37 UTC (permalink / raw)
  To: Luc Van Oostenryck; +Cc: kbuild-all, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 35700 bytes --]

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   86cfccb66937dd6cbf26ed619958b9e587e6a115
commit: 670d0a4b10704667765f7d18f7592993d02783aa sparse: use identifiers to define address spaces
date:   7 weeks ago
config: arm-randconfig-s031-20200807 (attached as .config)
compiler: arm-linux-gnueabi-gcc (GCC) 9.3.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # apt-get install sparse
        # sparse version: v0.6.2-118-ge1578773-dirty
        git checkout 670d0a4b10704667765f7d18f7592993d02783aa
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=arm 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>


sparse warnings: (new ones prefixed by >>)

>> drivers/video/fbdev/pxafb.c:916:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void [noderef] __iomem *video_mem @@     got void * @@
>> drivers/video/fbdev/pxafb.c:916:24: sparse:     expected void [noderef] __iomem *video_mem
   drivers/video/fbdev/pxafb.c:916:24: sparse:     got void *
>> drivers/video/fbdev/pxafb.c:921:47: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile *x @@     got void [noderef] __iomem *video_mem @@
   drivers/video/fbdev/pxafb.c:921:47: sparse:     expected void const volatile *x
>> drivers/video/fbdev/pxafb.c:921:47: sparse:     got void [noderef] __iomem *video_mem
>> drivers/video/fbdev/pxafb.c:977:53: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *virt @@     got void [noderef] __iomem *video_mem @@
   drivers/video/fbdev/pxafb.c:977:53: sparse:     expected void *virt
   drivers/video/fbdev/pxafb.c:977:53: sparse:     got void [noderef] __iomem *video_mem
   drivers/video/fbdev/pxafb.c:1714:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void [noderef] __iomem *video_mem @@     got void * @@
   drivers/video/fbdev/pxafb.c:1714:24: sparse:     expected void [noderef] __iomem *video_mem
   drivers/video/fbdev/pxafb.c:1714:24: sparse:     got void *
   drivers/video/fbdev/pxafb.c:1718:47: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile *x @@     got void [noderef] __iomem *video_mem @@
   drivers/video/fbdev/pxafb.c:1718:47: sparse:     expected void const volatile *x
   drivers/video/fbdev/pxafb.c:1718:47: sparse:     got void [noderef] __iomem *video_mem
   drivers/video/fbdev/pxafb.c:2392:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *virt @@     got void [noderef] __iomem *video_mem @@
   drivers/video/fbdev/pxafb.c:2392:29: sparse:     expected void *virt
   drivers/video/fbdev/pxafb.c:2392:29: sparse:     got void [noderef] __iomem *video_mem
   drivers/video/fbdev/pxafb.c:2418:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *virt @@     got void [noderef] __iomem *video_mem @@
   drivers/video/fbdev/pxafb.c:2418:29: sparse:     expected void *virt
   drivers/video/fbdev/pxafb.c:2418:29: sparse:     got void [noderef] __iomem *video_mem
--
>> drivers/firmware/efi/test/efi_test.c:157:13: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned long [noderef] __user *register __p @@     got unsigned long *[addressable] data_size @@
>> drivers/firmware/efi/test/efi_test.c:157:13: sparse:     expected unsigned long [noderef] __user *register __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 const [noderef] __user *__pu_ptr @@     got unsigned long [usertype] *[addressable] status @@
>> drivers/firmware/efi/test/efi_test.c:187:13: sparse:     expected unsigned long const [noderef] __user *__pu_ptr
   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 const [noderef] __user *__pu_ptr @@     got unsigned long *[addressable] data_size @@
   drivers/firmware/efi/test/efi_test.c:194:35: sparse:     expected unsigned long const [noderef] __user *__pu_ptr
   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 const [noderef] __user *__pu_ptr @@     got unsigned int [usertype] *[addressable] attributes @@
>> drivers/firmware/efi/test/efi_test.c:215:19: sparse:     expected unsigned int const [noderef] __user *__pu_ptr
   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 const [noderef] __user *__pu_ptr @@     got unsigned long *[addressable] data_size @@
   drivers/firmware/efi/test/efi_test.c:220:19: sparse:     expected unsigned long const [noderef] __user *__pu_ptr
   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 const [noderef] __user *__pu_ptr @@     got unsigned long [usertype] *[addressable] status @@
   drivers/firmware/efi/test/efi_test.c:263:13: sparse:     expected unsigned long const [noderef] __user *__pu_ptr
   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 const [noderef] __user *__pu_ptr @@     got unsigned long [usertype] *[addressable] status @@
   drivers/firmware/efi/test/efi_test.c:292:13: sparse:     expected unsigned long const [noderef] __user *__pu_ptr
   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 const [noderef] __user *__pu_ptr @@     got unsigned long [usertype] *[addressable] status @@
   drivers/firmware/efi/test/efi_test.c:330:13: sparse:     expected unsigned long const [noderef] __user *__pu_ptr
   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 const [noderef] __user *__pu_ptr @@     got unsigned long [usertype] *[addressable] status @@
   drivers/firmware/efi/test/efi_test.c:354:13: sparse:     expected unsigned long const [noderef] __user *__pu_ptr
   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 const [noderef] __user *__pu_ptr @@     got unsigned char [usertype] *[addressable] enabled @@
>> drivers/firmware/efi/test/efi_test.c:360:38: sparse:     expected unsigned char const [noderef] __user *__pu_ptr
   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 const [noderef] __user *__pu_ptr @@     got unsigned long [usertype] *[addressable] status @@
   drivers/firmware/efi/test/efi_test.c:397:13: sparse:     expected unsigned long const [noderef] __user *__pu_ptr
   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 *register __p @@     got unsigned long *[addressable] variable_name_size @@
   drivers/firmware/efi/test/efi_test.c:421:21: sparse:     expected unsigned long [noderef] __user *register __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 const [noderef] __user *__pu_ptr @@     got unsigned long [usertype] *[addressable] status @@
   drivers/firmware/efi/test/efi_test.c:461:13: sparse:     expected unsigned long const [noderef] __user *__pu_ptr
   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 const [noderef] __user *__pu_ptr @@     got unsigned long *[addressable] variable_name_size @@
   drivers/firmware/efi/test/efi_test.c:468:35: sparse:     expected unsigned long const [noderef] __user *__pu_ptr
   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 const [noderef] __user *__pu_ptr @@     got unsigned long *[addressable] variable_name_size @@
   drivers/firmware/efi/test/efi_test.c:487:21: sparse:     expected unsigned long const [noderef] __user *__pu_ptr
   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 const [noderef] __user *__pu_ptr @@     got unsigned long [usertype] *[addressable] status @@
   drivers/firmware/efi/test/efi_test.c:522:13: sparse:     expected unsigned long const [noderef] __user *__pu_ptr
   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 const [noderef] __user *__pu_ptr @@     got unsigned int [usertype] *[addressable] high_count @@
   drivers/firmware/efi/test/efi_test.c:529:13: sparse:     expected unsigned int const [noderef] __user *__pu_ptr
   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 const [noderef] __user *__pu_ptr @@     got unsigned long [usertype] *[addressable] status @@
   drivers/firmware/efi/test/efi_test.c:575:13: sparse:     expected unsigned long const [noderef] __user *__pu_ptr
   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 const [noderef] __user *__pu_ptr @@     got unsigned long long [usertype] *[addressable] maximum_variable_storage_size @@
>> drivers/firmware/efi/test/efi_test.c:581:13: sparse:     expected unsigned long long const [noderef] __user *__pu_ptr
   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 const [noderef] __user *__pu_ptr @@     got unsigned long long [usertype] *[addressable] remaining_variable_storage_size @@
   drivers/firmware/efi/test/efi_test.c:585:13: sparse:     expected unsigned long long const [noderef] __user *__pu_ptr
   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 const [noderef] __user *__pu_ptr @@     got unsigned long long [usertype] *[addressable] maximum_variable_size @@
   drivers/firmware/efi/test/efi_test.c:589:13: sparse:     expected unsigned long long const [noderef] __user *__pu_ptr
   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 *register __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 *register __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 const [noderef] __user *__pu_ptr @@     got unsigned long [usertype] *[addressable] [assigned] status @@
   drivers/firmware/efi/test/efi_test.c:643:13: sparse:     expected unsigned long const [noderef] __user *__pu_ptr
   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 const [noderef] __user *__pu_ptr @@     got unsigned long long [usertype] *[addressable] [assigned] maximum_capsule_size @@
   drivers/firmware/efi/test/efi_test.c:653:13: sparse:     expected unsigned long long const [noderef] __user *__pu_ptr
   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 const [noderef] __user *__pu_ptr @@     got int *[addressable] [assigned] reset_type @@
>> drivers/firmware/efi/test/efi_test.c:658:13: sparse:     expected int const [noderef] __user *__pu_ptr
   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 *register __p @@     got unsigned short [usertype] * @@
>> drivers/firmware/efi/test/efi_test.c:44:13: sparse:     expected unsigned short [noderef] __user *register __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 *register __p @@     got unsigned short [usertype] * @@
   drivers/firmware/efi/test/efi_test.c:50:21: sparse:     expected unsigned short [noderef] __user *register __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 *register __p @@     got unsigned short [usertype] * @@
>> drivers/firmware/efi/test/efi_test.c:44:13: sparse:     expected unsigned short [noderef] __user *register __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 *register __p @@     got unsigned short [usertype] * @@
   drivers/firmware/efi/test/efi_test.c:50:21: sparse:     expected unsigned short [noderef] __user *register __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 *register __p @@     got unsigned short [usertype] * @@
>> drivers/firmware/efi/test/efi_test.c:44:13: sparse:     expected unsigned short [noderef] __user *register __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 *register __p @@     got unsigned short [usertype] * @@
   drivers/firmware/efi/test/efi_test.c:50:21: sparse:     expected unsigned short [noderef] __user *register __p
   drivers/firmware/efi/test/efi_test.c:50:21: sparse:     got unsigned short [usertype] *

vim +916 drivers/video/fbdev/pxafb.c

782385ae176b304 drivers/video/pxafb.c Eric Miao          2009-03-19  909  
48c68c4f1b54244 drivers/video/pxafb.c Greg Kroah-Hartman 2012-12-21  910  static int pxafb_overlay_map_video_memory(struct pxafb_info *pxafb,
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  911  					  struct pxafb_layer *ofb)
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  912  {
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  913  	/* We assume that user will use at most video_mem_size for overlay fb,
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  914  	 * anyway, it's useless to use 16bpp main plane and 24bpp overlay
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  915  	 */
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11 @916  	ofb->video_mem = alloc_pages_exact(PAGE_ALIGN(pxafb->video_mem_size),
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  917  		GFP_KERNEL | __GFP_ZERO);
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  918  	if (ofb->video_mem == NULL)
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  919  		return -ENOMEM;
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  920  
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11 @921  	ofb->video_mem_phys = virt_to_phys(ofb->video_mem);
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  922  	ofb->video_mem_size = PAGE_ALIGN(pxafb->video_mem_size);
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  923  
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  924  	mutex_lock(&ofb->fb.mm_lock);
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  925  	ofb->fb.fix.smem_start	= ofb->video_mem_phys;
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  926  	ofb->fb.fix.smem_len	= pxafb->video_mem_size;
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  927  	mutex_unlock(&ofb->fb.mm_lock);
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  928  
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  929  	ofb->fb.screen_base	= ofb->video_mem;
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  930  
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  931  	return 0;
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  932  }
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  933  
48c68c4f1b54244 drivers/video/pxafb.c Greg Kroah-Hartman 2012-12-21  934  static void pxafb_overlay_init(struct pxafb_info *fbi)
198fc108ee4c2cd drivers/video/pxafb.c Eric Miao          2008-12-23  935  {
198fc108ee4c2cd drivers/video/pxafb.c Eric Miao          2008-12-23  936  	int i, ret;
198fc108ee4c2cd drivers/video/pxafb.c Eric Miao          2008-12-23  937  
782385ae176b304 drivers/video/pxafb.c Eric Miao          2009-03-19  938  	if (!pxafb_overlay_supported())
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  939  		return;
782385ae176b304 drivers/video/pxafb.c Eric Miao          2009-03-19  940  
198fc108ee4c2cd drivers/video/pxafb.c Eric Miao          2008-12-23  941  	for (i = 0; i < 2; i++) {
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  942  		struct pxafb_layer *ofb = &fbi->overlay[i];
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  943  		init_pxafb_overlay(fbi, ofb, i);
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  944  		ret = register_framebuffer(&ofb->fb);
198fc108ee4c2cd drivers/video/pxafb.c Eric Miao          2008-12-23  945  		if (ret) {
198fc108ee4c2cd drivers/video/pxafb.c Eric Miao          2008-12-23  946  			dev_err(fbi->dev, "failed to register overlay %d\n", i);
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  947  			continue;
198fc108ee4c2cd drivers/video/pxafb.c Eric Miao          2008-12-23  948  		}
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  949  		ret = pxafb_overlay_map_video_memory(fbi, ofb);
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  950  		if (ret) {
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  951  			dev_err(fbi->dev,
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  952  				"failed to map video memory for overlay %d\n",
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  953  				i);
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  954  			unregister_framebuffer(&ofb->fb);
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  955  			continue;
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  956  		}
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  957  		ofb->registered = 1;
198fc108ee4c2cd drivers/video/pxafb.c Eric Miao          2008-12-23  958  	}
198fc108ee4c2cd drivers/video/pxafb.c Eric Miao          2008-12-23  959  
198fc108ee4c2cd drivers/video/pxafb.c Eric Miao          2008-12-23  960  	/* mask all IU/BS/EOF/SOF interrupts */
198fc108ee4c2cd drivers/video/pxafb.c Eric Miao          2008-12-23  961  	lcd_writel(fbi, LCCR5, ~0);
198fc108ee4c2cd drivers/video/pxafb.c Eric Miao          2008-12-23  962  
198fc108ee4c2cd drivers/video/pxafb.c Eric Miao          2008-12-23  963  	pr_info("PXA Overlay driver loaded successfully!\n");
198fc108ee4c2cd drivers/video/pxafb.c Eric Miao          2008-12-23  964  }
198fc108ee4c2cd drivers/video/pxafb.c Eric Miao          2008-12-23  965  
48c68c4f1b54244 drivers/video/pxafb.c Greg Kroah-Hartman 2012-12-21  966  static void pxafb_overlay_exit(struct pxafb_info *fbi)
198fc108ee4c2cd drivers/video/pxafb.c Eric Miao          2008-12-23  967  {
198fc108ee4c2cd drivers/video/pxafb.c Eric Miao          2008-12-23  968  	int i;
198fc108ee4c2cd drivers/video/pxafb.c Eric Miao          2008-12-23  969  
782385ae176b304 drivers/video/pxafb.c Eric Miao          2009-03-19  970  	if (!pxafb_overlay_supported())
782385ae176b304 drivers/video/pxafb.c Eric Miao          2009-03-19  971  		return;
782385ae176b304 drivers/video/pxafb.c Eric Miao          2009-03-19  972  
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  973  	for (i = 0; i < 2; i++) {
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  974  		struct pxafb_layer *ofb = &fbi->overlay[i];
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  975  		if (ofb->registered) {
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  976  			if (ofb->video_mem)
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11 @977  				free_pages_exact(ofb->video_mem,
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  978  					ofb->video_mem_size);
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  979  			unregister_framebuffer(&ofb->fb);
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  980  		}
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  981  	}
198fc108ee4c2cd drivers/video/pxafb.c Eric Miao          2008-12-23  982  }
198fc108ee4c2cd drivers/video/pxafb.c Eric Miao          2008-12-23  983  #else
198fc108ee4c2cd drivers/video/pxafb.c Eric Miao          2008-12-23  984  static inline void pxafb_overlay_init(struct pxafb_info *fbi) {}
198fc108ee4c2cd drivers/video/pxafb.c Eric Miao          2008-12-23  985  static inline void pxafb_overlay_exit(struct pxafb_info *fbi) {}
198fc108ee4c2cd drivers/video/pxafb.c Eric Miao          2008-12-23  986  #endif /* CONFIG_FB_PXA_OVERLAY */
198fc108ee4c2cd drivers/video/pxafb.c Eric Miao          2008-12-23  987  

:::::: The code at line 916 was first introduced by commit
:::::: 1b98d7c4491e5eaba7c403ec1bc5997e6596e569 ARM: pxafb: rework pxafb overlay memory management

:::::: TO: Vasily Khoruzhick <anarsoul@gmail.com>
:::::: CC: Eric Miao <eric.y.miao@gmail.com>

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

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 30620 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: drivers/video/fbdev/pxafb.c:916:24: sparse: sparse: incorrect type in assignment (different address spaces)
  2020-08-07 10:37 drivers/video/fbdev/pxafb.c:916:24: sparse: sparse: incorrect type in assignment (different address spaces) kernel test robot
@ 2020-08-07 11:53 ` Luc Van Oostenryck
  2020-08-10  2:50   ` [kbuild-all] " Rong Chen
  0 siblings, 1 reply; 3+ messages in thread
From: Luc Van Oostenryck @ 2020-08-07 11:53 UTC (permalink / raw)
  To: kernel test robot; +Cc: kbuild-all, linux-kernel

On Fri, Aug 07, 2020 at 06:37:36PM +0800, kernel test robot wrote:
> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head:   86cfccb66937dd6cbf26ed619958b9e587e6a115
> commit: 670d0a4b10704667765f7d18f7592993d02783aa sparse: use identifiers to define address spaces
> date:   7 weeks ago
> config: arm-randconfig-s031-20200807 (attached as .config)
> compiler: arm-linux-gnueabi-gcc (GCC) 9.3.0
> reproduce:
>         wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
>         chmod +x ~/bin/make.cross
>         # apt-get install sparse
>         # sparse version: v0.6.2-118-ge1578773-dirty
>         git checkout 670d0a4b10704667765f7d18f7592993d02783aa
>         # save the attached .config to linux build tree
>         COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=arm 
> 
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@intel.com>
> 
> 
> sparse warnings: (new ones prefixed by >>)
> 
> >> drivers/video/fbdev/pxafb.c:916:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void [noderef] __iomem *video_mem @@     got void * @@
> >> drivers/video/fbdev/pxafb.c:916:24: sparse:     expected void [noderef] __iomem *video_mem

Hi,

since late June I receive several mails per day about this commit but
they are all false-positive.
Commit 670d0a4b10704667765f7d18f7592993d02783aa can't introduce *new*
warnings, it only change how address-spaces are displayed in sparse's
warnings (for example, the address space for __user pointers were
displayd as '<asn:1>', now it's nicely displayed as '__user', same
for '__iomem', '__percpu' and '__rcu').

Isn't it possible to ignore some commits like this one?
Or, even better, should it be possible to only report when a new
warning is effectively added, not when its content is simply modified?
If not it would be nice to be able to see the difference in a diff-like
format.

Best regards,
-- Luc

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [kbuild-all] Re: drivers/video/fbdev/pxafb.c:916:24: sparse: sparse: incorrect type in assignment (different address spaces)
  2020-08-07 11:53 ` Luc Van Oostenryck
@ 2020-08-10  2:50   ` Rong Chen
  0 siblings, 0 replies; 3+ messages in thread
From: Rong Chen @ 2020-08-10  2:50 UTC (permalink / raw)
  To: Luc Van Oostenryck, kernel test robot; +Cc: kbuild-all, linux-kernel



On 8/7/20 7:53 PM, Luc Van Oostenryck wrote:
> On Fri, Aug 07, 2020 at 06:37:36PM +0800, kernel test robot wrote:
>> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
>> head:   86cfccb66937dd6cbf26ed619958b9e587e6a115
>> commit: 670d0a4b10704667765f7d18f7592993d02783aa sparse: use identifiers to define address spaces
>> date:   7 weeks ago
>> config: arm-randconfig-s031-20200807 (attached as .config)
>> compiler: arm-linux-gnueabi-gcc (GCC) 9.3.0
>> reproduce:
>>          wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
>>          chmod +x ~/bin/make.cross
>>          # apt-get install sparse
>>          # sparse version: v0.6.2-118-ge1578773-dirty
>>          git checkout 670d0a4b10704667765f7d18f7592993d02783aa
>>          # save the attached .config to linux build tree
>>          COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=arm
>>
>> If you fix the issue, kindly add following tag as appropriate
>> Reported-by: kernel test robot <lkp@intel.com>
>>
>>
>> sparse warnings: (new ones prefixed by >>)
>>
>>>> drivers/video/fbdev/pxafb.c:916:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void [noderef] __iomem *video_mem @@     got void * @@
>>>> drivers/video/fbdev/pxafb.c:916:24: sparse:     expected void [noderef] __iomem *video_mem
> Hi,
>
> since late June I receive several mails per day about this commit but
> they are all false-positive.
> Commit 670d0a4b10704667765f7d18f7592993d02783aa can't introduce *new*
> warnings, it only change how address-spaces are displayed in sparse's
> warnings (for example, the address space for __user pointers were
> displayd as '<asn:1>', now it's nicely displayed as '__user', same
> for '__iomem', '__percpu' and '__rcu').
>
> Isn't it possible to ignore some commits like this one?

Hi Luc,

Sorry for the inconvenience, we'll ignore this commit firstly.

> Or, even better, should it be possible to only report when a new
> warning is effectively added, not when its content is simply modified?
> If not it would be nice to be able to see the difference in a diff-like
> format.
Thanks for your advice, we'll seriously consider it.

Best Regards,
Rong Chen

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-08-10  2:51 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-07 10:37 drivers/video/fbdev/pxafb.c:916:24: sparse: sparse: incorrect type in assignment (different address spaces) kernel test robot
2020-08-07 11:53 ` Luc Van Oostenryck
2020-08-10  2:50   ` [kbuild-all] " Rong Chen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).