linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] sparse: use identifiers to define address spaces
@ 2020-06-17 22:02 Luc Van Oostenryck
  2020-06-18  1:22 ` Miguel Ojeda
                   ` (3 more replies)
  0 siblings, 4 replies; 11+ messages in thread
From: Luc Van Oostenryck @ 2020-06-17 22:02 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Miguel Ojeda, linux-kernel, Luc Van Oostenryck

Currently, address spaces in warnings are displayed as
'<asn:X>' with 'X' replaced with the address space's number.
But since v0.6.0-rc1 (late December 2018), Sparse allows
to define the address spaces using an identifier instead of
a number. This identifier is then directly used in the warnings.

So, use the identifiers '__user', '__iomem', '__percpu' & '__rcu'
for the corresponding address spaces. The default address space,
__kernel, being not displayed in warnings, stays defined as '0'.

With this change, warnings used to be displayed as:
	cast removes address space '<asn:1>' of expression
	... void [noderef] <asn:2> *
will now be displayed as:
	cast removes address space '__user' of expression
	... void [noderef] __iomem *

Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
---
 include/linux/compiler_types.h | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/include/linux/compiler_types.h b/include/linux/compiler_types.h
index 21aed0981edf..e368384445b6 100644
--- a/include/linux/compiler_types.h
+++ b/include/linux/compiler_types.h
@@ -5,20 +5,20 @@
 #ifndef __ASSEMBLY__
 
 #ifdef __CHECKER__
-# define __user		__attribute__((noderef, address_space(1)))
 # define __kernel	__attribute__((address_space(0)))
+# define __user		__attribute__((noderef, address_space(__user)))
 # define __safe		__attribute__((safe))
 # define __force	__attribute__((force))
 # define __nocast	__attribute__((nocast))
-# define __iomem	__attribute__((noderef, address_space(2)))
+# define __iomem	__attribute__((noderef, address_space(__iomem)))
 # define __must_hold(x)	__attribute__((context(x,1,1)))
 # define __acquires(x)	__attribute__((context(x,0,1)))
 # define __releases(x)	__attribute__((context(x,1,0)))
 # define __acquire(x)	__context__(x,1)
 # define __release(x)	__context__(x,-1)
 # define __cond_lock(x,c)	((c) ? ({ __acquire(x); 1; }) : 0)
-# define __percpu	__attribute__((noderef, address_space(3)))
-# define __rcu		__attribute__((noderef, address_space(4)))
+# define __percpu	__attribute__((noderef, address_space(__percpu)))
+# define __rcu		__attribute__((noderef, address_space(__rcu)))
 # define __private	__attribute__((noderef))
 extern void __chk_user_ptr(const volatile void __user *);
 extern void __chk_io_ptr(const volatile void __iomem *);
-- 
2.27.0


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

* Re: [PATCH] sparse: use identifiers to define address spaces
  2020-06-17 22:02 [PATCH] sparse: use identifiers to define address spaces Luc Van Oostenryck
@ 2020-06-18  1:22 ` Miguel Ojeda
  2020-06-18  5:02   ` Luc Van Oostenryck
  2020-06-18 10:06 ` kernel test robot
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 11+ messages in thread
From: Miguel Ojeda @ 2020-06-18  1:22 UTC (permalink / raw)
  To: Luc Van Oostenryck; +Cc: Linus Torvalds, linux-kernel

Hi Luc,

On Thu, Jun 18, 2020 at 12:02 AM Luc Van Oostenryck
<luc.vanoostenryck@gmail.com> wrote:
>
> diff --git a/include/linux/compiler_types.h b/include/linux/compiler_types.h
> index 21aed0981edf..e368384445b6 100644
> --- a/include/linux/compiler_types.h
> +++ b/include/linux/compiler_types.h
> @@ -5,20 +5,20 @@
>  #ifndef __ASSEMBLY__
>
>  #ifdef __CHECKER__
> -# define __user                __attribute__((noderef, address_space(1)))
>  # define __kernel      __attribute__((address_space(0)))
> +# define __user                __attribute__((noderef, address_space(__user)))

I guess `__kernel` moves to the first place since it uses the first
address space?

Acked-by: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>

Cheers,
Miguel

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

* Re: [PATCH] sparse: use identifiers to define address spaces
  2020-06-18  1:22 ` Miguel Ojeda
@ 2020-06-18  5:02   ` Luc Van Oostenryck
  2020-06-19  8:07     ` Geert Uytterhoeven
  0 siblings, 1 reply; 11+ messages in thread
From: Luc Van Oostenryck @ 2020-06-18  5:02 UTC (permalink / raw)
  To: Miguel Ojeda; +Cc: Linus Torvalds, linux-kernel

On Thu, Jun 18, 2020 at 03:22:15AM +0200, Miguel Ojeda wrote:
> Hi Luc,

Hi Miguel,

> On Thu, Jun 18, 2020 at 12:02 AM Luc Van Oostenryck
> <luc.vanoostenryck@gmail.com> wrote:
> >
> > diff --git a/include/linux/compiler_types.h b/include/linux/compiler_types.h
> > index 21aed0981edf..e368384445b6 100644
> > --- a/include/linux/compiler_types.h
> > +++ b/include/linux/compiler_types.h
> > @@ -5,20 +5,20 @@
> >  #ifndef __ASSEMBLY__
> >
> >  #ifdef __CHECKER__
> > -# define __user                __attribute__((noderef, address_space(1)))
> >  # define __kernel      __attribute__((address_space(0)))
> > +# define __user                __attribute__((noderef, address_space(__user)))
> 
> I guess `__kernel` moves to the first place since it uses the first
> address space?

No, there is no really an order between address spaces. Even before
this patch, the number were only used as an ID to distinguish them
from each other.

I just moved __kernel above because it is quite different from
the others because it's the default one, and so:
* it's never displayed
* it's normally not needed, nor in type annotations, nor in cast
  between address spaces. The only time it's needed is when it's
  combined with a typeof to express "the same type as this one but
  without the address space"
* it can't be defined with a name, '0' must be used.

So, it seemed strange to me to have it in the middle of the other ones.
   
-- Luc

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

* Re: [PATCH] sparse: use identifiers to define address spaces
  2020-06-17 22:02 [PATCH] sparse: use identifiers to define address spaces Luc Van Oostenryck
  2020-06-18  1:22 ` Miguel Ojeda
@ 2020-06-18 10:06 ` kernel test robot
  2020-06-18 16:59   ` Linus Torvalds
  2020-06-18 16:14 ` kernel test robot
  2020-06-18 16:49 ` kernel test robot
  3 siblings, 1 reply; 11+ messages in thread
From: kernel test robot @ 2020-06-18 10:06 UTC (permalink / raw)
  To: Luc Van Oostenryck, Linus Torvalds
  Cc: kbuild-all, LKML, Miguel Ojeda, Luc Van Oostenryck

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

Hi Luc,

I love your patch! Perhaps something to improve:

[auto build test WARNING on linux/master]
[also build test WARNING on linus/master v5.8-rc1 next-20200618]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use  as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Luc-Van-Oostenryck/sparse-use-identifiers-to-define-address-spaces/20200618-060614
base:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git a5dc8300df75e8b8384b4c82225f1e4a0b4d9b55
config: i386-randconfig-s001-20200618 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0
reproduce:
        # apt-get install sparse
        # sparse version: v0.6.2-rc1-10-gc17b1b06-dirty
        # save the attached .config to linux build tree
        make W=1 C=1 ARCH=i386 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'

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/spi/spi-fsl-spi.c:93:44: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected struct fsl_spi_reg *reg_base @@     got void [noderef] __iomem *reg_base @@
   drivers/spi/spi-fsl-spi.c:93:44: sparse:     expected struct fsl_spi_reg *reg_base
>> drivers/spi/spi-fsl-spi.c:93:44: sparse:     got void [noderef] __iomem *reg_base
>> drivers/spi/spi-fsl-spi.c:94:33: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected restricted __be32 [noderef] [usertype] __iomem *mode @@     got restricted __be32 * @@
>> drivers/spi/spi-fsl-spi.c:94:33: sparse:     expected restricted __be32 [noderef] [usertype] __iomem *mode
   drivers/spi/spi-fsl-spi.c:94:33: sparse:     got restricted __be32 *
   drivers/spi/spi-fsl-spi.c:294:44: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected struct fsl_spi_reg *reg_base @@     got void [noderef] __iomem *reg_base @@
   drivers/spi/spi-fsl-spi.c:294:44: sparse:     expected struct fsl_spi_reg *reg_base
   drivers/spi/spi-fsl-spi.c:294:44: sparse:     got void [noderef] __iomem *reg_base
>> drivers/spi/spi-fsl-spi.c:299:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected restricted __be32 [noderef] [usertype] __iomem *reg @@     got restricted __be32 * @@
>> drivers/spi/spi-fsl-spi.c:299:32: sparse:     expected restricted __be32 [noderef] [usertype] __iomem *reg
   drivers/spi/spi-fsl-spi.c:299:32: sparse:     got restricted __be32 *
   drivers/spi/spi-fsl-spi.c:303:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected restricted __be32 [noderef] [usertype] __iomem *reg @@     got restricted __be32 * @@
   drivers/spi/spi-fsl-spi.c:303:32: sparse:     expected restricted __be32 [noderef] [usertype] __iomem *reg
   drivers/spi/spi-fsl-spi.c:303:32: sparse:     got restricted __be32 *
>> drivers/spi/spi-fsl-spi.c:317:18: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct fsl_spi_reg *reg_base @@     got void [noderef] __iomem *reg_base @@
   drivers/spi/spi-fsl-spi.c:317:18: sparse:     expected struct fsl_spi_reg *reg_base
   drivers/spi/spi-fsl-spi.c:317:18: sparse:     got void [noderef] __iomem *reg_base
   drivers/spi/spi-fsl-spi.c:350:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected restricted __be32 [noderef] [usertype] __iomem *reg @@     got restricted __be32 * @@
   drivers/spi/spi-fsl-spi.c:350:32: sparse:     expected restricted __be32 [noderef] [usertype] __iomem *reg
   drivers/spi/spi-fsl-spi.c:350:32: sparse:     got restricted __be32 *
   drivers/spi/spi-fsl-spi.c:459:18: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct fsl_spi_reg *reg_base @@     got void [noderef] __iomem *reg_base @@
   drivers/spi/spi-fsl-spi.c:459:18: sparse:     expected struct fsl_spi_reg *reg_base
   drivers/spi/spi-fsl-spi.c:459:18: sparse:     got void [noderef] __iomem *reg_base
   drivers/spi/spi-fsl-spi.c:462:45: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected restricted __be32 [noderef] [usertype] __iomem *reg @@     got restricted __be32 * @@
   drivers/spi/spi-fsl-spi.c:462:45: sparse:     expected restricted __be32 [noderef] [usertype] __iomem *reg
   drivers/spi/spi-fsl-spi.c:462:45: sparse:     got restricted __be32 *
   drivers/spi/spi-fsl-spi.c:498:44: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected struct fsl_spi_reg *reg_base @@     got void [noderef] __iomem *reg_base @@
   drivers/spi/spi-fsl-spi.c:498:44: sparse:     expected struct fsl_spi_reg *reg_base
   drivers/spi/spi-fsl-spi.c:498:44: sparse:     got void [noderef] __iomem *reg_base
   drivers/spi/spi-fsl-spi.c:502:53: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected restricted __be32 [noderef] [usertype] __iomem *reg @@     got restricted __be32 * @@
   drivers/spi/spi-fsl-spi.c:502:53: sparse:     expected restricted __be32 [noderef] [usertype] __iomem *reg
   drivers/spi/spi-fsl-spi.c:502:53: sparse:     got restricted __be32 *
   drivers/spi/spi-fsl-spi.c:511:47: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected restricted __be32 [noderef] [usertype] __iomem *reg @@     got restricted __be32 * @@
   drivers/spi/spi-fsl-spi.c:511:47: sparse:     expected restricted __be32 [noderef] [usertype] __iomem *reg
   drivers/spi/spi-fsl-spi.c:511:47: sparse:     got restricted __be32 *
   drivers/spi/spi-fsl-spi.c:516:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected restricted __be32 [noderef] [usertype] __iomem *reg @@     got restricted __be32 * @@
   drivers/spi/spi-fsl-spi.c:516:32: sparse:     expected restricted __be32 [noderef] [usertype] __iomem *reg
   drivers/spi/spi-fsl-spi.c:516:32: sparse:     got restricted __be32 *
   drivers/spi/spi-fsl-spi.c:522:40: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected restricted __be32 [noderef] [usertype] __iomem *reg @@     got restricted __be32 * @@
   drivers/spi/spi-fsl-spi.c:522:40: sparse:     expected restricted __be32 [noderef] [usertype] __iomem *reg
   drivers/spi/spi-fsl-spi.c:522:40: sparse:     got restricted __be32 *
   drivers/spi/spi-fsl-spi.c:533:44: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected struct fsl_spi_reg *reg_base @@     got void [noderef] __iomem *reg_base @@
   drivers/spi/spi-fsl-spi.c:533:44: sparse:     expected struct fsl_spi_reg *reg_base
   drivers/spi/spi-fsl-spi.c:533:44: sparse:     got void [noderef] __iomem *reg_base
   drivers/spi/spi-fsl-spi.c:536:40: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected restricted __be32 [noderef] [usertype] __iomem *reg @@     got restricted __be32 * @@
   drivers/spi/spi-fsl-spi.c:536:40: sparse:     expected restricted __be32 [noderef] [usertype] __iomem *reg
   drivers/spi/spi-fsl-spi.c:536:40: sparse:     got restricted __be32 *
   drivers/spi/spi-fsl-spi.c:553:51: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected struct fsl_spi_reg *reg_base @@     got void [noderef] __iomem *reg_base @@
   drivers/spi/spi-fsl-spi.c:553:51: sparse:     expected struct fsl_spi_reg *reg_base
   drivers/spi/spi-fsl-spi.c:553:51: sparse:     got void [noderef] __iomem *reg_base
   drivers/spi/spi-fsl-spi.c:560:48: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected restricted __be32 [noderef] [usertype] __iomem *reg @@     got restricted __be32 * @@
   drivers/spi/spi-fsl-spi.c:560:48: sparse:     expected restricted __be32 [noderef] [usertype] __iomem *reg
   drivers/spi/spi-fsl-spi.c:560:48: sparse:     got restricted __be32 *
   drivers/spi/spi-fsl-spi.c:562:40: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected restricted __be32 [noderef] [usertype] __iomem *reg @@     got restricted __be32 * @@
   drivers/spi/spi-fsl-spi.c:562:40: sparse:     expected restricted __be32 [noderef] [usertype] __iomem *reg
   drivers/spi/spi-fsl-spi.c:562:40: sparse:     got restricted __be32 *
   drivers/spi/spi-fsl-spi.c:571:51: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected struct fsl_spi_reg *reg_base @@     got void [noderef] __iomem *reg_base @@
   drivers/spi/spi-fsl-spi.c:571:51: sparse:     expected struct fsl_spi_reg *reg_base
   drivers/spi/spi-fsl-spi.c:571:51: sparse:     got void [noderef] __iomem *reg_base
   drivers/spi/spi-fsl-spi.c:575:46: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected restricted __be32 [noderef] [usertype] __iomem *reg @@     got restricted __be32 * @@
   drivers/spi/spi-fsl-spi.c:575:46: sparse:     expected restricted __be32 [noderef] [usertype] __iomem *reg
   drivers/spi/spi-fsl-spi.c:575:46: sparse:     got restricted __be32 *
   drivers/spi/spi-fsl-spi.c:585:40: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected restricted __be32 [noderef] [usertype] __iomem *reg @@     got restricted __be32 * @@
   drivers/spi/spi-fsl-spi.c:585:40: sparse:     expected restricted __be32 [noderef] [usertype] __iomem *reg
   drivers/spi/spi-fsl-spi.c:585:40: sparse:     got restricted __be32 *
   drivers/spi/spi-fsl-spi.c:652:18: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct fsl_spi_reg *reg_base @@     got void [noderef] __iomem *reg_base @@
   drivers/spi/spi-fsl-spi.c:652:18: sparse:     expected struct fsl_spi_reg *reg_base
   drivers/spi/spi-fsl-spi.c:652:18: sparse:     got void [noderef] __iomem *reg_base
   drivers/spi/spi-fsl-spi.c:655:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected restricted __be32 [noderef] [usertype] __iomem *reg @@     got restricted __be32 * @@
   drivers/spi/spi-fsl-spi.c:655:32: sparse:     expected restricted __be32 [noderef] [usertype] __iomem *reg
   drivers/spi/spi-fsl-spi.c:655:32: sparse:     got restricted __be32 *
   drivers/spi/spi-fsl-spi.c:656:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected restricted __be32 [noderef] [usertype] __iomem *reg @@     got restricted __be32 * @@
   drivers/spi/spi-fsl-spi.c:656:32: sparse:     expected restricted __be32 [noderef] [usertype] __iomem *reg
   drivers/spi/spi-fsl-spi.c:656:32: sparse:     got restricted __be32 *
   drivers/spi/spi-fsl-spi.c:657:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected restricted __be32 [noderef] [usertype] __iomem *reg @@     got restricted __be32 * @@
   drivers/spi/spi-fsl-spi.c:657:32: sparse:     expected restricted __be32 [noderef] [usertype] __iomem *reg
   drivers/spi/spi-fsl-spi.c:657:32: sparse:     got restricted __be32 *
   drivers/spi/spi-fsl-spi.c:658:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected restricted __be32 [noderef] [usertype] __iomem *reg @@     got restricted __be32 * @@
   drivers/spi/spi-fsl-spi.c:658:32: sparse:     expected restricted __be32 [noderef] [usertype] __iomem *reg
   drivers/spi/spi-fsl-spi.c:658:32: sparse:     got restricted __be32 *
   drivers/spi/spi-fsl-spi.c:669:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected restricted __be32 [noderef] [usertype] __iomem *reg @@     got restricted __be32 * @@
   drivers/spi/spi-fsl-spi.c:669:32: sparse:     expected restricted __be32 [noderef] [usertype] __iomem *reg
   drivers/spi/spi-fsl-spi.c:669:32: sparse:     got restricted __be32 *
--
>> drivers/misc/habanalabs/goya/goya.c:2703:17: sparse: sparse: cast removes address space '__iomem' of expression
   drivers/misc/habanalabs/goya/goya.c:808:23: sparse: sparse: cast truncates bits from constant value (7ffc113000 becomes fc113000)
   drivers/misc/habanalabs/goya/goya.c:810:22: sparse: sparse: cast truncates bits from constant value (7ffc112000 becomes fc112000)
   drivers/misc/habanalabs/goya/goya.c:814:17: sparse: sparse: cast truncates bits from constant value (7ffc800040 becomes fc800040)
   drivers/misc/habanalabs/goya/goya.c:857:17: sparse: sparse: cast truncates bits from constant value (7ffc800040 becomes fc800040)
   drivers/misc/habanalabs/goya/goya.c:1066:9: sparse: sparse: cast truncates bits from constant value (8000000000 becomes 0)
   drivers/misc/habanalabs/goya/goya.c:1541:23: sparse: sparse: cast truncates bits from constant value (7ffc113000 becomes fc113000)
   drivers/misc/habanalabs/goya/goya.c:1543:22: sparse: sparse: cast truncates bits from constant value (7ffc112000 becomes fc112000)
   drivers/misc/habanalabs/goya/goya.c:1547:17: sparse: sparse: cast truncates bits from constant value (7ffc800040 becomes fc800040)
   drivers/misc/habanalabs/goya/goya.c:1590:23: sparse: sparse: cast truncates bits from constant value (7ffc113000 becomes fc113000)
   drivers/misc/habanalabs/goya/goya.c:1592:22: sparse: sparse: cast truncates bits from constant value (7ffc112000 becomes fc112000)
   drivers/misc/habanalabs/goya/goya.c:1596:17: sparse: sparse: cast truncates bits from constant value (7ffc800040 becomes fc800040)
   drivers/misc/habanalabs/goya/goya.c:1628:22: sparse: sparse: cast truncates bits from constant value (7ffc112000 becomes fc112000)
   drivers/misc/habanalabs/goya/goya.c:1648:23: sparse: sparse: cast truncates bits from constant value (7ffc113000 becomes fc113000)
   drivers/misc/habanalabs/goya/goya.c:1650:22: sparse: sparse: cast truncates bits from constant value (7ffc112000 becomes fc112000)
   drivers/misc/habanalabs/goya/goya.c:1654:17: sparse: sparse: cast truncates bits from constant value (7ffc800040 becomes fc800040)
   drivers/misc/habanalabs/goya/goya.c:1697:23: sparse: sparse: cast truncates bits from constant value (7ffc113000 becomes fc113000)
   drivers/misc/habanalabs/goya/goya.c:1699:22: sparse: sparse: cast truncates bits from constant value (7ffc112000 becomes fc112000)
   drivers/misc/habanalabs/goya/goya.c:1703:17: sparse: sparse: cast truncates bits from constant value (7ffc800040 becomes fc800040)
   drivers/misc/habanalabs/goya/goya.c:1738:22: sparse: sparse: cast truncates bits from constant value (7ffc112000 becomes fc112000)
   drivers/misc/habanalabs/goya/goya.c:2276:27: sparse: sparse: cast truncates bits from constant value (7ff0000000 becomes f0000000)
   drivers/misc/habanalabs/goya/goya.c:3344:26: sparse: sparse: cast truncates bits from constant value (7ffc112000 becomes fc112000)
   drivers/misc/habanalabs/goya/goya.c:3345:24: sparse: sparse: cast truncates bits from constant value (7ffc112ffc becomes fc112ffc)
--
>> drivers/usb/cdns3/drd.c:43:42: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got restricted __le32 * @@
>> drivers/usb/cdns3/drd.c:43:42: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/usb/cdns3/drd.c:43:42: sparse:     got restricted __le32 *
>> drivers/usb/cdns3/drd.c:45:42: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got restricted __le32 * @@
>> drivers/usb/cdns3/drd.c:45:42: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/usb/cdns3/drd.c:45:42: sparse:     got restricted __le32 *
   drivers/usb/cdns3/drd.c:47:42: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got restricted __le32 * @@
   drivers/usb/cdns3/drd.c:47:42: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/usb/cdns3/drd.c:47:42: sparse:     got restricted __le32 *
   drivers/usb/cdns3/drd.c:49:42: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got restricted __le32 * @@
   drivers/usb/cdns3/drd.c:49:42: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/usb/cdns3/drd.c:49:42: sparse:     got restricted __le32 *
   drivers/usb/cdns3/drd.c:71:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got restricted __le32 * @@
   drivers/usb/cdns3/drd.c:71:25: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/usb/cdns3/drd.c:71:25: sparse:     got restricted __le32 *
   drivers/usb/cdns3/drd.c:81:30: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got restricted __le32 * @@
   drivers/usb/cdns3/drd.c:81:30: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/usb/cdns3/drd.c:81:30: sparse:     got restricted __le32 *
   drivers/usb/cdns3/drd.c:114:24: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got restricted __le32 * @@
   drivers/usb/cdns3/drd.c:114:24: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/usb/cdns3/drd.c:114:24: sparse:     got restricted __le32 *
   drivers/usb/cdns3/drd.c:124:48: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got restricted __le32 * @@
   drivers/usb/cdns3/drd.c:124:48: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/usb/cdns3/drd.c:124:48: sparse:     got restricted __le32 *
   drivers/usb/cdns3/drd.c:141:56: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got restricted __le32 * @@
   drivers/usb/cdns3/drd.c:141:56: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/usb/cdns3/drd.c:141:56: sparse:     got restricted __le32 *
   drivers/usb/cdns3/drd.c:144:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got restricted __le32 * @@
   drivers/usb/cdns3/drd.c:144:23: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/usb/cdns3/drd.c:144:23: sparse:     got restricted __le32 *
   drivers/usb/cdns3/drd.c:144:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got restricted __le32 * @@
   drivers/usb/cdns3/drd.c:144:23: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/usb/cdns3/drd.c:144:23: sparse:     got restricted __le32 *
   drivers/usb/cdns3/drd.c:154:29: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got restricted __le32 * @@
   drivers/usb/cdns3/drd.c:154:29: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/usb/cdns3/drd.c:154:29: sparse:     got restricted __le32 *
   drivers/usb/cdns3/drd.c:156:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got restricted __le32 * @@
   drivers/usb/cdns3/drd.c:156:17: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/usb/cdns3/drd.c:156:17: sparse:     got restricted __le32 *
   drivers/usb/cdns3/drd.c:156:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got restricted __le32 * @@
   drivers/usb/cdns3/drd.c:156:17: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/usb/cdns3/drd.c:156:17: sparse:     got restricted __le32 *
   drivers/usb/cdns3/drd.c:178:55: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got restricted __le32 * @@
   drivers/usb/cdns3/drd.c:178:55: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/usb/cdns3/drd.c:178:55: sparse:     got restricted __le32 *
   drivers/usb/cdns3/drd.c:182:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got restricted __le32 * @@
   drivers/usb/cdns3/drd.c:182:23: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/usb/cdns3/drd.c:182:23: sparse:     got restricted __le32 *
   drivers/usb/cdns3/drd.c:182:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got restricted __le32 * @@
   drivers/usb/cdns3/drd.c:182:23: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/usb/cdns3/drd.c:182:23: sparse:     got restricted __le32 *
   drivers/usb/cdns3/drd.c:197:29: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got restricted __le32 * @@
   drivers/usb/cdns3/drd.c:197:29: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/usb/cdns3/drd.c:197:29: sparse:     got restricted __le32 *
   drivers/usb/cdns3/drd.c:199:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got restricted __le32 * @@
   drivers/usb/cdns3/drd.c:199:17: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/usb/cdns3/drd.c:199:17: sparse:     got restricted __le32 *
   drivers/usb/cdns3/drd.c:199:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got restricted __le32 * @@
   drivers/usb/cdns3/drd.c:199:17: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/usb/cdns3/drd.c:199:17: sparse:     got restricted __le32 *
   drivers/usb/cdns3/drd.c:219:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got restricted __le32 * @@
   drivers/usb/cdns3/drd.c:219:25: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/usb/cdns3/drd.c:219:25: sparse:     got restricted __le32 *
   drivers/usb/cdns3/drd.c:284:26: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got restricted __le32 * @@
   drivers/usb/cdns3/drd.c:284:26: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/usb/cdns3/drd.c:284:26: sparse:     got restricted __le32 *
   drivers/usb/cdns3/drd.c:303:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got restricted __le32 * @@
   drivers/usb/cdns3/drd.c:303:25: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/usb/cdns3/drd.c:303:25: sparse:     got restricted __le32 *
>> drivers/usb/cdns3/drd.c:326:27: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct cdns3_otg_legacy_regs *otg_v0_regs @@     got void [noderef] __iomem *[assigned] regs @@
   drivers/usb/cdns3/drd.c:326:27: sparse:     expected struct cdns3_otg_legacy_regs *otg_v0_regs
>> drivers/usb/cdns3/drd.c:326:27: sparse:     got void [noderef] __iomem *[assigned] regs
   drivers/usb/cdns3/drd.c:327:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got restricted __le32 * @@
   drivers/usb/cdns3/drd.c:327:25: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/usb/cdns3/drd.c:327:25: sparse:     got restricted __le32 *
>> drivers/usb/cdns3/drd.c:330:32: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct cdns3_otg_common_regs *otg_regs @@     got void [noderef] __iomem *[assigned] regs @@
   drivers/usb/cdns3/drd.c:330:32: sparse:     expected struct cdns3_otg_common_regs *otg_regs
   drivers/usb/cdns3/drd.c:330:32: sparse:     got void [noderef] __iomem *[assigned] regs
   drivers/usb/cdns3/drd.c:331:32: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got restricted __le32 * @@
   drivers/usb/cdns3/drd.c:331:32: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/usb/cdns3/drd.c:331:32: sparse:     got restricted __le32 *
   drivers/usb/cdns3/drd.c:332:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got restricted __le32 * @@
   drivers/usb/cdns3/drd.c:332:17: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/usb/cdns3/drd.c:332:17: sparse:     got restricted __le32 *
>> drivers/usb/cdns3/drd.c:336:35: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct cdns3_otg_regs *otg_v1_regs @@     got void [noderef] __iomem *[assigned] regs @@
   drivers/usb/cdns3/drd.c:336:35: sparse:     expected struct cdns3_otg_regs *otg_v1_regs
   drivers/usb/cdns3/drd.c:336:35: sparse:     got void [noderef] __iomem *[assigned] regs
   drivers/usb/cdns3/drd.c:339:32: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got restricted __le32 * @@
   drivers/usb/cdns3/drd.c:339:32: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/usb/cdns3/drd.c:339:32: sparse:     got restricted __le32 *
   drivers/usb/cdns3/drd.c:340:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got restricted __le32 * @@
   drivers/usb/cdns3/drd.c:340:17: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/usb/cdns3/drd.c:340:17: sparse:     got restricted __le32 *
   drivers/usb/cdns3/drd.c:340:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got restricted __le32 * @@
   drivers/usb/cdns3/drd.c:340:17: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/usb/cdns3/drd.c:340:17: sparse:     got restricted __le32 *
   drivers/usb/cdns3/drd.c:345:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got restricted __le32 * @@
   drivers/usb/cdns3/drd.c:345:17: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/usb/cdns3/drd.c:345:17: sparse:     got restricted __le32 *
   drivers/usb/cdns3/drd.c:368:28: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got restricted __le32 * @@
   drivers/usb/cdns3/drd.c:368:28: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/usb/cdns3/drd.c:368:28: sparse:     got restricted __le32 *
--
>> drivers/edac/x38_edac.c:168:35: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void [noderef] __iomem *window @@     got void *pvt_info @@
>> drivers/edac/x38_edac.c:168:35: sparse:     expected void [noderef] __iomem *window
   drivers/edac/x38_edac.c:168:35: sparse:     got void *pvt_info
>> drivers/edac/x38_edac.c:362:23: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *pvt_info @@     got void [noderef] __iomem *[assigned] window @@
   drivers/edac/x38_edac.c:362:23: sparse:     expected void *pvt_info
>> drivers/edac/x38_edac.c:362:23: sparse:     got void [noderef] __iomem *[assigned] window
>> drivers/edac/x38_edac.c:440:20: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void *pvt_info @@
>> drivers/edac/x38_edac.c:440:20: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/edac/x38_edac.c:440:20: sparse:     got void *pvt_info
--
>> arch/x86/kernel/signal.c:337:9: sparse: sparse: cast removes address space '__user' of expression
>> arch/x86/kernel/signal.c:337:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __user * @@     got unsigned long long [usertype] * @@
>> arch/x86/kernel/signal.c:337:9: sparse:     expected void const volatile [noderef] __user *
   arch/x86/kernel/signal.c:337:9: sparse:     got unsigned long long [usertype] *
>> arch/x86/kernel/signal.c:337:9: sparse: sparse: cast removes address space '__user' of expression
>> arch/x86/kernel/signal.c:337:9: sparse: sparse: cast removes address space '__user' of expression
>> arch/x86/kernel/signal.c:337:9: sparse: sparse: cast removes address space '__user' of expression
>> arch/x86/kernel/signal.c:337:9: sparse: sparse: cast removes address space '__user' of expression
>> arch/x86/kernel/signal.c:337:9: sparse: sparse: cast removes address space '__user' of expression
>> arch/x86/kernel/signal.c:337:9: sparse: sparse: cast removes address space '__user' of expression
>> arch/x86/kernel/signal.c:337:9: sparse: sparse: cast removes address space '__user' of expression
>> arch/x86/kernel/signal.c:337:9: sparse: sparse: cast removes address space '__user' of expression
>> arch/x86/kernel/signal.c:337:9: sparse: sparse: cast removes address space '__user' of expression
   arch/x86/kernel/signal.c:397:9: sparse: sparse: cast removes address space '__user' of expression
   arch/x86/kernel/signal.c:397:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __user * @@     got unsigned long long [usertype] * @@
   arch/x86/kernel/signal.c:397:9: sparse:     expected void const volatile [noderef] __user *
   arch/x86/kernel/signal.c:397:9: sparse:     got unsigned long long [usertype] *
   arch/x86/kernel/signal.c:397:9: sparse: sparse: cast removes address space '__user' of expression
   arch/x86/kernel/signal.c:397:9: sparse: sparse: cast removes address space '__user' of expression
   arch/x86/kernel/signal.c:397:9: sparse: sparse: cast removes address space '__user' of expression
   arch/x86/kernel/signal.c:397:9: sparse: sparse: cast removes address space '__user' of expression
   arch/x86/kernel/signal.c:397:9: sparse: sparse: cast removes address space '__user' of expression
   arch/x86/kernel/signal.c:397:9: sparse: sparse: cast removes address space '__user' of expression
   arch/x86/kernel/signal.c:397:9: sparse: sparse: cast removes address space '__user' of expression
   arch/x86/kernel/signal.c:397:9: sparse: sparse: cast removes address space '__user' of expression
   arch/x86/kernel/signal.c:397:9: sparse: sparse: cast removes address space '__user' of expression
--
>> arch/x86/platform/geode/net5501.c:103:17: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned char *rombase @@     got void [noderef] __iomem * @@
   arch/x86/platform/geode/net5501.c:103:17: sparse:     expected unsigned char *rombase
>> arch/x86/platform/geode/net5501.c:103:17: sparse:     got void [noderef] __iomem *
>> arch/x86/platform/geode/net5501.c:127:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got unsigned char *rombase @@
>> arch/x86/platform/geode/net5501.c:127:17: sparse:     expected void volatile [noderef] __iomem *addr
   arch/x86/platform/geode/net5501.c:127:17: sparse:     got unsigned char *rombase
--
>> arch/x86/platform/olpc/olpc_ofw.c:32:14: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct pgd_t [usertype] *base @@     got void [noderef] __iomem * @@
   arch/x86/platform/olpc/olpc_ofw.c:32:14: sparse:     expected struct pgd_t [usertype] *base
>> arch/x86/platform/olpc/olpc_ofw.c:32:14: sparse:     got void [noderef] __iomem *
>> arch/x86/platform/olpc/olpc_ofw.c:44:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void [noderef] __iomem *addr @@     got struct pgd_t [usertype] *base @@
>> arch/x86/platform/olpc/olpc_ofw.c:44:23: sparse:     expected void [noderef] __iomem *addr
   arch/x86/platform/olpc/olpc_ofw.c:44:23: sparse:     got struct pgd_t [usertype] *base
--
>> drivers/gpu/drm/drm_bufs.c:225:45: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *handle @@     got void [noderef] __iomem * @@
   drivers/gpu/drm/drm_bufs.c:225:45: sparse:     expected void *handle
>> drivers/gpu/drm/drm_bufs.c:225:45: sparse:     got void [noderef] __iomem *
   drivers/gpu/drm/drm_bufs.c:228:45: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *handle @@     got void [noderef] __iomem * @@
   drivers/gpu/drm/drm_bufs.c:228:45: sparse:     expected void *handle
   drivers/gpu/drm/drm_bufs.c:228:45: sparse:     got void [noderef] __iomem *
>> drivers/gpu/drm/drm_bufs.c:343:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void *handle @@
>> drivers/gpu/drm/drm_bufs.c:343:36: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/gpu/drm/drm_bufs.c:343:36: sparse:     got void *handle
   drivers/gpu/drm/drm_bufs.c:360:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void *handle @@
   drivers/gpu/drm/drm_bufs.c:360:36: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/gpu/drm/drm_bufs.c:360:36: sparse:     got void *handle
   drivers/gpu/drm/drm_bufs.c:536:28: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void *handle @@
   drivers/gpu/drm/drm_bufs.c:536:28: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/gpu/drm/drm_bufs.c:536:28: sparse:     got void *handle
--
>> drivers/gpu/drm/drm_vm.c:276:44: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void *handle @@
>> drivers/gpu/drm/drm_vm.c:276:44: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/gpu/drm/drm_vm.c:276:44: sparse:     got void *handle
--
>> sound/soc/intel/atom/sst/sst_loader.c:212:43: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void *destn @@     got void [noderef] __iomem * @@
   sound/soc/intel/atom/sst/sst_loader.c:212:43: sparse:     expected void *destn
>> sound/soc/intel/atom/sst/sst_loader.c:212:43: sparse:     got void [noderef] __iomem *
--
>> drivers/video/fbdev/cirrusfb.c:1851:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void * @@     got char [noderef] __iomem *screen_base @@
   drivers/video/fbdev/cirrusfb.c:1851:17: sparse:     expected void *
   drivers/video/fbdev/cirrusfb.c:1851:17: sparse:     got char [noderef] __iomem *screen_base
--
   drivers/ipack/carriers/tpci200.c:153:28: sparse: sparse: incompatible types in comparison expression (different address spaces):
>> drivers/ipack/carriers/tpci200.c:153:28: sparse:    struct slot_irq [noderef] __rcu *
   drivers/ipack/carriers/tpci200.c:153:28: sparse:    struct slot_irq *
   drivers/ipack/carriers/tpci200.c:187:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
   drivers/ipack/carriers/tpci200.c:187:9: sparse:    struct slot_irq [noderef] __rcu *
   drivers/ipack/carriers/tpci200.c:187:9: sparse:    struct slot_irq *
   drivers/ipack/carriers/tpci200.c:236:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
   drivers/ipack/carriers/tpci200.c:236:9: sparse:    struct slot_irq [noderef] __rcu *
   drivers/ipack/carriers/tpci200.c:236:9: sparse:    struct slot_irq *
--
>> drivers/ntb/ntb_transport.c:1790:43: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *to @@     got void [noderef] __iomem *offset @@
   drivers/ntb/ntb_transport.c:1790:43: sparse:     expected void *to
   drivers/ntb/ntb_transport.c:1790:43: sparse:     got void [noderef] __iomem *offset
>> drivers/ntb/ntb_transport.c:1790:56: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void const [noderef] __user *from @@     got void *buf @@
>> drivers/ntb/ntb_transport.c:1790:56: sparse:     expected void const [noderef] __user *from
   drivers/ntb/ntb_transport.c:1790:56: sparse:     got void *buf
--
>> drivers/video/fbdev/geode/lxfb_ops.c:604:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void const * @@     got void [noderef] __iomem *gp_regs @@
   drivers/video/fbdev/geode/lxfb_ops.c:604:9: sparse:     expected void const *
>> drivers/video/fbdev/geode/lxfb_ops.c:604:9: sparse:     got void [noderef] __iomem *gp_regs
>> drivers/video/fbdev/geode/lxfb_ops.c:605:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void const * @@     got void [noderef] __iomem *dc_regs @@
   drivers/video/fbdev/geode/lxfb_ops.c:605:9: sparse:     expected void const *
>> drivers/video/fbdev/geode/lxfb_ops.c:605:9: sparse:     got void [noderef] __iomem *dc_regs
>> drivers/video/fbdev/geode/lxfb_ops.c:606:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void const * @@     got void [noderef] __iomem *vp_regs @@
   drivers/video/fbdev/geode/lxfb_ops.c:606:9: sparse:     expected void const *
>> drivers/video/fbdev/geode/lxfb_ops.c:606:9: sparse:     got void [noderef] __iomem *vp_regs
>> drivers/video/fbdev/geode/lxfb_ops.c:607:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void const * @@     got void [noderef] __iomem * @@
   drivers/video/fbdev/geode/lxfb_ops.c:607:9: sparse:     expected void const *
>> drivers/video/fbdev/geode/lxfb_ops.c:607:9: sparse:     got void [noderef] __iomem *
   drivers/video/fbdev/geode/lxfb_ops.c:635:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void const * @@     got void [noderef] __iomem * @@
   drivers/video/fbdev/geode/lxfb_ops.c:635:9: sparse:     expected void const *
   drivers/video/fbdev/geode/lxfb_ops.c:635:9: sparse:     got void [noderef] __iomem *
>> drivers/video/fbdev/geode/lxfb_ops.c:761:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void * @@     got void [noderef] __iomem * @@
   drivers/video/fbdev/geode/lxfb_ops.c:761:9: sparse:     expected void *
   drivers/video/fbdev/geode/lxfb_ops.c:761:9: sparse:     got void [noderef] __iomem *
--
>> drivers/video/fbdev/geode/suspend_gx.c:32:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void const * @@     got void [noderef] __iomem *gp_regs @@
   drivers/video/fbdev/geode/suspend_gx.c:32:9: sparse:     expected void const *
>> drivers/video/fbdev/geode/suspend_gx.c:32:9: sparse:     got void [noderef] __iomem *gp_regs
>> drivers/video/fbdev/geode/suspend_gx.c:33:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void const * @@     got void [noderef] __iomem *dc_regs @@
   drivers/video/fbdev/geode/suspend_gx.c:33:9: sparse:     expected void const *
>> drivers/video/fbdev/geode/suspend_gx.c:33:9: sparse:     got void [noderef] __iomem *dc_regs
>> drivers/video/fbdev/geode/suspend_gx.c:34:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void const * @@     got void [noderef] __iomem *vid_regs @@
   drivers/video/fbdev/geode/suspend_gx.c:34:9: sparse:     expected void const *
>> drivers/video/fbdev/geode/suspend_gx.c:34:9: sparse:     got void [noderef] __iomem *vid_regs
>> drivers/video/fbdev/geode/suspend_gx.c:35:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void const * @@     got void [noderef] __iomem * @@
   drivers/video/fbdev/geode/suspend_gx.c:35:9: sparse:     expected void const *
>> drivers/video/fbdev/geode/suspend_gx.c:35:9: sparse:     got void [noderef] __iomem *
--
>> drivers/ntb/hw/mscc/ntb_hw_switchtec.c:897:29: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/ntb/hw/mscc/ntb_hw_switchtec.c:897:26: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct ntb_ctrl_regs [noderef] __iomem *mmio_ctrl @@     got void * @@
>> drivers/ntb/hw/mscc/ntb_hw_switchtec.c:897:26: sparse:     expected struct ntb_ctrl_regs [noderef] __iomem *mmio_ctrl
   drivers/ntb/hw/mscc/ntb_hw_switchtec.c:897:26: sparse:     got void *
   drivers/ntb/hw/mscc/ntb_hw_switchtec.c:899:30: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/ntb/hw/mscc/ntb_hw_switchtec.c:899:27: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct ntb_dbmsg_regs [noderef] __iomem *mmio_dbmsg @@     got void * @@
>> drivers/ntb/hw/mscc/ntb_hw_switchtec.c:899:27: sparse:     expected struct ntb_dbmsg_regs [noderef] __iomem *mmio_dbmsg
   drivers/ntb/hw/mscc/ntb_hw_switchtec.c:899:27: sparse:     got void *
   drivers/ntb/hw/mscc/ntb_hw_switchtec.c:697:38: sparse: sparse: dereference of noderef expression
   include/linux/io-64-nonatomic-lo-hi.h:75:19: sparse: sparse: cast truncates bits from constant value (10100000000 becomes 0)
--
>> drivers/gpu/drm/nouveau/nvkm/core/gpuobj.c:97:22: sparse: sparse: incorrect type in return expression (different address spaces) @@     expected void * @@     got void [noderef] __iomem *map @@
   drivers/gpu/drm/nouveau/nvkm/core/gpuobj.c:97:22: sparse:     expected void *
>> drivers/gpu/drm/nouveau/nvkm/core/gpuobj.c:97:22: sparse:     got void [noderef] __iomem *map
>> drivers/gpu/drm/nouveau/nvkm/core/gpuobj.c:155:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void [noderef] __iomem *map @@     got void * @@
>> drivers/gpu/drm/nouveau/nvkm/core/gpuobj.c:155:21: sparse:     expected void [noderef] __iomem *map
   drivers/gpu/drm/nouveau/nvkm/core/gpuobj.c:155:21: sparse:     got void *
>> drivers/gpu/drm/nouveau/nvkm/core/gpuobj.c:157:33: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/gpu/drm/nouveau/nvkm/core/gpuobj.c:157:30: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void [noderef] __iomem *map @@     got unsigned char [usertype] * @@
   drivers/gpu/drm/nouveau/nvkm/core/gpuobj.c:157:30: sparse:     expected void [noderef] __iomem *map
   drivers/gpu/drm/nouveau/nvkm/core/gpuobj.c:157:30: sparse:     got unsigned char [usertype] *
   drivers/gpu/drm/nouveau/nvkm/core/gpuobj.c:162:22: sparse: sparse: incorrect type in return expression (different address spaces) @@     expected void * @@     got void [noderef] __iomem *map @@
   drivers/gpu/drm/nouveau/nvkm/core/gpuobj.c:162:22: sparse:     expected void *
   drivers/gpu/drm/nouveau/nvkm/core/gpuobj.c:162:22: sparse:     got void [noderef] __iomem *map
--
>> drivers/gpu/drm/nouveau/dispnv50/disp.c:163:19: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned int [usertype] *ptr @@     got void [noderef] __iomem *ptr @@
   drivers/gpu/drm/nouveau/dispnv50/disp.c:163:19: sparse:     expected unsigned int [usertype] *ptr
>> drivers/gpu/drm/nouveau/dispnv50/disp.c:163:19: sparse:     got void [noderef] __iomem *ptr
--
>> drivers/gpu/drm/nouveau/nouveau_fence.c:215:25: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct nouveau_channel [noderef] __rcu *channel @@     got struct nouveau_channel *chan @@
>> drivers/gpu/drm/nouveau/nouveau_fence.c:215:25: sparse:     expected struct nouveau_channel [noderef] __rcu *channel
   drivers/gpu/drm/nouveau/nouveau_fence.c:215:25: sparse:     got struct nouveau_channel *chan
--
>> drivers/gpu/drm/nouveau/nv04_fence.c:42:45: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected struct nouveau_channel *chan @@     got struct nouveau_channel [noderef] __rcu *channel @@
   drivers/gpu/drm/nouveau/nv04_fence.c:42:45: sparse:     expected struct nouveau_channel *chan
>> drivers/gpu/drm/nouveau/nv04_fence.c:42:45: sparse:     got struct nouveau_channel [noderef] __rcu *channel
--
>> drivers/gpu/drm/nouveau/nv10_fence.c:32:45: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected struct nouveau_channel *chan @@     got struct nouveau_channel [noderef] __rcu *channel @@
   drivers/gpu/drm/nouveau/nv10_fence.c:32:45: sparse:     expected struct nouveau_channel *chan
>> drivers/gpu/drm/nouveau/nv10_fence.c:32:45: sparse:     got struct nouveau_channel [noderef] __rcu *channel
--
>> drivers/gpu/drm/nouveau/nv84_fence.c:70:45: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected struct nouveau_channel *chan @@     got struct nouveau_channel [noderef] __rcu *channel @@
   drivers/gpu/drm/nouveau/nv84_fence.c:70:45: sparse:     expected struct nouveau_channel *chan
>> drivers/gpu/drm/nouveau/nv84_fence.c:70:45: sparse:     got struct nouveau_channel [noderef] __rcu *channel
--
>> drivers/gpu/drm/nouveau/nvif/object.c:236:41: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void [noderef] __iomem *ptr @@     got void * @@
>> drivers/gpu/drm/nouveau/nvif/object.c:236:41: sparse:     expected void [noderef] __iomem *ptr
   drivers/gpu/drm/nouveau/nvif/object.c:236:41: sparse:     got void *
--
>> drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:104:58: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void [noderef] __iomem * @@     got void * @@
>> drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:104:58: sparse:     expected void [noderef] __iomem *
   drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:104:58: sparse:     got void *
   drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:110:58: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void [noderef] __iomem * @@     got void * @@
   drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:110:58: sparse:     expected void [noderef] __iomem *
   drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:110:58: sparse:     got void *
>> drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:157:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void *[assigned] emap @@
>> drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:157:25: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:157:25: sparse:     got void *[assigned] emap
>> drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:174:19: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *map @@     got void [noderef] __iomem * @@
   drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:174:19: sparse:     expected void *map
>> drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:174:19: sparse:     got void [noderef] __iomem *
>> drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:225:28: sparse: sparse: incorrect type in return expression (different address spaces) @@     expected void [noderef] __iomem * @@     got void *map @@
   drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:225:28: sparse:     expected void [noderef] __iomem *
   drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:225:28: sparse:     got void *map
   drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:233:28: sparse: sparse: incorrect type in return expression (different address spaces) @@     expected void [noderef] __iomem * @@     got void *map @@
   drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:233:28: sparse:     expected void [noderef] __iomem *
   drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:233:28: sparse:     got void *map
>> drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:240:21: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void [noderef] __iomem *map @@     got void *map @@
>> drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:240:21: sparse:     expected void [noderef] __iomem *map
   drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:240:21: sparse:     got void *map
>> drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:327:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void *[assigned] map @@
   drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:327:25: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:327:25: sparse:     got void *[assigned] map
--
>> drivers/gpu/drm/nouveau/nvkm/subdev/instmem/gk20a.c:182:20: sparse: sparse: incorrect type in return expression (different address spaces) @@     expected void [noderef] __iomem * @@     got unsigned int [usertype] *vaddr @@
>> drivers/gpu/drm/nouveau/nvkm/subdev/instmem/gk20a.c:182:20: sparse:     expected void [noderef] __iomem *
   drivers/gpu/drm/nouveau/nvkm/subdev/instmem/gk20a.c:182:20: sparse:     got unsigned int [usertype] *vaddr
   drivers/gpu/drm/nouveau/nvkm/subdev/instmem/gk20a.c:225:26: sparse: sparse: incorrect type in return expression (different address spaces) @@     expected void [noderef] __iomem * @@     got unsigned int [usertype] *vaddr @@
   drivers/gpu/drm/nouveau/nvkm/subdev/instmem/gk20a.c:225:26: sparse:     expected void [noderef] __iomem *
   drivers/gpu/drm/nouveau/nvkm/subdev/instmem/gk20a.c:225:26: sparse:     got unsigned int [usertype] *vaddr
--
>> drivers/gpu/drm/ast/ast_mode.c:1455:23: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got unsigned char [usertype] * @@
>> drivers/gpu/drm/ast/ast_mode.c:1455:23: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/gpu/drm/ast/ast_mode.c:1455:23: sparse:     got unsigned char [usertype] *
   drivers/gpu/drm/ast/ast_mode.c:1456:23: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got unsigned char [usertype] * @@
   drivers/gpu/drm/ast/ast_mode.c:1456:23: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/gpu/drm/ast/ast_mode.c:1456:23: sparse:     got unsigned char [usertype] *
>> drivers/gpu/drm/ast/ast_mode.c:1386:43: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got unsigned char [usertype] *[assigned] dstxor @@
   drivers/gpu/drm/ast/ast_mode.c:1386:43: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/gpu/drm/ast/ast_mode.c:1386:43: sparse:     got unsigned char [usertype] *[assigned] dstxor
   drivers/gpu/drm/ast/ast_mode.c:1398:43: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got unsigned char [usertype] *[assigned] dstxor @@
   drivers/gpu/drm/ast/ast_mode.c:1398:43: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/gpu/drm/ast/ast_mode.c:1398:43: sparse:     got unsigned char [usertype] *[assigned] dstxor
>> drivers/gpu/drm/ast/ast_mode.c:1419:22: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void *[assigned] dst @@
   drivers/gpu/drm/ast/ast_mode.c:1419:22: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/gpu/drm/ast/ast_mode.c:1419:22: sparse:     got void *[assigned] dst
>> drivers/gpu/drm/ast/ast_mode.c:1420:27: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/gpu/drm/ast/ast_mode.c:1420:27: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/gpu/drm/ast/ast_mode.c:1420:27: sparse:     got void *
   drivers/gpu/drm/ast/ast_mode.c:1421:28: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/gpu/drm/ast/ast_mode.c:1421:28: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/gpu/drm/ast/ast_mode.c:1421:28: sparse:     got void *
   drivers/gpu/drm/ast/ast_mode.c:1422:23: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/gpu/drm/ast/ast_mode.c:1422:23: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/gpu/drm/ast/ast_mode.c:1422:23: sparse:     got void *
   drivers/gpu/drm/ast/ast_mode.c:1423:23: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/gpu/drm/ast/ast_mode.c:1423:23: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/gpu/drm/ast/ast_mode.c:1423:23: sparse:     got void *

vim +93 drivers/spi/spi-fsl-spi.c

c3f3e7717f1cf0 drivers/spi/spi-fsl-spi.c Andreas Larsson  2013-02-15   88  
b36ece832512c1 drivers/spi/spi_fsl_spi.c Mingkai Hu       2010-10-12   89  static void fsl_spi_change_mode(struct spi_device *spi)
a35c1710956f7a drivers/spi/spi_mpc8xxx.c Anton Vorontsov  2009-10-12   90  {
a35c1710956f7a drivers/spi/spi_mpc8xxx.c Anton Vorontsov  2009-10-12   91  	struct mpc8xxx_spi *mspi = spi_master_get_devdata(spi->master);
a35c1710956f7a drivers/spi/spi_mpc8xxx.c Anton Vorontsov  2009-10-12   92  	struct spi_mpc8xxx_cs *cs = spi->controller_state;
b36ece832512c1 drivers/spi/spi_fsl_spi.c Mingkai Hu       2010-10-12  @93  	struct fsl_spi_reg *reg_base = mspi->reg_base;
b36ece832512c1 drivers/spi/spi_fsl_spi.c Mingkai Hu       2010-10-12  @94  	__be32 __iomem *mode = &reg_base->mode;
a35c1710956f7a drivers/spi/spi_mpc8xxx.c Anton Vorontsov  2009-10-12   95  	unsigned long flags;
a35c1710956f7a drivers/spi/spi_mpc8xxx.c Anton Vorontsov  2009-10-12   96  
a35c1710956f7a drivers/spi/spi_mpc8xxx.c Anton Vorontsov  2009-10-12   97  	if (cs->hw_mode == mpc8xxx_spi_read_reg(mode))
a35c1710956f7a drivers/spi/spi_mpc8xxx.c Anton Vorontsov  2009-10-12   98  		return;
a35c1710956f7a drivers/spi/spi_mpc8xxx.c Anton Vorontsov  2009-10-12   99  
a35c1710956f7a drivers/spi/spi_mpc8xxx.c Anton Vorontsov  2009-10-12  100  	/* Turn off IRQs locally to minimize time that SPI is disabled. */
a35c1710956f7a drivers/spi/spi_mpc8xxx.c Anton Vorontsov  2009-10-12  101  	local_irq_save(flags);
a35c1710956f7a drivers/spi/spi_mpc8xxx.c Anton Vorontsov  2009-10-12  102  
a35c1710956f7a drivers/spi/spi_mpc8xxx.c Anton Vorontsov  2009-10-12  103  	/* Turn off SPI unit prior changing mode */
a35c1710956f7a drivers/spi/spi_mpc8xxx.c Anton Vorontsov  2009-10-12  104  	mpc8xxx_spi_write_reg(mode, cs->hw_mode & ~SPMODE_ENABLE);
a35c1710956f7a drivers/spi/spi_mpc8xxx.c Anton Vorontsov  2009-10-12  105  
4c1fba442960cf drivers/spi/spi_mpc8xxx.c Anton Vorontsov  2009-10-12  106  	/* When in CPM mode, we need to reinit tx and rx. */
4c1fba442960cf drivers/spi/spi_mpc8xxx.c Anton Vorontsov  2009-10-12  107  	if (mspi->flags & SPI_CPM_MODE) {
e8beacbb85a5c1 drivers/spi/spi-fsl-spi.c Andreas Larsson  2013-02-15  108  		fsl_spi_cpm_reinit_txrx(mspi);
4c1fba442960cf drivers/spi/spi_mpc8xxx.c Anton Vorontsov  2009-10-12  109  	}
f9218c2a60facc drivers/spi/spi_mpc8xxx.c Joakim Tjernlund 2010-05-22  110  	mpc8xxx_spi_write_reg(mode, cs->hw_mode);
a35c1710956f7a drivers/spi/spi_mpc8xxx.c Anton Vorontsov  2009-10-12  111  	local_irq_restore(flags);
a35c1710956f7a drivers/spi/spi_mpc8xxx.c Anton Vorontsov  2009-10-12  112  }
a35c1710956f7a drivers/spi/spi_mpc8xxx.c Anton Vorontsov  2009-10-12  113  

---
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: 37425 bytes --]

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

* Re: [PATCH] sparse: use identifiers to define address spaces
  2020-06-17 22:02 [PATCH] sparse: use identifiers to define address spaces Luc Van Oostenryck
  2020-06-18  1:22 ` Miguel Ojeda
  2020-06-18 10:06 ` kernel test robot
@ 2020-06-18 16:14 ` kernel test robot
  2020-06-18 16:49 ` kernel test robot
  3 siblings, 0 replies; 11+ messages in thread
From: kernel test robot @ 2020-06-18 16:14 UTC (permalink / raw)
  To: Luc Van Oostenryck, Linus Torvalds
  Cc: kbuild-all, LKML, Miguel Ojeda, Luc Van Oostenryck

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

Hi Luc,

I love your patch! Perhaps something to improve:

[auto build test WARNING on linux/master]
[also build test WARNING on linus/master v5.8-rc1 next-20200618]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use  as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Luc-Van-Oostenryck/sparse-use-identifiers-to-define-address-spaces/20200618-060614
base:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git a5dc8300df75e8b8384b4c82225f1e4a0b4d9b55
config: mips-randconfig-s031-20200618 (attached as .config)
compiler: mips64-linux-gcc (GCC) 9.3.0
reproduce:
        # apt-get install sparse
        # sparse version: v0.6.2-rc1-10-gc17b1b06-dirty
        # save the attached .config to linux build tree
        make W=1 C=1 ARCH=mips CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'

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 >>)

>> arch/mips/include/asm/syscall.h:78:25: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected int const [noderef] __user *__gu_ptr @@     got int * @@
>> arch/mips/include/asm/syscall.h:78:25: sparse:     expected int const [noderef] __user *__gu_ptr
   arch/mips/include/asm/syscall.h:78:25: sparse:     got int *
>> arch/mips/include/asm/syscall.h:78:25: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected int const [noderef] __user *__gu_ptr @@     got int * @@
>> arch/mips/include/asm/syscall.h:78:25: sparse:     expected int const [noderef] __user *__gu_ptr
   arch/mips/include/asm/syscall.h:78:25: sparse:     got int *
--
>> arch/mips/kernel/signal.c:280:13: sparse: sparse: cast removes address space '__user' of expression
>> arch/mips/kernel/signal.c:280:13: sparse: sparse: cast removes address space '__user' of expression
>> arch/mips/kernel/signal.c:280:13: sparse: sparse: cast removes address space '__user' of expression
>> arch/mips/kernel/signal.c:280:13: sparse: sparse: cast removes address space '__user' of expression
>> arch/mips/kernel/signal.c:280:13: sparse: sparse: cast removes address space '__user' of expression
>> arch/mips/kernel/signal.c:280:13: sparse: sparse: cast removes address space '__user' of expression
>> arch/mips/kernel/signal.c:280:13: sparse: sparse: cast removes address space '__user' of expression
>> arch/mips/kernel/signal.c:280:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __user * @@     got unsigned int [usertype] * @@
>> arch/mips/kernel/signal.c:280:13: sparse:     expected void const volatile [noderef] __user *
   arch/mips/kernel/signal.c:280:13: sparse:     got unsigned int [usertype] *
>> arch/mips/kernel/signal.c:280:13: sparse: sparse: cast removes address space '__user' of expression
>> arch/mips/kernel/signal.c:280:13: sparse: sparse: cast removes address space '__user' of expression
>> arch/mips/kernel/signal.c:280:13: sparse: sparse: cast removes address space '__user' of expression
>> arch/mips/kernel/signal.c:280:13: sparse: sparse: cast removes address space '__user' of expression
>> arch/mips/kernel/signal.c:280:13: sparse: sparse: cast removes address space '__user' of expression
   arch/mips/kernel/signal.c:293:23: sparse: sparse: cast removes address space '__user' of expression
   arch/mips/kernel/signal.c:293:23: sparse: sparse: cast removes address space '__user' of expression
   arch/mips/kernel/signal.c:293:23: sparse: sparse: cast removes address space '__user' of expression
   arch/mips/kernel/signal.c:293:23: sparse: sparse: cast removes address space '__user' of expression
   arch/mips/kernel/signal.c:293:23: sparse: sparse: cast removes address space '__user' of expression
   arch/mips/kernel/signal.c:293:23: sparse: sparse: cast removes address space '__user' of expression
   arch/mips/kernel/signal.c:293:23: sparse: sparse: cast removes address space '__user' of expression
   arch/mips/kernel/signal.c:293:23: sparse: sparse: cast removes address space '__user' of expression
   arch/mips/kernel/signal.c:293:23: sparse: sparse: cast removes address space '__user' of expression
   arch/mips/kernel/signal.c:293:23: sparse: sparse: cast removes address space '__user' of expression
>> arch/mips/kernel/signal.c:293:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __user * @@     got unsigned int * @@
   arch/mips/kernel/signal.c:293:23: sparse:     expected void const volatile [noderef] __user *
   arch/mips/kernel/signal.c:293:23: sparse:     got unsigned int *
   arch/mips/kernel/signal.c:293:23: sparse: sparse: cast removes address space '__user' of expression
   arch/mips/kernel/signal.c:293:23: sparse: sparse: cast removes address space '__user' of expression
   arch/mips/kernel/signal.c:293:23: sparse: sparse: cast removes address space '__user' of expression
   arch/mips/kernel/signal.c:293:23: sparse: sparse: cast removes address space '__user' of expression
   arch/mips/kernel/signal.c:293:23: sparse: sparse: cast removes address space '__user' of expression
   arch/mips/kernel/signal.c:293:23: sparse: sparse: cast removes address space '__user' of expression
   arch/mips/kernel/signal.c:293:23: sparse: sparse: cast removes address space '__user' of expression
   arch/mips/kernel/signal.c:293:23: sparse: sparse: cast removes address space '__user' of expression
   arch/mips/kernel/signal.c:293:23: sparse: sparse: cast removes address space '__user' of expression
   arch/mips/kernel/signal.c:300:23: sparse: sparse: cast removes address space '__user' of expression
   arch/mips/kernel/signal.c:300:23: sparse: sparse: cast removes address space '__user' of expression
   arch/mips/kernel/signal.c:300:23: sparse: sparse: cast removes address space '__user' of expression
   arch/mips/kernel/signal.c:300:23: sparse: sparse: cast removes address space '__user' of expression
   arch/mips/kernel/signal.c:300:23: sparse: sparse: cast removes address space '__user' of expression
   arch/mips/kernel/signal.c:300:23: sparse: sparse: cast removes address space '__user' of expression
   arch/mips/kernel/signal.c:300:23: sparse: sparse: cast removes address space '__user' of expression
   arch/mips/kernel/signal.c:300:23: sparse: sparse: cast removes address space '__user' of expression
   arch/mips/kernel/signal.c:300:23: sparse: sparse: cast removes address space '__user' of expression
   arch/mips/kernel/signal.c:300:23: sparse: sparse: cast removes address space '__user' of expression
   arch/mips/kernel/signal.c:300:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __user * @@     got unsigned int * @@
   arch/mips/kernel/signal.c:300:23: sparse:     expected void const volatile [noderef] __user *
   arch/mips/kernel/signal.c:300:23: sparse:     got unsigned int *
   arch/mips/kernel/signal.c:300:23: sparse: sparse: cast removes address space '__user' of expression
   arch/mips/kernel/signal.c:300:23: sparse: sparse: cast removes address space '__user' of expression
   arch/mips/kernel/signal.c:300:23: sparse: sparse: cast removes address space '__user' of expression
   arch/mips/kernel/signal.c:300:23: sparse: sparse: cast removes address space '__user' of expression
   arch/mips/kernel/signal.c:300:23: sparse: sparse: cast removes address space '__user' of expression
   arch/mips/kernel/signal.c:300:23: sparse: sparse: cast removes address space '__user' of expression
   arch/mips/kernel/signal.c:300:23: sparse: sparse: cast removes address space '__user' of expression
   arch/mips/kernel/signal.c:300:23: sparse: sparse: cast removes address space '__user' of expression
   arch/mips/kernel/signal.c:300:23: sparse: sparse: cast removes address space '__user' of expression
   arch/mips/kernel/signal.c:661:17: sparse: sparse: symbol 'sys_rt_sigreturn' was not declared. Should it be static?
   arch/mips/kernel/signal.c:157:14: sparse: sparse: cast removes address space '__user' of expression
>> arch/mips/kernel/signal.c:157:12: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct ucontext [noderef] __user *uc @@     got struct ucontext * @@
>> arch/mips/kernel/signal.c:157:12: sparse:     expected struct ucontext [noderef] __user *uc
   arch/mips/kernel/signal.c:157:12: sparse:     got struct ucontext *
   arch/mips/kernel/signal.c:157:14: sparse: sparse: cast removes address space '__user' of expression
>> arch/mips/kernel/signal.c:157:12: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct ucontext [noderef] __user *uc @@     got struct ucontext * @@
>> arch/mips/kernel/signal.c:157:12: sparse:     expected struct ucontext [noderef] __user *uc
   arch/mips/kernel/signal.c:157:12: sparse:     got struct ucontext *
--
>> arch/mips/kernel/syscall.c:173:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __user * @@     got unsigned int * @@
>> arch/mips/kernel/syscall.c:173:31: sparse:     expected void const volatile [noderef] __user *
   arch/mips/kernel/syscall.c:173:31: sparse:     got unsigned int *
   arch/mips/kernel/syscall.c:174:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __user * @@     got unsigned int * @@
   arch/mips/kernel/syscall.c:174:32: sparse:     expected void const volatile [noderef] __user *
   arch/mips/kernel/syscall.c:174:32: sparse:     got unsigned int *
--
   arch/mips/kernel/traps.c:515:14: sparse: sparse: symbol 'll_bit' was not declared. Should it be static?
   arch/mips/kernel/traps.c:516:20: sparse: sparse: symbol 'll_task' was not declared. Should it be static?
   arch/mips/kernel/traps.c:740:17: sparse: sparse: symbol 'do_ov' was not declared. Should it be static?
   arch/mips/kernel/traps.c:1017:17: sparse: sparse: symbol 'do_bp' was not declared. Should it be static?
   arch/mips/kernel/traps.c:1109:17: sparse: sparse: symbol 'do_tr' was not declared. Should it be static?
>> arch/mips/kernel/traps.c:1178:47: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void [noderef] __user *fault_addr @@     got unsigned long * @@
>> arch/mips/kernel/traps.c:1178:47: sparse:     expected void [noderef] __user *fault_addr
   arch/mips/kernel/traps.c:1178:47: sparse:     got unsigned long *
   arch/mips/kernel/traps.c:1151:17: sparse: sparse: symbol 'do_ri' was not declared. Should it be static?
   arch/mips/kernel/traps.c:1390:17: sparse: sparse: symbol 'do_cpu' was not declared. Should it be static?
   arch/mips/kernel/traps.c:1495:17: sparse: sparse: symbol 'do_msa_fpe' was not declared. Should it be static?
   arch/mips/kernel/traps.c:1515:17: sparse: sparse: symbol 'do_msa' was not declared. Should it be static?
   arch/mips/kernel/traps.c:1536:17: sparse: sparse: symbol 'do_mdmx' was not declared. Should it be static?
   arch/mips/kernel/traps.c:1548:17: sparse: sparse: symbol 'do_watch' was not declared. Should it be static?
   arch/mips/kernel/traps.c:1575:17: sparse: sparse: symbol 'do_mcheck' was not declared. Should it be static?
   arch/mips/kernel/traps.c:1606:17: sparse: sparse: symbol 'do_mt' was not declared. Should it be static?
   arch/mips/kernel/traps.c:1642:17: sparse: sparse: symbol 'do_dsp' was not declared. Should it be static?
   arch/mips/kernel/traps.c:1650:17: sparse: sparse: symbol 'do_reserved' was not declared. Should it be static?
   arch/mips/kernel/traps.c:1874:17: sparse: sparse: symbol 'do_ftlb' was not declared. Should it be static?
   arch/mips/kernel/traps.c:1971:15: sparse: sparse: symbol 'vi_handlers' was not declared. Should it be static?
>> arch/mips/include/asm/mips-cm.h:151:1: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void * @@
>> arch/mips/include/asm/mips-cm.h:151:1: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/include/asm/mips-cm.h:151:1: sparse:     got void *
>> arch/mips/include/asm/mips-cm.h:151:1: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void * @@
>> arch/mips/include/asm/mips-cm.h:151:1: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/include/asm/mips-cm.h:151:1: sparse:     got void *
>> arch/mips/include/asm/mips-cm.h:151:1: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void * @@
>> arch/mips/include/asm/mips-cm.h:151:1: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/include/asm/mips-cm.h:151:1: sparse:     got void *
>> arch/mips/include/asm/mips-cm.h:151:1: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void * @@
>> arch/mips/include/asm/mips-cm.h:151:1: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/include/asm/mips-cm.h:151:1: sparse:     got void *
>> arch/mips/include/asm/mips-cm.h:151:1: sparse: sparse: incorrect type in return expression (different address spaces) @@     expected void * @@     got void [noderef] __iomem * @@
   arch/mips/include/asm/mips-cm.h:151:1: sparse:     expected void *
>> arch/mips/include/asm/mips-cm.h:151:1: sparse:     got void [noderef] __iomem *
>> arch/mips/include/asm/mips-cm.h:151:1: sparse: sparse: incorrect type in return expression (different address spaces) @@     expected void * @@     got void [noderef] __iomem * @@
   arch/mips/include/asm/mips-cm.h:151:1: sparse:     expected void *
>> arch/mips/include/asm/mips-cm.h:151:1: sparse:     got void [noderef] __iomem *
>> arch/mips/include/asm/mips-cm.h:151:1: sparse: sparse: incorrect type in return expression (different address spaces) @@     expected void * @@     got void [noderef] __iomem * @@
   arch/mips/include/asm/mips-cm.h:151:1: sparse:     expected void *
>> arch/mips/include/asm/mips-cm.h:151:1: sparse:     got void [noderef] __iomem *
>> arch/mips/include/asm/mips-cm.h:151:1: sparse: sparse: incorrect type in return expression (different address spaces) @@     expected void * @@     got void [noderef] __iomem * @@
   arch/mips/include/asm/mips-cm.h:151:1: sparse:     expected void *
>> arch/mips/include/asm/mips-cm.h:151:1: sparse:     got void [noderef] __iomem *
   arch/mips/include/asm/mips-cm.h:165:1: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void * @@
   arch/mips/include/asm/mips-cm.h:165:1: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/include/asm/mips-cm.h:165:1: sparse:     got void *
   arch/mips/include/asm/mips-cm.h:165:1: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void * @@
   arch/mips/include/asm/mips-cm.h:165:1: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/include/asm/mips-cm.h:165:1: sparse:     got void *
   arch/mips/include/asm/mips-cm.h:165:1: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void * @@
   arch/mips/include/asm/mips-cm.h:165:1: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/include/asm/mips-cm.h:165:1: sparse:     got void *
   arch/mips/include/asm/mips-cm.h:165:1: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void * @@
   arch/mips/include/asm/mips-cm.h:165:1: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/include/asm/mips-cm.h:165:1: sparse:     got void *
   arch/mips/include/asm/mips-cm.h:165:1: sparse: sparse: incorrect type in return expression (different address spaces) @@     expected void * @@     got void [noderef] __iomem * @@
   arch/mips/include/asm/mips-cm.h:165:1: sparse:     expected void *
   arch/mips/include/asm/mips-cm.h:165:1: sparse:     got void [noderef] __iomem *
   arch/mips/include/asm/mips-cm.h:165:1: sparse: sparse: incorrect type in return expression (different address spaces) @@     expected void * @@     got void [noderef] __iomem * @@
   arch/mips/include/asm/mips-cm.h:165:1: sparse:     expected void *
   arch/mips/include/asm/mips-cm.h:165:1: sparse:     got void [noderef] __iomem *
   arch/mips/include/asm/mips-cm.h:165:1: sparse: sparse: incorrect type in return expression (different address spaces) @@     expected void * @@     got void [noderef] __iomem * @@
   arch/mips/include/asm/mips-cm.h:165:1: sparse:     expected void *
   arch/mips/include/asm/mips-cm.h:165:1: sparse:     got void [noderef] __iomem *
   arch/mips/include/asm/mips-cm.h:165:1: sparse: sparse: incorrect type in return expression (different address spaces) @@     expected void * @@     got void [noderef] __iomem * @@
   arch/mips/include/asm/mips-cm.h:165:1: sparse:     expected void *
   arch/mips/include/asm/mips-cm.h:165:1: sparse:     got void [noderef] __iomem *
>> arch/mips/include/asm/mips-cm.h:165:1: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got void * @@
>> arch/mips/include/asm/mips-cm.h:165:1: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/include/asm/mips-cm.h:165:1: sparse:     got void *
>> arch/mips/include/asm/mips-cm.h:165:1: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got void * @@
>> arch/mips/include/asm/mips-cm.h:165:1: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/include/asm/mips-cm.h:165:1: sparse:     got void *
>> arch/mips/include/asm/mips-cm.h:165:1: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got void * @@
>> arch/mips/include/asm/mips-cm.h:165:1: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/include/asm/mips-cm.h:165:1: sparse:     got void *
>> arch/mips/include/asm/mips-cm.h:165:1: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got void * @@
>> arch/mips/include/asm/mips-cm.h:165:1: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/include/asm/mips-cm.h:165:1: sparse:     got void *
   arch/mips/include/asm/mips-cm.h:165:1: sparse: sparse: incorrect type in return expression (different address spaces) @@     expected void * @@     got void [noderef] __iomem * @@
   arch/mips/include/asm/mips-cm.h:165:1: sparse:     expected void *
   arch/mips/include/asm/mips-cm.h:165:1: sparse:     got void [noderef] __iomem *
   arch/mips/include/asm/mips-cm.h:165:1: sparse: sparse: incorrect type in return expression (different address spaces) @@     expected void * @@     got void [noderef] __iomem * @@
   arch/mips/include/asm/mips-cm.h:165:1: sparse:     expected void *
   arch/mips/include/asm/mips-cm.h:165:1: sparse:     got void [noderef] __iomem *
   arch/mips/include/asm/mips-cm.h:165:1: sparse: sparse: incorrect type in return expression (different address spaces) @@     expected void * @@     got void [noderef] __iomem * @@
   arch/mips/include/asm/mips-cm.h:165:1: sparse:     expected void *
   arch/mips/include/asm/mips-cm.h:165:1: sparse:     got void [noderef] __iomem *
   arch/mips/include/asm/mips-cm.h:165:1: sparse: sparse: incorrect type in return expression (different address spaces) @@     expected void * @@     got void [noderef] __iomem * @@
   arch/mips/include/asm/mips-cm.h:165:1: sparse:     expected void *
   arch/mips/include/asm/mips-cm.h:165:1: sparse:     got void [noderef] __iomem *
   arch/mips/include/asm/mips-cm.h:165:1: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void * @@
   arch/mips/include/asm/mips-cm.h:165:1: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/include/asm/mips-cm.h:165:1: sparse:     got void *
   arch/mips/include/asm/mips-cm.h:165:1: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void * @@
   arch/mips/include/asm/mips-cm.h:165:1: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/include/asm/mips-cm.h:165:1: sparse:     got void *
   arch/mips/include/asm/mips-cm.h:165:1: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void * @@
   arch/mips/include/asm/mips-cm.h:165:1: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/include/asm/mips-cm.h:165:1: sparse:     got void *
   arch/mips/include/asm/mips-cm.h:165:1: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void * @@
   arch/mips/include/asm/mips-cm.h:165:1: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/include/asm/mips-cm.h:165:1: sparse:     got void *
   arch/mips/include/asm/mips-cm.h:165:1: sparse: sparse: incorrect type in return expression (different address spaces) @@     expected void * @@     got void [noderef] __iomem * @@
   arch/mips/include/asm/mips-cm.h:165:1: sparse:     expected void *
   arch/mips/include/asm/mips-cm.h:165:1: sparse:     got void [noderef] __iomem *
   arch/mips/include/asm/mips-cm.h:165:1: sparse: sparse: incorrect type in return expression (different address spaces) @@     expected void * @@     got void [noderef] __iomem * @@
   arch/mips/include/asm/mips-cm.h:165:1: sparse:     expected void *
   arch/mips/include/asm/mips-cm.h:165:1: sparse:     got void [noderef] __iomem *
   arch/mips/include/asm/mips-cm.h:165:1: sparse: sparse: incorrect type in return expression (different address spaces) @@     expected void * @@     got void [noderef] __iomem * @@
   arch/mips/include/asm/mips-cm.h:165:1: sparse:     expected void *
   arch/mips/include/asm/mips-cm.h:165:1: sparse:     got void [noderef] __iomem *
   arch/mips/include/asm/mips-cm.h:165:1: sparse: sparse: incorrect type in return expression (different address spaces) @@     expected void * @@     got void [noderef] __iomem * @@
   arch/mips/include/asm/mips-cm.h:165:1: sparse:     expected void *
   arch/mips/include/asm/mips-cm.h:165:1: sparse:     got void [noderef] __iomem *
--
>> arch/mips/kernel/vdso.c:161:54: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile *address @@     got void [noderef] __iomem * @@
   arch/mips/kernel/vdso.c:161:54: sparse:     expected void const volatile *address
>> arch/mips/kernel/vdso.c:161:54: sparse:     got void [noderef] __iomem *
--
   arch/mips/kernel/ptrace32.c:70:21: sparse: sparse: Using plain integer as NULL pointer
>> arch/mips/kernel/ptrace32.c:73:51: sparse: sparse: cast removes address space '__user' of expression
   arch/mips/kernel/ptrace32.c:183:21: sparse: sparse: Using plain integer as NULL pointer
   arch/mips/kernel/ptrace32.c:186:46: sparse: sparse: cast removes address space '__user' of expression
--
>> arch/mips/kernel/signal32.c:67:24: sparse: sparse: cast removes address space '__user' of expression
--
>> arch/mips/kernel/crash_dump.c:48:34: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void [noderef] __user *to @@     got char *buf @@
>> arch/mips/kernel/crash_dump.c:48:34: sparse:     expected void [noderef] __user *to
   arch/mips/kernel/crash_dump.c:48:34: sparse:     got char *buf
--
>> arch/mips/vdso/vdso-image.c:13:35: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *[usertype] vdso @@     got void [noderef] __user * @@
   arch/mips/vdso/vdso-image.c:13:35: sparse:     expected void *[usertype] vdso
>> arch/mips/vdso/vdso-image.c:13:35: sparse:     got void [noderef] __user *
--
>> arch/mips/vdso/vdso-o32-image.c:13:35: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *[usertype] vdso @@     got void [noderef] __user * @@
   arch/mips/vdso/vdso-o32-image.c:13:35: sparse:     expected void *[usertype] vdso
>> arch/mips/vdso/vdso-o32-image.c:13:35: sparse:     got void [noderef] __user *
--
>> arch/mips/include/asm/uaccess.h:629:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:629:24: sparse:     expected void *register __cu_to_r
>> arch/mips/include/asm/uaccess.h:629:24: sparse:     got void [noderef] __user *to
   arch/mips/include/asm/uaccess.h:631:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:631:24: sparse:     expected void *register __cu_to_r
   arch/mips/include/asm/uaccess.h:631:24: sparse:     got void [noderef] __user *to
>> arch/mips/include/asm/uaccess.h:629:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:629:24: sparse:     expected void *register __cu_to_r
>> arch/mips/include/asm/uaccess.h:629:24: sparse:     got void [noderef] __user *to
   arch/mips/include/asm/uaccess.h:631:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:631:24: sparse:     expected void *register __cu_to_r
   arch/mips/include/asm/uaccess.h:631:24: sparse:     got void [noderef] __user *to
>> arch/mips/include/asm/uaccess.h:629:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:629:24: sparse:     expected void *register __cu_to_r
>> arch/mips/include/asm/uaccess.h:629:24: sparse:     got void [noderef] __user *to
   arch/mips/include/asm/uaccess.h:631:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:631:24: sparse:     expected void *register __cu_to_r
   arch/mips/include/asm/uaccess.h:631:24: sparse:     got void [noderef] __user *to
>> arch/mips/include/asm/uaccess.h:629:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:629:24: sparse:     expected void *register __cu_to_r
>> arch/mips/include/asm/uaccess.h:629:24: sparse:     got void [noderef] __user *to
   arch/mips/include/asm/uaccess.h:631:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:631:24: sparse:     expected void *register __cu_to_r
   arch/mips/include/asm/uaccess.h:631:24: sparse:     got void [noderef] __user *to
>> arch/mips/include/asm/uaccess.h:629:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:629:24: sparse:     expected void *register __cu_to_r
>> arch/mips/include/asm/uaccess.h:629:24: sparse:     got void [noderef] __user *to
   arch/mips/include/asm/uaccess.h:631:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:631:24: sparse:     expected void *register __cu_to_r
   arch/mips/include/asm/uaccess.h:631:24: sparse:     got void [noderef] __user *to
>> arch/mips/include/asm/uaccess.h:629:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:629:24: sparse:     expected void *register __cu_to_r
>> arch/mips/include/asm/uaccess.h:629:24: sparse:     got void [noderef] __user *to
   arch/mips/include/asm/uaccess.h:631:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:631:24: sparse:     expected void *register __cu_to_r
   arch/mips/include/asm/uaccess.h:631:24: sparse:     got void [noderef] __user *to
>> arch/mips/include/asm/uaccess.h:629:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:629:24: sparse:     expected void *register __cu_to_r
>> arch/mips/include/asm/uaccess.h:629:24: sparse:     got void [noderef] __user *to
   arch/mips/include/asm/uaccess.h:631:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:631:24: sparse:     expected void *register __cu_to_r
   arch/mips/include/asm/uaccess.h:631:24: sparse:     got void [noderef] __user *to
>> arch/mips/include/asm/uaccess.h:629:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:629:24: sparse:     expected void *register __cu_to_r
>> arch/mips/include/asm/uaccess.h:629:24: sparse:     got void [noderef] __user *to
   arch/mips/include/asm/uaccess.h:631:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:631:24: sparse:     expected void *register __cu_to_r
   arch/mips/include/asm/uaccess.h:631:24: sparse:     got void [noderef] __user *to
>> arch/mips/include/asm/uaccess.h:629:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:629:24: sparse:     expected void *register __cu_to_r
>> arch/mips/include/asm/uaccess.h:629:24: sparse:     got void [noderef] __user *to
   arch/mips/include/asm/uaccess.h:631:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:631:24: sparse:     expected void *register __cu_to_r
   arch/mips/include/asm/uaccess.h:631:24: sparse:     got void [noderef] __user *to
--
>> drivers/tty/tty_ioctl.c:385:53: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct ktermios [noderef] __user *k @@     got struct ktermios * @@
>> drivers/tty/tty_ioctl.c:385:53: sparse:     expected struct ktermios [noderef] __user *k
   drivers/tty/tty_ioctl.c:385:53: sparse:     got struct ktermios *
>> drivers/tty/tty_ioctl.c:386:50: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected struct termios2 *u @@     got struct termios2 [noderef] __user * @@
   drivers/tty/tty_ioctl.c:386:50: sparse:     expected struct termios2 *u
>> drivers/tty/tty_ioctl.c:386:50: sparse:     got struct termios2 [noderef] __user *
>> arch/mips/include/asm/termios.h:84:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *to @@     got struct ktermios [noderef] __user *k @@
   arch/mips/include/asm/termios.h:84:31: sparse:     expected void *to
>> arch/mips/include/asm/termios.h:84:31: sparse:     got struct ktermios [noderef] __user *k
>> arch/mips/include/asm/termios.h:84:34: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void const [noderef] __user *from @@     got struct termios2 *u @@
>> arch/mips/include/asm/termios.h:84:34: sparse:     expected void const [noderef] __user *from
   arch/mips/include/asm/termios.h:84:34: sparse:     got struct termios2 *u
--
>> net/ipv4/tcp_cong.c:228:22: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct tcp_congestion_ops const *prev @@     got struct tcp_congestion_ops const [noderef] __rcu *[assigned] __res @@
   net/ipv4/tcp_cong.c:228:22: sparse:     expected struct tcp_congestion_ops const *prev
>> net/ipv4/tcp_cong.c:228:22: sparse:     got struct tcp_congestion_ops const [noderef] __rcu *[assigned] __res
--
   drivers/media/v4l2-core/v4l2-compat-ioctl32.c:213:13: sparse: sparse: Using plain integer as NULL pointer
   drivers/media/v4l2-core/v4l2-compat-ioctl32.c:884:21: sparse: sparse: Using plain integer as NULL pointer
   drivers/media/v4l2-core/v4l2-compat-ioctl32.c:964:21: sparse: sparse: Using plain integer as NULL pointer
   drivers/media/v4l2-core/v4l2-compat-ioctl32.c:1036:13: sparse: sparse: Using plain integer as NULL pointer
   drivers/media/v4l2-core/v4l2-compat-ioctl32.c:1225:13: sparse: sparse: Using plain integer as NULL pointer
   drivers/media/v4l2-core/v4l2-compat-ioctl32.c:1370:13: sparse: sparse: Using plain integer as NULL pointer
>> arch/mips/include/asm/uaccess.h:629:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:629:24: sparse:     expected void *register __cu_to_r
>> arch/mips/include/asm/uaccess.h:629:24: sparse:     got void [noderef] __user *to
   arch/mips/include/asm/uaccess.h:631:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:631:24: sparse:     expected void *register __cu_to_r
   arch/mips/include/asm/uaccess.h:631:24: sparse:     got void [noderef] __user *to
>> arch/mips/include/asm/uaccess.h:629:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:629:24: sparse:     expected void *register __cu_to_r
>> arch/mips/include/asm/uaccess.h:629:24: sparse:     got void [noderef] __user *to
   arch/mips/include/asm/uaccess.h:631:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:631:24: sparse:     expected void *register __cu_to_r
   arch/mips/include/asm/uaccess.h:631:24: sparse:     got void [noderef] __user *to
>> arch/mips/include/asm/uaccess.h:629:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:629:24: sparse:     expected void *register __cu_to_r
>> arch/mips/include/asm/uaccess.h:629:24: sparse:     got void [noderef] __user *to
   arch/mips/include/asm/uaccess.h:631:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:631:24: sparse:     expected void *register __cu_to_r
   arch/mips/include/asm/uaccess.h:631:24: sparse:     got void [noderef] __user *to
>> arch/mips/include/asm/uaccess.h:629:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:629:24: sparse:     expected void *register __cu_to_r
>> arch/mips/include/asm/uaccess.h:629:24: sparse:     got void [noderef] __user *to
   arch/mips/include/asm/uaccess.h:631:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:631:24: sparse:     expected void *register __cu_to_r
   arch/mips/include/asm/uaccess.h:631:24: sparse:     got void [noderef] __user *to
>> arch/mips/include/asm/uaccess.h:629:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:629:24: sparse:     expected void *register __cu_to_r
>> arch/mips/include/asm/uaccess.h:629:24: sparse:     got void [noderef] __user *to
   arch/mips/include/asm/uaccess.h:631:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:631:24: sparse:     expected void *register __cu_to_r
   arch/mips/include/asm/uaccess.h:631:24: sparse:     got void [noderef] __user *to
>> arch/mips/include/asm/uaccess.h:629:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:629:24: sparse:     expected void *register __cu_to_r
>> arch/mips/include/asm/uaccess.h:629:24: sparse:     got void [noderef] __user *to
   arch/mips/include/asm/uaccess.h:631:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:631:24: sparse:     expected void *register __cu_to_r
   arch/mips/include/asm/uaccess.h:631:24: sparse:     got void [noderef] __user *to
>> arch/mips/include/asm/uaccess.h:629:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:629:24: sparse:     expected void *register __cu_to_r
>> arch/mips/include/asm/uaccess.h:629:24: sparse:     got void [noderef] __user *to
   arch/mips/include/asm/uaccess.h:631:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:631:24: sparse:     expected void *register __cu_to_r
   arch/mips/include/asm/uaccess.h:631:24: sparse:     got void [noderef] __user *to
>> arch/mips/include/asm/uaccess.h:629:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:629:24: sparse:     expected void *register __cu_to_r
>> arch/mips/include/asm/uaccess.h:629:24: sparse:     got void [noderef] __user *to
   arch/mips/include/asm/uaccess.h:631:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:631:24: sparse:     expected void *register __cu_to_r
   arch/mips/include/asm/uaccess.h:631:24: sparse:     got void [noderef] __user *to
>> arch/mips/include/asm/uaccess.h:629:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:629:24: sparse:     expected void *register __cu_to_r
>> arch/mips/include/asm/uaccess.h:629:24: sparse:     got void [noderef] __user *to
   arch/mips/include/asm/uaccess.h:631:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:631:24: sparse:     expected void *register __cu_to_r
   arch/mips/include/asm/uaccess.h:631:24: sparse:     got void [noderef] __user *to
>> arch/mips/include/asm/uaccess.h:629:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:629:24: sparse:     expected void *register __cu_to_r
>> arch/mips/include/asm/uaccess.h:629:24: sparse:     got void [noderef] __user *to
   arch/mips/include/asm/uaccess.h:631:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:631:24: sparse:     expected void *register __cu_to_r
   arch/mips/include/asm/uaccess.h:631:24: sparse:     got void [noderef] __user *to
>> arch/mips/include/asm/uaccess.h:629:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:629:24: sparse:     expected void *register __cu_to_r
>> arch/mips/include/asm/uaccess.h:629:24: sparse:     got void [noderef] __user *to
   arch/mips/include/asm/uaccess.h:631:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:631:24: sparse:     expected void *register __cu_to_r
   arch/mips/include/asm/uaccess.h:631:24: sparse:     got void [noderef] __user *to
>> arch/mips/include/asm/uaccess.h:629:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:629:24: sparse:     expected void *register __cu_to_r
>> arch/mips/include/asm/uaccess.h:629:24: sparse:     got void [noderef] __user *to
   arch/mips/include/asm/uaccess.h:631:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:631:24: sparse:     expected void *register __cu_to_r
   arch/mips/include/asm/uaccess.h:631:24: sparse:     got void [noderef] __user *to
>> arch/mips/include/asm/uaccess.h:629:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:629:24: sparse:     expected void *register __cu_to_r
>> arch/mips/include/asm/uaccess.h:629:24: sparse:     got void [noderef] __user *to
   arch/mips/include/asm/uaccess.h:631:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:631:24: sparse:     expected void *register __cu_to_r
   arch/mips/include/asm/uaccess.h:631:24: sparse:     got void [noderef] __user *to
>> arch/mips/include/asm/uaccess.h:629:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:629:24: sparse:     expected void *register __cu_to_r
>> arch/mips/include/asm/uaccess.h:629:24: sparse:     got void [noderef] __user *to
   arch/mips/include/asm/uaccess.h:631:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:631:24: sparse:     expected void *register __cu_to_r
   arch/mips/include/asm/uaccess.h:631:24: sparse:     got void [noderef] __user *to
>> arch/mips/include/asm/uaccess.h:629:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:629:24: sparse:     expected void *register __cu_to_r
>> arch/mips/include/asm/uaccess.h:629:24: sparse:     got void [noderef] __user *to
   arch/mips/include/asm/uaccess.h:631:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:631:24: sparse:     expected void *register __cu_to_r
   arch/mips/include/asm/uaccess.h:631:24: sparse:     got void [noderef] __user *to
>> arch/mips/include/asm/uaccess.h:629:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:629:24: sparse:     expected void *register __cu_to_r
>> arch/mips/include/asm/uaccess.h:629:24: sparse:     got void [noderef] __user *to
   arch/mips/include/asm/uaccess.h:631:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:631:24: sparse:     expected void *register __cu_to_r
   arch/mips/include/asm/uaccess.h:631:24: sparse:     got void [noderef] __user *to
>> arch/mips/include/asm/uaccess.h:629:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:629:24: sparse:     expected void *register __cu_to_r
>> arch/mips/include/asm/uaccess.h:629:24: sparse:     got void [noderef] __user *to
   arch/mips/include/asm/uaccess.h:631:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:631:24: sparse:     expected void *register __cu_to_r
   arch/mips/include/asm/uaccess.h:631:24: sparse:     got void [noderef] __user *to
>> arch/mips/include/asm/uaccess.h:629:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:629:24: sparse:     expected void *register __cu_to_r
>> arch/mips/include/asm/uaccess.h:629:24: sparse:     got void [noderef] __user *to
   arch/mips/include/asm/uaccess.h:631:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:631:24: sparse:     expected void *register __cu_to_r
   arch/mips/include/asm/uaccess.h:631:24: sparse:     got void [noderef] __user *to
>> arch/mips/include/asm/uaccess.h:629:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:629:24: sparse:     expected void *register __cu_to_r
>> arch/mips/include/asm/uaccess.h:629:24: sparse:     got void [noderef] __user *to
   arch/mips/include/asm/uaccess.h:631:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:631:24: sparse:     expected void *register __cu_to_r
   arch/mips/include/asm/uaccess.h:631:24: sparse:     got void [noderef] __user *to
>> arch/mips/include/asm/uaccess.h:629:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:629:24: sparse:     expected void *register __cu_to_r
>> arch/mips/include/asm/uaccess.h:629:24: sparse:     got void [noderef] __user *to
   arch/mips/include/asm/uaccess.h:631:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:631:24: sparse:     expected void *register __cu_to_r
   arch/mips/include/asm/uaccess.h:631:24: sparse:     got void [noderef] __user *to
>> arch/mips/include/asm/uaccess.h:629:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:629:24: sparse:     expected void *register __cu_to_r
>> arch/mips/include/asm/uaccess.h:629:24: sparse:     got void [noderef] __user *to
   arch/mips/include/asm/uaccess.h:631:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:631:24: sparse:     expected void *register __cu_to_r
   arch/mips/include/asm/uaccess.h:631:24: sparse:     got void [noderef] __user *to
>> arch/mips/include/asm/uaccess.h:629:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:629:24: sparse:     expected void *register __cu_to_r
>> arch/mips/include/asm/uaccess.h:629:24: sparse:     got void [noderef] __user *to
   arch/mips/include/asm/uaccess.h:631:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:631:24: sparse:     expected void *register __cu_to_r
   arch/mips/include/asm/uaccess.h:631:24: sparse:     got void [noderef] __user *to
>> arch/mips/include/asm/uaccess.h:629:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:629:24: sparse:     expected void *register __cu_to_r
>> arch/mips/include/asm/uaccess.h:629:24: sparse:     got void [noderef] __user *to
   arch/mips/include/asm/uaccess.h:631:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:631:24: sparse:     expected void *register __cu_to_r
   arch/mips/include/asm/uaccess.h:631:24: sparse:     got void [noderef] __user *to
>> arch/mips/include/asm/uaccess.h:629:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:629:24: sparse:     expected void *register __cu_to_r
>> arch/mips/include/asm/uaccess.h:629:24: sparse:     got void [noderef] __user *to
   arch/mips/include/asm/uaccess.h:631:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:631:24: sparse:     expected void *register __cu_to_r
   arch/mips/include/asm/uaccess.h:631:24: sparse:     got void [noderef] __user *to
>> arch/mips/include/asm/uaccess.h:629:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:629:24: sparse:     expected void *register __cu_to_r
>> arch/mips/include/asm/uaccess.h:629:24: sparse:     got void [noderef] __user *to
   arch/mips/include/asm/uaccess.h:631:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:631:24: sparse:     expected void *register __cu_to_r
   arch/mips/include/asm/uaccess.h:631:24: sparse:     got void [noderef] __user *to
>> arch/mips/include/asm/uaccess.h:629:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:629:24: sparse:     expected void *register __cu_to_r
>> arch/mips/include/asm/uaccess.h:629:24: sparse:     got void [noderef] __user *to
   arch/mips/include/asm/uaccess.h:631:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:631:24: sparse:     expected void *register __cu_to_r
   arch/mips/include/asm/uaccess.h:631:24: sparse:     got void [noderef] __user *to
>> arch/mips/include/asm/uaccess.h:629:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:629:24: sparse:     expected void *register __cu_to_r
>> arch/mips/include/asm/uaccess.h:629:24: sparse:     got void [noderef] __user *to
   arch/mips/include/asm/uaccess.h:631:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:631:24: sparse:     expected void *register __cu_to_r
   arch/mips/include/asm/uaccess.h:631:24: sparse:     got void [noderef] __user *to
>> arch/mips/include/asm/uaccess.h:629:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:629:24: sparse:     expected void *register __cu_to_r
>> arch/mips/include/asm/uaccess.h:629:24: sparse:     got void [noderef] __user *to
   arch/mips/include/asm/uaccess.h:631:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:631:24: sparse:     expected void *register __cu_to_r
   arch/mips/include/asm/uaccess.h:631:24: sparse:     got void [noderef] __user *to
>> arch/mips/include/asm/uaccess.h:629:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:629:24: sparse:     expected void *register __cu_to_r
>> arch/mips/include/asm/uaccess.h:629:24: sparse:     got void [noderef] __user *to
   arch/mips/include/asm/uaccess.h:631:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:631:24: sparse:     expected void *register __cu_to_r
   arch/mips/include/asm/uaccess.h:631:24: sparse:     got void [noderef] __user *to
>> arch/mips/include/asm/uaccess.h:629:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:629:24: sparse:     expected void *register __cu_to_r
>> arch/mips/include/asm/uaccess.h:629:24: sparse:     got void [noderef] __user *to
   arch/mips/include/asm/uaccess.h:631:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:631:24: sparse:     expected void *register __cu_to_r
   arch/mips/include/asm/uaccess.h:631:24: sparse:     got void [noderef] __user *to
>> arch/mips/include/asm/uaccess.h:629:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:629:24: sparse:     expected void *register __cu_to_r
>> arch/mips/include/asm/uaccess.h:629:24: sparse:     got void [noderef] __user *to
   arch/mips/include/asm/uaccess.h:631:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:631:24: sparse:     expected void *register __cu_to_r
   arch/mips/include/asm/uaccess.h:631:24: sparse:     got void [noderef] __user *to
>> arch/mips/include/asm/uaccess.h:629:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:629:24: sparse:     expected void *register __cu_to_r
>> arch/mips/include/asm/uaccess.h:629:24: sparse:     got void [noderef] __user *to
   arch/mips/include/asm/uaccess.h:631:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:631:24: sparse:     expected void *register __cu_to_r
   arch/mips/include/asm/uaccess.h:631:24: sparse:     got void [noderef] __user *to
>> arch/mips/include/asm/uaccess.h:629:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:629:24: sparse:     expected void *register __cu_to_r
>> arch/mips/include/asm/uaccess.h:629:24: sparse:     got void [noderef] __user *to
   arch/mips/include/asm/uaccess.h:631:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:631:24: sparse:     expected void *register __cu_to_r
   arch/mips/include/asm/uaccess.h:631:24: sparse:     got void [noderef] __user *to
>> arch/mips/include/asm/uaccess.h:629:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:629:24: sparse:     expected void *register __cu_to_r
>> arch/mips/include/asm/uaccess.h:629:24: sparse:     got void [noderef] __user *to
   arch/mips/include/asm/uaccess.h:631:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:631:24: sparse:     expected void *register __cu_to_r
   arch/mips/include/asm/uaccess.h:631:24: sparse:     got void [noderef] __user *to
>> arch/mips/include/asm/uaccess.h:629:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:629:24: sparse:     expected void *register __cu_to_r
>> arch/mips/include/asm/uaccess.h:629:24: sparse:     got void [noderef] __user *to
   arch/mips/include/asm/uaccess.h:631:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:631:24: sparse:     expected void *register __cu_to_r
   arch/mips/include/asm/uaccess.h:631:24: sparse:     got void [noderef] __user *to
>> arch/mips/include/asm/uaccess.h:629:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:629:24: sparse:     expected void *register __cu_to_r
>> arch/mips/include/asm/uaccess.h:629:24: sparse:     got void [noderef] __user *to
   arch/mips/include/asm/uaccess.h:631:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:631:24: sparse:     expected void *register __cu_to_r
   arch/mips/include/asm/uaccess.h:631:24: sparse:     got void [noderef] __user *to
>> arch/mips/include/asm/uaccess.h:629:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:629:24: sparse:     expected void *register __cu_to_r
>> arch/mips/include/asm/uaccess.h:629:24: sparse:     got void [noderef] __user *to
   arch/mips/include/asm/uaccess.h:631:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:631:24: sparse:     expected void *register __cu_to_r
   arch/mips/include/asm/uaccess.h:631:24: sparse:     got void [noderef] __user *to
>> arch/mips/include/asm/uaccess.h:629:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:629:24: sparse:     expected void *register __cu_to_r
>> arch/mips/include/asm/uaccess.h:629:24: sparse:     got void [noderef] __user *to
   arch/mips/include/asm/uaccess.h:631:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:631:24: sparse:     expected void *register __cu_to_r
   arch/mips/include/asm/uaccess.h:631:24: sparse:     got void [noderef] __user *to
>> arch/mips/include/asm/uaccess.h:629:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:629:24: sparse:     expected void *register __cu_to_r
>> arch/mips/include/asm/uaccess.h:629:24: sparse:     got void [noderef] __user *to
   arch/mips/include/asm/uaccess.h:631:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:631:24: sparse:     expected void *register __cu_to_r
   arch/mips/include/asm/uaccess.h:631:24: sparse:     got void [noderef] __user *to
>> arch/mips/include/asm/uaccess.h:629:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:629:24: sparse:     expected void *register __cu_to_r
>> arch/mips/include/asm/uaccess.h:629:24: sparse:     got void [noderef] __user *to
   arch/mips/include/asm/uaccess.h:631:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:631:24: sparse:     expected void *register __cu_to_r
   arch/mips/include/asm/uaccess.h:631:24: sparse:     got void [noderef] __user *to
>> arch/mips/include/asm/uaccess.h:629:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:629:24: sparse:     expected void *register __cu_to_r
>> arch/mips/include/asm/uaccess.h:629:24: sparse:     got void [noderef] __user *to
   arch/mips/include/asm/uaccess.h:631:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:631:24: sparse:     expected void *register __cu_to_r
   arch/mips/include/asm/uaccess.h:631:24: sparse:     got void [noderef] __user *to
>> arch/mips/include/asm/uaccess.h:629:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:629:24: sparse:     expected void *register __cu_to_r
>> arch/mips/include/asm/uaccess.h:629:24: sparse:     got void [noderef] __user *to
   arch/mips/include/asm/uaccess.h:631:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:631:24: sparse:     expected void *register __cu_to_r
   arch/mips/include/asm/uaccess.h:631:24: sparse:     got void [noderef] __user *to
>> arch/mips/include/asm/uaccess.h:629:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:629:24: sparse:     expected void *register __cu_to_r
>> arch/mips/include/asm/uaccess.h:629:24: sparse:     got void [noderef] __user *to
   arch/mips/include/asm/uaccess.h:631:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *register __cu_to_r @@     got void [noderef] __user *to @@
   arch/mips/include/asm/uaccess.h:631:24: sparse:     expected void *register __cu_to_r
   arch/mips/include/asm/uaccess.h:631:24: sparse:     got void [noderef] __user *to

vim +78 arch/mips/include/asm/syscall.h

c0ff3c53d4f99f Ralf Baechle      2012-08-17  73  
c0ff3c53d4f99f Ralf Baechle      2012-08-17  74  #ifdef CONFIG_64BIT
c0ff3c53d4f99f Ralf Baechle      2012-08-17  75  	case 4: case 5: case 6: case 7:
c0ff3c53d4f99f Ralf Baechle      2012-08-17  76  #ifdef CONFIG_MIPS32_O32
c50cbd85cd7027 Dmitry V. Levin   2018-11-21  77  		if (test_tsk_thread_flag(task, TIF_32BIT_REGS))
077ff3be06e8de Nathan Chancellor 2019-08-11 @78  			get_user(*arg, (int *)usp + n);
c0ff3c53d4f99f Ralf Baechle      2012-08-17  79  		else
c0ff3c53d4f99f Ralf Baechle      2012-08-17  80  #endif
c0ff3c53d4f99f Ralf Baechle      2012-08-17  81  			*arg = regs->regs[4 + n];
c0ff3c53d4f99f Ralf Baechle      2012-08-17  82  
077ff3be06e8de Nathan Chancellor 2019-08-11  83  		return;
c0ff3c53d4f99f Ralf Baechle      2012-08-17  84  #endif
c0ff3c53d4f99f Ralf Baechle      2012-08-17  85  
c0ff3c53d4f99f Ralf Baechle      2012-08-17  86  	default:
c0ff3c53d4f99f Ralf Baechle      2012-08-17  87  		BUG();
c0ff3c53d4f99f Ralf Baechle      2012-08-17  88  	}
f5179287b016cc Ralf Baechle      2014-02-10  89  
f5179287b016cc Ralf Baechle      2014-02-10  90  	unreachable();
c0ff3c53d4f99f Ralf Baechle      2012-08-17  91  }
c0ff3c53d4f99f Ralf Baechle      2012-08-17  92  

---
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: 28981 bytes --]

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

* Re: [PATCH] sparse: use identifiers to define address spaces
  2020-06-17 22:02 [PATCH] sparse: use identifiers to define address spaces Luc Van Oostenryck
                   ` (2 preceding siblings ...)
  2020-06-18 16:14 ` kernel test robot
@ 2020-06-18 16:49 ` kernel test robot
  3 siblings, 0 replies; 11+ messages in thread
From: kernel test robot @ 2020-06-18 16:49 UTC (permalink / raw)
  To: Luc Van Oostenryck, Linus Torvalds
  Cc: kbuild-all, LKML, Miguel Ojeda, Luc Van Oostenryck

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

Hi Luc,

I love your patch! Perhaps something to improve:

[auto build test WARNING on linux/master]
[also build test WARNING on linus/master v5.8-rc1 next-20200618]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use  as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Luc-Van-Oostenryck/sparse-use-identifiers-to-define-address-spaces/20200618-060614
base:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git a5dc8300df75e8b8384b4c82225f1e4a0b4d9b55
config: x86_64-randconfig-s031-20200618 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0
reproduce:
        # apt-get install sparse
        # sparse version: v0.6.2-rc1-10-gc17b1b06-dirty
        # save the attached .config to linux build tree
        make W=1 C=1 ARCH=x86_64 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'

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 >>)

>> fs/f2fs/trace.c:142:9: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void **slot @@     got void [noderef] __rcu ** @@
   fs/f2fs/trace.c:142:9: sparse:     expected void **slot
>> fs/f2fs/trace.c:142:9: sparse:     got void [noderef] __rcu **
>> fs/f2fs/trace.c:142:9: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void **slot @@     got void [noderef] __rcu ** @@
   fs/f2fs/trace.c:142:9: sparse:     expected void **slot
>> fs/f2fs/trace.c:142:9: sparse:     got void [noderef] __rcu **
>> fs/f2fs/trace.c:142:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void [noderef] __rcu **slot @@     got void **slot @@
>> fs/f2fs/trace.c:142:9: sparse:     expected void [noderef] __rcu **slot
   fs/f2fs/trace.c:142:9: sparse:     got void **slot
>> fs/f2fs/trace.c:142:9: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void **slot @@     got void [noderef] __rcu ** @@
   fs/f2fs/trace.c:142:9: sparse:     expected void **slot
>> fs/f2fs/trace.c:142:9: sparse:     got void [noderef] __rcu **
--
   kernel/sched/core.c:512:38: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected struct task_struct *curr @@     got struct task_struct [noderef] __rcu *curr @@
   kernel/sched/core.c:512:38: sparse:     expected struct task_struct *curr
   kernel/sched/core.c:512:38: sparse:     got struct task_struct [noderef] __rcu *curr
   kernel/sched/core.c:567:9: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct sched_domain *[assigned] sd @@     got struct sched_domain [noderef] __rcu *parent @@
   kernel/sched/core.c:567:9: sparse:     expected struct sched_domain *[assigned] sd
   kernel/sched/core.c:567:9: sparse:     got struct sched_domain [noderef] __rcu *parent
   kernel/sched/core.c:1432:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct task_struct *p @@     got struct task_struct [noderef] __rcu *curr @@
   kernel/sched/core.c:1432:33: sparse:     expected struct task_struct *p
   kernel/sched/core.c:1432:33: sparse:     got struct task_struct [noderef] __rcu *curr
   kernel/sched/core.c:1432:68: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct task_struct *tsk @@     got struct task_struct [noderef] __rcu *curr @@
   kernel/sched/core.c:1432:68: sparse:     expected struct task_struct *tsk
   kernel/sched/core.c:1432:68: sparse:     got struct task_struct [noderef] __rcu *curr
   kernel/sched/core.c:2176:17: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct sched_domain *[assigned] sd @@     got struct sched_domain [noderef] __rcu *parent @@
   kernel/sched/core.c:2176:17: sparse:     expected struct sched_domain *[assigned] sd
   kernel/sched/core.c:2176:17: sparse:     got struct sched_domain [noderef] __rcu *parent
   kernel/sched/core.c:2342:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct task_struct const *p @@     got struct task_struct [noderef] __rcu *curr @@
   kernel/sched/core.c:2342:36: sparse:     expected struct task_struct const *p
   kernel/sched/core.c:2342:36: sparse:     got struct task_struct [noderef] __rcu *curr
   kernel/sched/core.c:3650:38: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected struct task_struct *curr @@     got struct task_struct [noderef] __rcu *curr @@
   kernel/sched/core.c:3650:38: sparse:     expected struct task_struct *curr
   kernel/sched/core.c:3650:38: sparse:     got struct task_struct [noderef] __rcu *curr
>> kernel/sched/core.c:3735:14: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct task_struct *curr @@     got struct task_struct [noderef] __rcu *curr @@
   kernel/sched/core.c:3735:14: sparse:     expected struct task_struct *curr
   kernel/sched/core.c:3735:14: sparse:     got struct task_struct [noderef] __rcu *curr
   kernel/sched/core.c:4083:14: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct task_struct *prev @@     got struct task_struct [noderef] __rcu *curr @@
   kernel/sched/core.c:4083:14: sparse:     expected struct task_struct *prev
   kernel/sched/core.c:4083:14: sparse:     got struct task_struct [noderef] __rcu *curr
   kernel/sched/core.c:4506:17: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/core.c:4506:17: sparse:    struct task_struct *
   kernel/sched/core.c:4506:17: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/core.c:4705:22: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/core.c:4705:22: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/core.c:4705:22: sparse:    struct task_struct *
   kernel/sched/core.c:8011:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct task_struct *p @@     got struct task_struct [noderef] __rcu *curr @@
   kernel/sched/core.c:8011:25: sparse:     expected struct task_struct *p
   kernel/sched/core.c:8011:25: sparse:     got struct task_struct [noderef] __rcu *curr
   kernel/sched/pelt.h:80:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct task_struct const *p @@     got struct task_struct [noderef] __rcu *curr @@
   kernel/sched/pelt.h:80:13: sparse:     expected struct task_struct const *p
   kernel/sched/pelt.h:80:13: sparse:     got struct task_struct [noderef] __rcu *curr
   kernel/sched/core.c:1415:33: sparse: sparse: dereference of noderef expression
   kernel/sched/core.c:1416:19: sparse: sparse: dereference of noderef expression
   kernel/sched/core.c:1419:40: sparse: sparse: dereference of noderef expression
   kernel/sched/sched.h:1657:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:1657:25: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:1657:25: sparse:    struct task_struct *
   kernel/sched/sched.h:1803:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:1803:9: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:1803:9: sparse:    struct task_struct *
   kernel/sched/sched.h:1809:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:1809:9: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:1809:9: sparse:    struct task_struct *
   kernel/sched/core.c:1388:38: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/core.c:1388:38: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/core.c:1388:38: sparse:    struct task_struct const *
   kernel/sched/sched.h:1657:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:1657:25: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:1657:25: sparse:    struct task_struct *
   kernel/sched/sched.h:1803:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:1803:9: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:1803:9: sparse:    struct task_struct *
   kernel/sched/sched.h:1803:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:1803:9: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:1803:9: sparse:    struct task_struct *
   kernel/sched/sched.h:1657:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:1657:25: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:1657:25: sparse:    struct task_struct *
   kernel/sched/sched.h:1803:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:1803:9: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:1803:9: sparse:    struct task_struct *
   kernel/sched/sched.h:1809:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:1809:9: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:1809:9: sparse:    struct task_struct *
   kernel/sched/sched.h:1657:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:1657:25: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:1657:25: sparse:    struct task_struct *
   kernel/sched/sched.h:1803:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:1803:9: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:1803:9: sparse:    struct task_struct *
   kernel/sched/sched.h:1809:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:1809:9: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:1809:9: sparse:    struct task_struct *
   kernel/sched/sched.h:1657:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:1657:25: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:1657:25: sparse:    struct task_struct *
   kernel/sched/sched.h:1803:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:1803:9: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:1803:9: sparse:    struct task_struct *
   kernel/sched/sched.h:1809:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:1809:9: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:1809:9: sparse:    struct task_struct *
--
>> drivers/mtd/maps/nettel.c:179:25: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/mtd/maps/nettel.c:223:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void *static [assigned] [toplevel] nettel_mmcrp @@
>> drivers/mtd/maps/nettel.c:223:25: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/mtd/maps/nettel.c:223:25: sparse:     got void *static [assigned] [toplevel] nettel_mmcrp
   drivers/mtd/maps/nettel.c:416:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void *static [assigned] [toplevel] nettel_mmcrp @@
   drivers/mtd/maps/nettel.c:416:17: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/mtd/maps/nettel.c:416:17: sparse:     got void *static [assigned] [toplevel] nettel_mmcrp
   drivers/mtd/maps/nettel.c:434:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void *static [assigned] [toplevel] nettel_mmcrp @@
   drivers/mtd/maps/nettel.c:434:25: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/mtd/maps/nettel.c:434:25: sparse:     got void *static [assigned] [toplevel] nettel_mmcrp
--
>> net/netfilter/nf_tables_api.c:1405:25: sparse: sparse: cast between address spaces (__percpu -> __rcu)
   net/netfilter/nf_tables_api.c:1405:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
>> net/netfilter/nf_tables_api.c:1405:25: sparse:    struct nft_stats [noderef] __rcu *
>> net/netfilter/nf_tables_api.c:1405:25: sparse:    struct nft_stats [noderef] __percpu *
>> net/netfilter/nf_tables_api.c:1567:31: sparse: sparse: incorrect type in return expression (different address spaces) @@     expected struct nft_stats [noderef] __percpu * @@     got void * @@
   net/netfilter/nf_tables_api.c:1570:31: sparse: sparse: incorrect type in return expression (different address spaces) @@     expected struct nft_stats [noderef] __percpu * @@     got void * @@
   net/netfilter/nf_tables_api.c:1574:31: sparse: sparse: incorrect type in return expression (different address spaces) @@     expected struct nft_stats [noderef] __percpu * @@     got void * @@
   net/netfilter/nf_tables_api.c:1596:17: sparse: sparse: cast between address spaces (__percpu -> __rcu)
   net/netfilter/nf_tables_api.c:1596:17: sparse: sparse: incompatible types in comparison expression (different address spaces):
   net/netfilter/nf_tables_api.c:1596:17: sparse:    struct nft_stats [noderef] __rcu *
   net/netfilter/nf_tables_api.c:1596:17: sparse:    struct nft_stats [noderef] __percpu *
   net/netfilter/nf_tables_api.c:1596:17: sparse: sparse: incompatible types in comparison expression (different address spaces):
   net/netfilter/nf_tables_api.c:1596:17: sparse:    struct nft_stats [noderef] __rcu *
   net/netfilter/nf_tables_api.c:1596:17: sparse:    struct nft_stats [noderef] __percpu *
   net/netfilter/nf_tables_api.c:1639:21: sparse: sparse: cast between address spaces (__percpu -> __rcu)
   net/netfilter/nf_tables_api.c:1639:21: sparse: sparse: incompatible types in comparison expression (different address spaces):
   net/netfilter/nf_tables_api.c:1639:21: sparse:    struct nft_stats [noderef] __rcu *
   net/netfilter/nf_tables_api.c:1639:21: sparse:    struct nft_stats [noderef] __percpu *
   net/netfilter/nf_tables_api.c:1947:25: sparse: sparse: cast between address spaces (__percpu -> __rcu)
   net/netfilter/nf_tables_api.c:1947:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
   net/netfilter/nf_tables_api.c:1947:25: sparse:    struct nft_stats [noderef] __rcu *
   net/netfilter/nf_tables_api.c:1947:25: sparse:    struct nft_stats [noderef] __percpu *
>> net/netfilter/nf_tables_api.c:2097:23: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct nft_stats *stats @@     got struct nft_stats [noderef] __percpu * @@
>> net/netfilter/nf_tables_api.c:2108:38: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct nft_stats [noderef] __percpu *stats @@     got struct nft_stats *stats @@
>> net/netfilter/nf_tables_api.c:2144:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void [noderef] __percpu *__pdata @@     got struct nft_stats *stats @@
   include/linux/rcupdate.h:686:9: sparse: sparse: context imbalance in 'nft_netlink_dump_start_rcu' - unexpected unlock
--
>> fs/coda/upcall.c:618:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct spinlock [usertype] *lock @@     got struct spinlock [noderef] __rcu * @@
   fs/coda/upcall.c:618:31: sparse:     expected struct spinlock [usertype] *lock
>> fs/coda/upcall.c:618:31: sparse:     got struct spinlock [noderef] __rcu *
   fs/coda/upcall.c:627:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct spinlock [usertype] *lock @@     got struct spinlock [noderef] __rcu * @@
   fs/coda/upcall.c:627:33: sparse:     expected struct spinlock [usertype] *lock
   fs/coda/upcall.c:627:33: sparse:     got struct spinlock [noderef] __rcu *
   fs/coda/upcall.c:632:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct spinlock [usertype] *lock @@     got struct spinlock [noderef] __rcu * @@
   fs/coda/upcall.c:632:31: sparse:     expected struct spinlock [usertype] *lock
   fs/coda/upcall.c:632:31: sparse:     got struct spinlock [noderef] __rcu *
   fs/coda/upcall.c:635:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct spinlock [usertype] *lock @@     got struct spinlock [noderef] __rcu * @@
   fs/coda/upcall.c:635:33: sparse:     expected struct spinlock [usertype] *lock
   fs/coda/upcall.c:635:33: sparse:     got struct spinlock [noderef] __rcu *

vim +142 fs/f2fs/trace.c

351f4fba843db3 Jaegeuk Kim 2015-01-07  130  
351f4fba843db3 Jaegeuk Kim 2015-01-07  131  #define PIDVEC_SIZE	128
351f4fba843db3 Jaegeuk Kim 2015-01-07  132  static unsigned int gang_lookup_pids(pid_t *results, unsigned long first_index,
351f4fba843db3 Jaegeuk Kim 2015-01-07  133  							unsigned int max_items)
351f4fba843db3 Jaegeuk Kim 2015-01-07  134  {
351f4fba843db3 Jaegeuk Kim 2015-01-07  135  	struct radix_tree_iter iter;
351f4fba843db3 Jaegeuk Kim 2015-01-07  136  	void **slot;
351f4fba843db3 Jaegeuk Kim 2015-01-07  137  	unsigned int ret = 0;
351f4fba843db3 Jaegeuk Kim 2015-01-07  138  
351f4fba843db3 Jaegeuk Kim 2015-01-07  139  	if (unlikely(!max_items))
351f4fba843db3 Jaegeuk Kim 2015-01-07  140  		return 0;
351f4fba843db3 Jaegeuk Kim 2015-01-07  141  
351f4fba843db3 Jaegeuk Kim 2015-01-07 @142  	radix_tree_for_each_slot(slot, &pids, &iter, first_index) {
351f4fba843db3 Jaegeuk Kim 2015-01-07  143  		results[ret] = iter.index;
b0beab5016d040 Sheng Yong  2017-03-08  144  		if (++ret == max_items)
351f4fba843db3 Jaegeuk Kim 2015-01-07  145  			break;
351f4fba843db3 Jaegeuk Kim 2015-01-07  146  	}
351f4fba843db3 Jaegeuk Kim 2015-01-07  147  	return ret;
351f4fba843db3 Jaegeuk Kim 2015-01-07  148  }
351f4fba843db3 Jaegeuk Kim 2015-01-07  149  

---
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: 32277 bytes --]

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

* Re: [PATCH] sparse: use identifiers to define address spaces
  2020-06-18 10:06 ` kernel test robot
@ 2020-06-18 16:59   ` Linus Torvalds
  2020-06-18 18:55     ` Luc Van Oostenryck
  0 siblings, 1 reply; 11+ messages in thread
From: Linus Torvalds @ 2020-06-18 16:59 UTC (permalink / raw)
  To: kernel test robot; +Cc: Luc Van Oostenryck, kbuild-all, LKML, Miguel Ojeda

On Thu, Jun 18, 2020 at 3:06 AM kernel test robot <lkp@intel.com> wrote:
>
> I love your patch! Perhaps something to improve:

The new warnings don't seem to be due to the kernel test robot having
an old version of sparse, but just because the error strings changed,
and presumably the kernel test robot has some "ignore old sparse
warnings" logic.

So the warnings all look new, even if they aren't.

I'm planning on applying that patch soon, so this is just a heads-up
that that will (again) cause the big number of warning string changes,
but hopefully that will be a one-time event and the test robot will
learn.

             Linus

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

* Re: [PATCH] sparse: use identifiers to define address spaces
  2020-06-18 16:59   ` Linus Torvalds
@ 2020-06-18 18:55     ` Luc Van Oostenryck
  0 siblings, 0 replies; 11+ messages in thread
From: Luc Van Oostenryck @ 2020-06-18 18:55 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: kernel test robot, kbuild-all, LKML, Miguel Ojeda

On Thu, Jun 18, 2020 at 09:59:05AM -0700, Linus Torvalds wrote:
> 
> The new warnings don't seem to be due to the kernel test robot having
> an old version of sparse, but just because the error strings changed,
> and presumably the kernel test robot has some "ignore old sparse
> warnings" logic.
> 
> So the warnings all look new, even if they aren't.

What is strange is that only some of these warnings are shown as
new, but not all.  For example it shows
  >> drivers/spi/spi-fsl-spi.c:93:44: sparse:     got void [noderef] __iomem *reg_base

as new, but not the following one:
  drivers/spi/spi-fsl-spi.c:294:44: sparse:     got void [noderef] __iomem *reg_base

while both have their string changed (__iomem).

Just to be sure, I checked this file and (of course) all these
warnings are old ones, caused by a missing __iomem in the assignments:
	struct fsl_spi_reg *reg_base = mspi->reg_base;

Why some are shown as new and some as old is a mystery to me.

-- Luc

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

* Re: [PATCH] sparse: use identifiers to define address spaces
  2020-06-18  5:02   ` Luc Van Oostenryck
@ 2020-06-19  8:07     ` Geert Uytterhoeven
  2020-06-19 10:04       ` Miguel Ojeda
  2020-06-19 14:20       ` Luc Van Oostenryck
  0 siblings, 2 replies; 11+ messages in thread
From: Geert Uytterhoeven @ 2020-06-19  8:07 UTC (permalink / raw)
  To: Luc Van Oostenryck; +Cc: Miguel Ojeda, Linus Torvalds, linux-kernel

Hi Luc,

On Thu, Jun 18, 2020 at 7:05 AM Luc Van Oostenryck
<luc.vanoostenryck@gmail.com> wrote:
> On Thu, Jun 18, 2020 at 03:22:15AM +0200, Miguel Ojeda wrote:
> > On Thu, Jun 18, 2020 at 12:02 AM Luc Van Oostenryck
> > <luc.vanoostenryck@gmail.com> wrote:
> > >
> > > diff --git a/include/linux/compiler_types.h b/include/linux/compiler_types.h
> > > index 21aed0981edf..e368384445b6 100644
> > > --- a/include/linux/compiler_types.h
> > > +++ b/include/linux/compiler_types.h
> > > @@ -5,20 +5,20 @@
> > >  #ifndef __ASSEMBLY__
> > >
> > >  #ifdef __CHECKER__
> > > -# define __user                __attribute__((noderef, address_space(1)))
> > >  # define __kernel      __attribute__((address_space(0)))
> > > +# define __user                __attribute__((noderef, address_space(__user)))
> >
> > I guess `__kernel` moves to the first place since it uses the first
> > address space?
>
> No, there is no really an order between address spaces. Even before
> this patch, the number were only used as an ID to distinguish them
> from each other.
>
> I just moved __kernel above because it is quite different from
> the others because it's the default one, and so:
> * it's never displayed
> * it's normally not needed, nor in type annotations, nor in cast
>   between address spaces. The only time it's needed is when it's
>   combined with a typeof to express "the same type as this one but
>   without the address space"
> * it can't be defined with a name, '0' must be used.
>
> So, it seemed strange to me to have it in the middle of the other ones.

Indeed. It looks like this whole list is completely unsorted, and was created
by appending new definitions at the bottom.
So perhaps all the address_space ones should be grouped together?

Gr{oetje,eeting}s,

                        Geert


--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

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

* Re: [PATCH] sparse: use identifiers to define address spaces
  2020-06-19  8:07     ` Geert Uytterhoeven
@ 2020-06-19 10:04       ` Miguel Ojeda
  2020-06-19 14:20       ` Luc Van Oostenryck
  1 sibling, 0 replies; 11+ messages in thread
From: Miguel Ojeda @ 2020-06-19 10:04 UTC (permalink / raw)
  To: Geert Uytterhoeven; +Cc: Luc Van Oostenryck, Linus Torvalds, linux-kernel

On Fri, Jun 19, 2020 at 10:07 AM Geert Uytterhoeven
<geert@linux-m68k.org> wrote:
>
> Indeed. It looks like this whole list is completely unsorted, and was created
> by appending new definitions at the bottom.

The "historical ordering" :)

+1 for sorting, whatever the ordering (and perhaps adding a comment
saying which one it is).

Cheers,
Miguel

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

* Re: [PATCH] sparse: use identifiers to define address spaces
  2020-06-19  8:07     ` Geert Uytterhoeven
  2020-06-19 10:04       ` Miguel Ojeda
@ 2020-06-19 14:20       ` Luc Van Oostenryck
  1 sibling, 0 replies; 11+ messages in thread
From: Luc Van Oostenryck @ 2020-06-19 14:20 UTC (permalink / raw)
  To: Geert Uytterhoeven; +Cc: Miguel Ojeda, Linus Torvalds, linux-kernel

On Fri, Jun 19, 2020 at 10:07:34AM +0200, Geert Uytterhoeven wrote:
> 
> Indeed. It looks like this whole list is completely unsorted, and was created
> by appending new definitions at the bottom.
> So perhaps all the address_space ones should be grouped together?

Hi Geert & Miguel,

Yes, some cleanup is welcome, I think.
I'll send this in a separate patch soon.

Thanks for reporting,
-- Luc

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

end of thread, other threads:[~2020-06-19 14:20 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-17 22:02 [PATCH] sparse: use identifiers to define address spaces Luc Van Oostenryck
2020-06-18  1:22 ` Miguel Ojeda
2020-06-18  5:02   ` Luc Van Oostenryck
2020-06-19  8:07     ` Geert Uytterhoeven
2020-06-19 10:04       ` Miguel Ojeda
2020-06-19 14:20       ` Luc Van Oostenryck
2020-06-18 10:06 ` kernel test robot
2020-06-18 16:59   ` Linus Torvalds
2020-06-18 18:55     ` Luc Van Oostenryck
2020-06-18 16:14 ` kernel test robot
2020-06-18 16:49 ` kernel test robot

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).