Re: [RFC PATCH 19/21] core: add page recycling logic for netgpu pages
by kernel test robot
Hi Jonathan,
[FYI, it's a private test report for your RFC patch.]
[auto build test ERROR on net/master]
[also build test ERROR on linus/master v5.8-rc1 next-20200618]
[cannot apply to char-misc/char-misc-testing net-next/master]
[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/Jonathan-Lemon/netgpu-networking...
base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git ef7232da6bcd4294cbb2d424bc35885721570f01
config: x86_64-kexec (attached as .config)
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0
reproduce (this is a W=1 build):
# save the attached .config to linux build tree
make W=1 ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
ld: lib/iov_iter.o: in function `__netgpu_get_pages':
include/net/netgpu.h:64: undefined reference to `fn_netgpu_get_pages'
ld: include/net/netgpu.h:64: undefined reference to `fn_netgpu_get_pages'
ld: net/core/skbuff.o: in function `__netgpu_put_page':
>> include/net/netgpu.h:57: undefined reference to `g_ctx'
>> ld: include/net/netgpu.h:57: undefined reference to `fn_netgpu_put_page'
vim +57 include/net/netgpu.h
60654acea6f2baf Jonathan Lemon 2020-06-18 53
60654acea6f2baf Jonathan Lemon 2020-06-18 54 static inline void
60654acea6f2baf Jonathan Lemon 2020-06-18 55 __netgpu_put_page(struct netgpu_ctx *ctx, struct page *page, bool napi)
60654acea6f2baf Jonathan Lemon 2020-06-18 56 {
60654acea6f2baf Jonathan Lemon 2020-06-18 @57 return fn_netgpu_put_page(ctx, page, napi);
60654acea6f2baf Jonathan Lemon 2020-06-18 58 }
60654acea6f2baf Jonathan Lemon 2020-06-18 59
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months
Re: [RFC PATCH 06/21] mlx5: add header_split flag
by kernel test robot
Hi Jonathan,
[FYI, it's a private test report for your RFC patch.]
[auto build test WARNING on net/master]
[also build test WARNING on linus/master v5.8-rc1 next-20200618]
[cannot apply to char-misc/char-misc-testing net-next/master]
[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/Jonathan-Lemon/netgpu-networking...
base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git ef7232da6bcd4294cbb2d424bc35885721570f01
config: sparc-allyesconfig (attached as .config)
compiler: sparc64-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=sparc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>, old ones prefixed by <<):
drivers/net/ethernet/mellanox/mlx5/core/en_main.c: In function 'mlx5e_alloc_rq':
drivers/net/ethernet/mellanox/mlx5/core/en_main.c:380:6: warning: unused variable 'num_xsk_frames' [-Wunused-variable]
380 | u32 num_xsk_frames = 0;
| ^~~~~~~~~~~~~~
In file included from include/linux/kernel.h:13,
from include/asm-generic/bug.h:19,
from arch/sparc/include/asm/bug.h:25,
from include/linux/bug.h:5,
from include/linux/refcount.h:96,
from include/net/act_api.h:9,
from include/net/tc_act/tc_gact.h:5,
from drivers/net/ethernet/mellanox/mlx5/core/en_main.c:33:
drivers/net/ethernet/mellanox/mlx5/core/en_main.c: In function 'mlx5e_build_rq_frags_info':
<< from drivers/net/ethernet/mellanox/mlx5/core/en_main.c:42:
>> drivers/net/ethernet/mellanox/mlx5/core/en_main.c:2097:24: warning: ?: using integer constants in boolean context [-Wint-in-bool-context]
2097 | PAGE_SIZE :
include/linux/log2.h:176:4: note: in definition of macro 'roundup_pow_of_two'
176 | (n == 1) ? 1 : | ^
vim +2097 drivers/net/ethernet/mellanox/mlx5/core/en_main.c
2060
2061 if (!hd_split && mlx5e_rx_is_linear_skb(params, xsk)) {
2062 int frag_stride;
2063
2064 frag_stride = mlx5e_rx_get_linear_frag_sz(params, xsk);
2065 frag_stride = roundup_pow_of_two(frag_stride);
2066
2067 info->arr[0].frag_size = byte_count;
2068 info->arr[0].frag_stride = frag_stride;
2069 info->num_frags = 1;
2070 info->wqe_bulk = PAGE_SIZE / frag_stride;
2071 goto out;
2072 }
2073
2074 if (byte_count > PAGE_SIZE +
2075 (MLX5E_MAX_RX_FRAGS - 1) * frag_size_max)
2076 frag_size_max = PAGE_SIZE;
2077
2078 i = 0;
2079
2080 if (hd_split) {
2081 // Start with one fragment for all headers (implementing HDS)
2082 info->arr[0].frag_size = TOTAL_HEADERS;
2083 info->arr[0].frag_stride = roundup_pow_of_two(PAGE_SIZE);
2084 buf_size += TOTAL_HEADERS;
2085 // Now, continue with the payload frags.
2086 i = 1;
2087 }
2088
2089 while (buf_size < byte_count) {
2090 int frag_size = byte_count - buf_size;
2091
2092 if (i < MLX5E_MAX_RX_FRAGS - 1)
2093 frag_size = min(frag_size, frag_size_max);
2094
2095 info->arr[i].frag_size = frag_size;
2096 info->arr[i].frag_stride = roundup_pow_of_two(hd_split ?
> 2097 PAGE_SIZE :
2098 frag_size);
2099 info->arr[i].frag_source = hd_split;
2100 buf_size += frag_size;
2101 i++;
2102 }
2103 info->num_frags = i;
2104 /* number of different wqes sharing a page */
2105 info->wqe_bulk = 1 + (info->num_frags % 2);
2106
2107 out:
2108 info->wqe_bulk = max_t(u8, info->wqe_bulk, 8);
2109 info->log_num_frags = order_base_2(info->num_frags);
2110 }
2111
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months
[RFC PATCH] sched/uclamp: sched_uclamp_unused can be static
by kernel test robot
Signed-off-by: kernel test robot <lkp(a)intel.com>
---
core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 2a712dcb682b2..e66197fbd799c 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -813,7 +813,7 @@ static struct uclamp_se uclamp_default[UCLAMP_CNT];
* * An admin modifying the sysctl_sched_uclamp_{min, max} via procfs.
* * An admin modifying the cgroup cpu.uclamp.{min, max}
*/
-DEFINE_STATIC_KEY_TRUE(sched_uclamp_unused);
+static DEFINE_STATIC_KEY_TRUE(sched_uclamp_unused);
/* Integer rounded range for each bucket */
#define UCLAMP_BUCKET_DELTA DIV_ROUND_CLOSEST(SCHED_CAPACITY_SCALE, UCLAMP_BUCKETS)
2 years, 3 months
Re: [PATCH 2/2] sched/uclamp: Protect uclamp fast path code with static key
by kernel test robot
Hi Qais,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on tip/sched/core]
[also build test WARNING on tip/auto-latest linux/master 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/Qais-Yousef/sched-Optionally-ski...
base: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git 87e867b4269f29dac8190bca13912d08163a277f
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(a)intel.com>
sparse warnings: (new ones prefixed by >>)
kernel/sched/core.c:514:38: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct task_struct *curr @@ got struct task_struct [noderef] <asn:4> *curr @@
kernel/sched/core.c:514:38: sparse: expected struct task_struct *curr
kernel/sched/core.c:514:38: sparse: got struct task_struct [noderef] <asn:4> *curr
kernel/sched/core.c:569:9: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] sd @@ got struct sched_domain [noderef] <asn:4> *parent @@
kernel/sched/core.c:569:9: sparse: expected struct sched_domain *[assigned] sd
kernel/sched/core.c:569:9: sparse: got struct sched_domain [noderef] <asn:4> *parent
>> kernel/sched/core.c:816:1: sparse: sparse: symbol 'sched_uclamp_unused' was not declared. Should it be static?
kernel/sched/core.c:1486:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct task_struct *p @@ got struct task_struct [noderef] <asn:4> *curr @@
kernel/sched/core.c:1486:33: sparse: expected struct task_struct *p
kernel/sched/core.c:1486:33: sparse: got struct task_struct [noderef] <asn:4> *curr
kernel/sched/core.c:1486:68: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct task_struct *tsk @@ got struct task_struct [noderef] <asn:4> *curr @@
kernel/sched/core.c:1486:68: sparse: expected struct task_struct *tsk
kernel/sched/core.c:1486:68: sparse: got struct task_struct [noderef] <asn:4> *curr
kernel/sched/core.c:2230:17: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] sd @@ got struct sched_domain [noderef] <asn:4> *parent @@
kernel/sched/core.c:2230:17: sparse: expected struct sched_domain *[assigned] sd
kernel/sched/core.c:2230:17: sparse: got struct sched_domain [noderef] <asn:4> *parent
kernel/sched/core.c:2396:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct task_struct const *p @@ got struct task_struct [noderef] <asn:4> *curr @@
kernel/sched/core.c:2396:36: sparse: expected struct task_struct const *p
kernel/sched/core.c:2396:36: sparse: got struct task_struct [noderef] <asn:4> *curr
kernel/sched/core.c:3704:38: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct task_struct *curr @@ got struct task_struct [noderef] <asn:4> *curr @@
kernel/sched/core.c:3704:38: sparse: expected struct task_struct *curr
kernel/sched/core.c:3704:38: sparse: got struct task_struct [noderef] <asn:4> *curr
kernel/sched/core.c:3789:14: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct task_struct *curr @@ got struct task_struct [noderef] <asn:4> *curr @@
kernel/sched/core.c:3789:14: sparse: expected struct task_struct *curr
kernel/sched/core.c:3789:14: sparse: got struct task_struct [noderef] <asn:4> *curr
kernel/sched/core.c:4137:14: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct task_struct *prev @@ got struct task_struct [noderef] <asn:4> *curr @@
kernel/sched/core.c:4137:14: sparse: expected struct task_struct *prev
kernel/sched/core.c:4137:14: sparse: got struct task_struct [noderef] <asn:4> *curr
kernel/sched/core.c:4560:17: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/core.c:4560:17: sparse: struct task_struct *
kernel/sched/core.c:4560:17: sparse: struct task_struct [noderef] <asn:4> *
kernel/sched/core.c:4759:22: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/core.c:4759:22: sparse: struct task_struct [noderef] <asn:4> *
kernel/sched/core.c:4759:22: sparse: struct task_struct *
kernel/sched/core.c:8068:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct task_struct *p @@ got struct task_struct [noderef] <asn:4> *curr @@
kernel/sched/core.c:8068:25: sparse: expected struct task_struct *p
kernel/sched/core.c:8068:25: sparse: got struct task_struct [noderef] <asn:4> *curr
kernel/sched/pelt.h:85:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct task_struct const *p @@ got struct task_struct [noderef] <asn:4> *curr @@
kernel/sched/pelt.h:85:13: sparse: expected struct task_struct const *p
kernel/sched/pelt.h:85:13: sparse: got struct task_struct [noderef] <asn:4> *curr
kernel/sched/core.c:1469:33: sparse: sparse: dereference of noderef expression
kernel/sched/core.c:1470:19: sparse: sparse: dereference of noderef expression
kernel/sched/core.c:1473:40: sparse: sparse: dereference of noderef expression
kernel/sched/sched.h:1672:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1672:25: sparse: struct task_struct [noderef] <asn:4> *
kernel/sched/sched.h:1672:25: sparse: struct task_struct *
kernel/sched/sched.h:1818:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1818:9: sparse: struct task_struct [noderef] <asn:4> *
kernel/sched/sched.h:1818:9: sparse: struct task_struct *
kernel/sched/sched.h:1824:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1824:9: sparse: struct task_struct [noderef] <asn:4> *
kernel/sched/sched.h:1824:9: sparse: struct task_struct *
kernel/sched/core.c:1442:38: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/core.c:1442:38: sparse: struct task_struct [noderef] <asn:4> *
kernel/sched/core.c:1442:38: sparse: struct task_struct const *
kernel/sched/sched.h:1672:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1672:25: sparse: struct task_struct [noderef] <asn:4> *
kernel/sched/sched.h:1672:25: sparse: struct task_struct *
kernel/sched/sched.h:1818:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1818:9: sparse: struct task_struct [noderef] <asn:4> *
kernel/sched/sched.h:1818:9: sparse: struct task_struct *
kernel/sched/sched.h:1818:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1818:9: sparse: struct task_struct [noderef] <asn:4> *
kernel/sched/sched.h:1818:9: sparse: struct task_struct *
kernel/sched/sched.h:1672:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1672:25: sparse: struct task_struct [noderef] <asn:4> *
kernel/sched/sched.h:1672:25: sparse: struct task_struct *
kernel/sched/sched.h:1818:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1818:9: sparse: struct task_struct [noderef] <asn:4> *
kernel/sched/sched.h:1818:9: sparse: struct task_struct *
kernel/sched/sched.h:1824:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1824:9: sparse: struct task_struct [noderef] <asn:4> *
kernel/sched/sched.h:1824:9: sparse: struct task_struct *
kernel/sched/sched.h:1672:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1672:25: sparse: struct task_struct [noderef] <asn:4> *
kernel/sched/sched.h:1672:25: sparse: struct task_struct *
kernel/sched/sched.h:1818:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1818:9: sparse: struct task_struct [noderef] <asn:4> *
kernel/sched/sched.h:1818:9: sparse: struct task_struct *
kernel/sched/sched.h:1824:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1824:9: sparse: struct task_struct [noderef] <asn:4> *
kernel/sched/sched.h:1824:9: sparse: struct task_struct *
kernel/sched/sched.h:1672:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1672:25: sparse: struct task_struct [noderef] <asn:4> *
kernel/sched/sched.h:1672:25: sparse: struct task_struct *
kernel/sched/sched.h:1818:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1818:9: sparse: struct task_struct [noderef] <asn:4> *
kernel/sched/sched.h:1818:9: sparse: struct task_struct *
kernel/sched/sched.h:1824:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1824:9: sparse: struct task_struct [noderef] <asn:4> *
kernel/sched/sched.h:1824:9: sparse: struct task_struct *
Please review and possibly fold the followup patch.
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months
Re: [RFC PATCH 08/21] misc: add shqueue.h for prototyping
by kernel test robot
Hi Jonathan,
[FYI, it's a private test report for your RFC patch.]
[auto build test ERROR on net/master]
[also build test ERROR on linus/master v5.8-rc1 next-20200618]
[cannot apply to char-misc/char-misc-testing net-next/master]
[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/Jonathan-Lemon/netgpu-networking...
base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git ef7232da6bcd4294cbb2d424bc35885721570f01
config: x86_64-randconfig-s021-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(a)intel.com>
All errors (new ones prefixed by >>):
In file included from <command-line>:32:
>> ./usr/include/misc/shqueue.h:10:16: error: expected ':', ',', ';', '}' or '__attribute__' before '____cacheline_aligned_in_smp'
10 | unsigned prod ____cacheline_aligned_in_smp;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./usr/include/misc/shqueue.h: In function '__sq_load_acquire_cons':
>> ./usr/include/misc/shqueue.h:38:19: error: implicit declaration of function 'READ_ONCE' [-Werror=implicit-function-declaration]
38 | q->cached_cons = READ_ONCE(*q->cons);
| ^~~~~~~~~
./usr/include/misc/shqueue.h: In function '__sq_store_release_cons':
>> ./usr/include/misc/shqueue.h:44:2: error: implicit declaration of function 'smp_mb' [-Werror=implicit-function-declaration]
44 | smp_mb(); /* D, matches A */
| ^~~~~~
>> ./usr/include/misc/shqueue.h:45:2: error: implicit declaration of function 'WRITE_ONCE' [-Werror=implicit-function-declaration]
45 | WRITE_ONCE(*q->cons, q->cached_cons);
| ^~~~~~~~~~
./usr/include/misc/shqueue.h: In function '__sq_load_acquire_prod':
>> ./usr/include/misc/shqueue.h:52:2: error: implicit declaration of function 'smp_rmb' [-Werror=implicit-function-declaration]
52 | smp_rmb(); /* C, matches B */
| ^~~~~~~
./usr/include/misc/shqueue.h: In function '__sq_store_release_prod':
>> ./usr/include/misc/shqueue.h:57:2: error: implicit declaration of function 'smp_wmb' [-Werror=implicit-function-declaration]
57 | smp_wmb(); /* B, matches C */
| ^~~~~~~
./usr/include/misc/shqueue.h: At top level:
>> ./usr/include/misc/shqueue.h:67:19: error: unknown type name 'bool'
67 | static __inline__ bool sq_empty(struct shared_queue *q)
| ^~~~
./usr/include/misc/shqueue.h:72:19: error: unknown type name 'bool'
72 | static __inline__ bool sq_cons_empty(struct shared_queue *q)
| ^~~~
./usr/include/misc/shqueue.h:90:19: error: unknown type name 'bool'
90 | static __inline__ bool sq_cons_avail(struct shared_queue *q, unsigned count)
| ^~~~
./usr/include/misc/shqueue.h: In function 'sq_cons_avail':
>> ./usr/include/misc/shqueue.h:93:10: error: 'true' undeclared (first use in this function)
93 | return true;
| ^~~~
./usr/include/misc/shqueue.h:93:10: note: each undeclared identifier is reported only once for each function it appears in
./usr/include/misc/shqueue.h: In function 'sq_cons_peek':
>> ./usr/include/misc/shqueue.h:113:11: error: 'NULL' undeclared (first use in this function)
113 | return NULL;
| ^~~~
./usr/include/misc/shqueue.h:1:1: note: 'NULL' is defined in header '<stddef.h>'; did you forget to '#include <stddef.h>'?
+++ |+#include <stddef.h>
1 | #pragma once
./usr/include/misc/shqueue.h: At top level:
./usr/include/misc/shqueue.h:181:19: error: unknown type name 'bool'
181 | static __inline__ bool sq_prod_avail(struct shared_queue *q, unsigned count)
| ^~~~
./usr/include/misc/shqueue.h: In function 'sq_prod_avail':
./usr/include/misc/shqueue.h:184:10: error: 'true' undeclared (first use in this function)
184 | return true;
| ^~~~
./usr/include/misc/shqueue.h: In function 'sq_prod_reserve':
./usr/include/misc/shqueue.h:197:10: error: 'NULL' undeclared (first use in this function)
197 | return NULL;
| ^~~~
./usr/include/misc/shqueue.h:197:10: note: 'NULL' is defined in header '<stddef.h>'; did you forget to '#include <stddef.h>'?
cc1: some warnings being treated as errors
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months
Re: [PATCH net-next v8 2/5] net: phy: Add a helper to return the index for of the internal delay
by kernel test robot
Hi Dan,
I love your patch! Yet something to improve:
[auto build test ERROR on net-next/master]
url: https://github.com/0day-ci/linux/commits/Dan-Murphy/RGMII-Internal-delay-...
base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git cb8e59cc87201af93dfbb6c3dccc8fcad72a09c2
config: i386-defconfig (attached as .config)
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0
reproduce (this is a W=1 build):
# save the attached .config to linux build tree
make W=1 ARCH=i386
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
drivers/net/phy/phy_device.c: In function 'phy_get_int_delay_property':
>> drivers/net/phy/phy_device.c:2678:1: error: expected ';' before '}' token
2678 | }
| ^
vim +2678 drivers/net/phy/phy_device.c
2660
2661 #if IS_ENABLED(CONFIG_OF_MDIO)
2662 static int phy_get_int_delay_property(struct device *dev, const char *name)
2663 {
2664 s32 int_delay;
2665 int ret;
2666
2667 ret = device_property_read_u32(dev, name, &int_delay);
2668 if (ret)
2669 return ret;
2670
2671 return int_delay;
2672 }
2673 #else
2674 static inline int phy_get_int_delay_property(struct device *dev,
2675 const char *name)
2676 {
2677 return -EINVAL
> 2678 }
2679 #endif
2680
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months
Re: [PATCH v6 32/36] rapidio: fix common struct sg_table related issues
by kernel test robot
Hi Marek,
I love your patch! Yet something to improve:
[auto build test ERROR on next-20200618]
[also build test ERROR on v5.8-rc1]
[cannot apply to linuxtv-media/master staging/staging-testing drm-exynos/exynos-drm-next drm-intel/for-linux-next linus/master v5.8-rc1 v5.7 v5.7-rc7]
[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/Marek-Szyprowski/DRM-fix-struct-...
base: ce2cc8efd7a40cbd17841add878cb691d0ce0bba
config: alpha-allyesconfig (attached as .config)
compiler: alpha-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=alpha
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
In file included from include/linux/dma-mapping.h:11,
from drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c:25:
drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c: In function 'amdgpu_vram_mgr_alloc_sgt':
>> include/linux/scatterlist.h:158:17: error: '*sgt' is a pointer; did you mean to use '->'?
158 | for_each_sg(sgt->sgl, sg, sgt->orig_nents, i)
| ^~
include/linux/scatterlist.h:152:22: note: in definition of macro 'for_each_sg'
152 | for (__i = 0, sg = (sglist); __i < (nr); __i++, sg = sg_next(sg))
| ^~~~~~
drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c:480:2: note: in expansion of macro 'for_each_sgtable_sg'
480 | for_each_sgtable_sg(*sgt, sg, i)
| ^~~~~~~~~~~~~~~~~~~
include/linux/scatterlist.h:158:31: error: '*sgt' is a pointer; did you mean to use '->'?
158 | for_each_sg(sgt->sgl, sg, sgt->orig_nents, i)
| ^~
include/linux/scatterlist.h:152:38: note: in definition of macro 'for_each_sg'
152 | for (__i = 0, sg = (sglist); __i < (nr); __i++, sg = sg_next(sg))
| ^~
drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c:480:2: note: in expansion of macro 'for_each_sgtable_sg'
480 | for_each_sgtable_sg(*sgt, sg, i)
| ^~~~~~~~~~~~~~~~~~~
>> include/linux/scatterlist.h:158:17: error: '*sgt' is a pointer; did you mean to use '->'?
158 | for_each_sg(sgt->sgl, sg, sgt->orig_nents, i)
| ^~
include/linux/scatterlist.h:152:22: note: in definition of macro 'for_each_sg'
152 | for (__i = 0, sg = (sglist); __i < (nr); __i++, sg = sg_next(sg))
| ^~~~~~
drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c:484:2: note: in expansion of macro 'for_each_sgtable_sg'
484 | for_each_sgtable_sg(*sgt, sg, i) {
| ^~~~~~~~~~~~~~~~~~~
include/linux/scatterlist.h:158:31: error: '*sgt' is a pointer; did you mean to use '->'?
158 | for_each_sg(sgt->sgl, sg, sgt->orig_nents, i)
| ^~
include/linux/scatterlist.h:152:38: note: in definition of macro 'for_each_sg'
152 | for (__i = 0, sg = (sglist); __i < (nr); __i++, sg = sg_next(sg))
| ^~
drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c:484:2: note: in expansion of macro 'for_each_sgtable_sg'
484 | for_each_sgtable_sg(*sgt, sg, i) {
| ^~~~~~~~~~~~~~~~~~~
>> include/linux/scatterlist.h:158:17: error: '*sgt' is a pointer; did you mean to use '->'?
158 | for_each_sg(sgt->sgl, sg, sgt->orig_nents, i)
| ^~
include/linux/scatterlist.h:152:22: note: in definition of macro 'for_each_sg'
152 | for (__i = 0, sg = (sglist); __i < (nr); __i++, sg = sg_next(sg))
| ^~~~~~
drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c:504:2: note: in expansion of macro 'for_each_sgtable_sg'
504 | for_each_sgtable_sg(*sgt, sg, i) {
| ^~~~~~~~~~~~~~~~~~~
include/linux/scatterlist.h:158:31: error: '*sgt' is a pointer; did you mean to use '->'?
158 | for_each_sg(sgt->sgl, sg, sgt->orig_nents, i)
| ^~
include/linux/scatterlist.h:152:38: note: in definition of macro 'for_each_sg'
152 | for (__i = 0, sg = (sglist); __i < (nr); __i++, sg = sg_next(sg))
| ^~
drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c:504:2: note: in expansion of macro 'for_each_sgtable_sg'
504 | for_each_sgtable_sg(*sgt, sg, i) {
| ^~~~~~~~~~~~~~~~~~~
In file included from drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c:26:
At top level:
drivers/gpu/drm/amd/amdgpu/amdgpu.h:190:18: warning: 'sched_policy' defined but not used [-Wunused-const-variable=]
190 | static const int sched_policy = KFD_SCHED_POLICY_HWS;
| ^~~~~~~~~~~~
In file included from drivers/gpu/drm/amd/amdgpu/../display/dc/dc_types.h:33,
from drivers/gpu/drm/amd/amdgpu/../display/dc/dm_services_types.h:30,
from drivers/gpu/drm/amd/amdgpu/../include/dm_pp_interface.h:26,
from drivers/gpu/drm/amd/amdgpu/amdgpu.h:65,
from drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c:26:
drivers/gpu/drm/amd/amdgpu/../display/include/fixed31_32.h:76:32: warning: 'dc_fixpt_ln2_div_2' defined but not used [-Wunused-const-variable=]
76 | static const struct fixed31_32 dc_fixpt_ln2_div_2 = { 1488522236LL };
| ^~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/include/fixed31_32.h:75:32: warning: 'dc_fixpt_ln2' defined but not used [-Wunused-const-variable=]
75 | static const struct fixed31_32 dc_fixpt_ln2 = { 2977044471LL };
| ^~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/include/fixed31_32.h:74:32: warning: 'dc_fixpt_e' defined but not used [-Wunused-const-variable=]
74 | static const struct fixed31_32 dc_fixpt_e = { 11674931555LL };
| ^~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/include/fixed31_32.h:73:32: warning: 'dc_fixpt_two_pi' defined but not used [-Wunused-const-variable=]
73 | static const struct fixed31_32 dc_fixpt_two_pi = { 26986075409LL };
| ^~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/include/fixed31_32.h:72:32: warning: 'dc_fixpt_pi' defined but not used [-Wunused-const-variable=]
72 | static const struct fixed31_32 dc_fixpt_pi = { 13493037705LL };
| ^~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/include/fixed31_32.h:67:32: warning: 'dc_fixpt_zero' defined but not used [-Wunused-const-variable=]
67 | static const struct fixed31_32 dc_fixpt_zero = { 0 };
| ^~~~~~~~~~~~~
--
In file included from include/linux/kernel.h:11,
from include/linux/delay.h:22,
from drivers/gpu/drm/v3d/v3d_drv.h:4,
from drivers/gpu/drm/v3d/v3d_mmu.c:21:
drivers/gpu/drm/v3d/v3d_mmu.c: In function 'v3d_mmu_insert_ptes':
>> include/linux/compiler.h:339:38: error: call to '__compiletime_assert_254' declared with attribute error: BUILD_BUG_ON failed: V3D_MMU_PAGE_SHIFT != PAGE_SIZE
339 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^
include/linux/compiler.h:320:4: note: in definition of macro '__compiletime_assert'
320 | prefix ## suffix(); \
| ^~~~~~
include/linux/compiler.h:339:2: note: in expansion of macro '_compiletime_assert'
339 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
| ^~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:50:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
50 | BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
| ^~~~~~~~~~~~~~~~
drivers/gpu/drm/v3d/v3d_mmu.c:100:3: note: in expansion of macro 'BUILD_BUG_ON'
100 | BUILD_BUG_ON(V3D_MMU_PAGE_SHIFT != PAGE_SIZE);
| ^~~~~~~~~~~~
--
drivers/rapidio/devices/rio_mport_cdev.c: In function 'dma_req_free':
>> drivers/rapidio/devices/rio_mport_cdev.c:576:48: error: incompatible type for argument 2 of 'dma_unmap_sgtable'
576 | dma_unmap_sgtable(req->dmach->device->dev, req->sgt, req->dir, 0);
| ~~~^~~~~
| |
| struct sg_table
In file included from drivers/rapidio/devices/rio_mport_cdev.c:32:
include/linux/dma-mapping.h:651:75: note: expected 'struct sg_table *' but argument is of type 'struct sg_table'
651 | static inline void dma_unmap_sgtable(struct device *dev, struct sg_table *sgt,
| ~~~~~~~~~~~~~~~~~^~~
drivers/rapidio/devices/rio_mport_cdev.c: In function 'rio_dma_transfer':
>> drivers/rapidio/devices/rio_mport_cdev.c:932:46: error: incompatible type for argument 2 of 'dma_map_sgtable'
932 | ret = dma_map_sgtable(chan->device->dev, req->sgt, dir, 0);
| ~~~^~~~~
| |
| struct sg_table
In file included from drivers/rapidio/devices/rio_mport_cdev.c:32:
include/linux/dma-mapping.h:628:72: note: expected 'struct sg_table *' but argument is of type 'struct sg_table'
628 | static inline int dma_map_sgtable(struct device *dev, struct sg_table *sgt,
| ~~~~~~~~~~~~~~~~~^~~
vim +/dma_unmap_sgtable +576 drivers/rapidio/devices/rio_mport_cdev.c
569
570 static void dma_req_free(struct kref *ref)
571 {
572 struct mport_dma_req *req = container_of(ref, struct mport_dma_req,
573 refcount);
574 struct mport_cdev_priv *priv = req->priv;
575
> 576 dma_unmap_sgtable(req->dmach->device->dev, req->sgt, req->dir, 0);
577 sg_free_table(&req->sgt);
578 if (req->page_list) {
579 unpin_user_pages(req->page_list, req->nr_pages);
580 kfree(req->page_list);
581 }
582
583 if (req->map) {
584 mutex_lock(&req->map->md->buf_mutex);
585 kref_put(&req->map->ref, mport_release_mapping);
586 mutex_unlock(&req->map->md->buf_mutex);
587 }
588
589 kref_put(&priv->dma_ref, mport_release_dma);
590
591 kfree(req);
592 }
593
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months
Re: [RESEND PATCH v27 11/15] leds: lp55xx: Add multicolor framework support to lp55xx
by Dan Murphy
Jacek
On 6/18/20 6:26 PM, Jacek Anaszewski wrote:
> On 6/19/20 12:09 AM, Jacek Anaszewski wrote:
>> Dan,
>>
>> On 6/18/20 11:44 PM, Dan Murphy wrote:
>>> Jacek
>>>
>>> On 6/18/20 4:21 PM, Jacek Anaszewski wrote:
>>>> Dan,
>>>>
>>>> On 6/18/20 12:33 AM, Dan Murphy wrote:
>>>>> Jacek
>>>>>
>>>>> On 6/17/20 4:41 PM, Jacek Anaszewski wrote:
>>>>>> Dan,
>>>>>>
>>>>>> On 6/17/20 9:22 PM, Dan Murphy wrote:
>>>>>>> Pavel/Jacek
>>>>>>>
>>>>>>> On 6/17/20 11:28 AM, kernel test robot wrote:
>>>>>>>> Hi Dan,
>>>>>>>>
>>>>>>>> I love your patch! Yet something to improve:
>>>>>>>>
>>>>>>>> [auto build test ERROR on pavel-linux-leds/for-next]
>>>>>>>> [cannot apply to j.anaszewski-leds/for-next]
>>>>>>>> [if your patch is applied to the wrong git tree, please drop us
>>>>>>>> a note to help
>>>>>>>> improve the system. BTW, we also suggest to use '--base' option
>>>>>>>> to specify the
>>>>>>>> base tree in git format-patch, please see
>>>>>>>> https://stackoverflow.com/a/37406982]
>>>>>>>>
>>>>>>>> url:
>>>>>>>> https://github.com/0day-ci/linux/commits/Dan-Murphy/Multicolor-Framework-...
>>>>>>>>
>>>>>>>> base:
>>>>>>>> git://git.kernel.org/pub/scm/linux/kernel/git/pavel/linux-leds.git
>>>>>>>> for-next
>>>>>>>> config: ia64-randconfig-r015-20200617 (attached as .config)
>>>>>>>> compiler: ia64-linux-gcc (GCC) 9.3.0
>>>>>>>> reproduce (this is a W=1 build):
>>>>>>>> wget
>>>>>>>> https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross
>>>>>>>> -O ~/bin/make.cross
>>>>>>>> chmod +x ~/bin/make.cross
>>>>>>>> # save the attached .config to linux build tree
>>>>>>>> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0
>>>>>>>> make.cross ARCH=ia64
>>>>>>>>
>>>>>>>> If you fix the issue, kindly add following tag as appropriate
>>>>>>>> Reported-by: kernel test robot <lkp(a)intel.com>
>>>>>>>>
>>>>>>>> All errors (new ones prefixed by >>, old ones prefixed by <<):
>>>>>>>>
>>>>>>>> ia64-linux-ld: drivers/leds/leds-lp55xx-common.o: in function
>>>>>>>> `lp55xx_set_mc_brightness':
>>>>>>>>>> drivers/leds/leds-lp55xx-common.c:146: undefined reference to
>>>>>>>>>> `led_mc_calc_color_components'
>>>>>>>> ia64-linux-ld: drivers/leds/leds-lp55xx-common.o: in function
>>>>>>>> `devm_led_classdev_multicolor_register':
>>>>>>>>>> include/linux/led-class-multicolor.h:74: undefined reference
>>>>>>>>>> to `devm_led_classdev_multicolor_register_ext'
>>>>>>>> vim +146 drivers/leds/leds-lp55xx-common.c
>>>>>>>>
>>>>>>>> 138
>>>>>>>> 139 static int lp55xx_set_mc_brightness(struct
>>>>>>>> led_classdev *cdev,
>>>>>>>> 140 enum led_brightness brightness)
>>>>>>>> 141 {
>>>>>>>> 142 struct led_classdev_mc *mc_dev =
>>>>>>>> lcdev_to_mccdev(cdev);
>>>>>>>> 143 struct lp55xx_led *led = mcled_cdev_to_led(mc_dev);
>>>>>>>> 144 struct lp55xx_device_config *cfg = led->chip->cfg;
>>>>>>>> 145
>>>>>>>> > 146 led_mc_calc_color_components(&led->mc_cdev, brightness);
>>>>>>>> 147 return cfg->multicolor_brightness_fn(led);
>>>>>>>> 148
>>>>>>>
>>>>>>> Well this was a mess to figure out.
>>>>>>>
>>>>>>> The only fix I can figure out here is to remove the
>>>>>>>
>>>>>>> depends on LEDS_CLASS_MULTI_COLOR || !LEDS_CLASS_MULTI_COLOR
>>>>>>>
>>>>>>> from each child device and add
>>>>>>>
>>>>>>> select LEDS_CLASS_MULTI_COLOR
>>>>>>>
>>>>>>> to the LP55XX_COMMON
>>>>>>>
>>>>>>> This way the Multi color framework will inherit the symbol that
>>>>>>> was set by the COMMON flag which is inherited by majority from
>>>>>>> the child flags.
>>>>>>
>>>>>> Did you try this?
>>>>>>
>>>>>> --- a/drivers/leds/Kconfig
>>>>>> +++ b/drivers/leds/Kconfig
>>>>>> @@ -398,6 +398,7 @@ config LEDS_LP50XX
>>>>>> config LEDS_LP55XX_COMMON
>>>>>> tristate "Common Driver for TI/National
>>>>>> LP5521/5523/55231/5562/8501"
>>>>>> depends on LEDS_LP5521 || LEDS_LP5523 || LEDS_LP5562 ||
>>>>>> LEDS_LP8501
>>>>>> + depends on LEDS_CLASS_MULTI_COLOR || !LEDS_CLASS_MULTI_COLOR
>>>>>> depends on OF
>>>>>> select FW_LOADER
>>>>>> select FW_LOADER_USER_HELPER
>>>>>>
>>>>>>
>>>>> Yes I did
>>>>>
>>>>> That gave unmet dependencies.
>>>>>
>>>>> WARNING: unmet direct dependencies detected for LEDS_LP55XX_COMMON
>>>>> Depends on [m]: NEW_LEDS [=y] && (LEDS_LP5521 [=n] ||
>>>>> LEDS_LP5523 [=m] || LEDS_LP5562 [=y] || LEDS_LP8501 [=y]) &&
>>>>> (LEDS_CLASS_MULTI_COLOR [=m] || !LEDS_CLASS_MULTI_COLOR [=m]) &&
>>>>> OF [=y]
>>>>> Selected by [y]:
>>>>> - LEDS_LP5562 [=y] && NEW_LEDS [=y] && LEDS_CLASS [=y] && I2C [=y]
>>>>> - LEDS_LP8501 [=y] && NEW_LEDS [=y] && LEDS_CLASS [=y] && I2C [=y]
>>>>> Selected by [m]:
>>>>> - LEDS_LP5523 [=m] && NEW_LEDS [=y] && LEDS_CLASS [=y] && I2C
>>>>> [=y] && (LEDS_CLASS_MULTI_COLOR [=m] || !LEDS_CLASS_MULTI_COLOR [=m])
>>>>>
>>>>
>>>> When I was testing that yesterday I also had the same warning at some
>>>> point of testing different Kconfig setups, but with what I showed
>>>> above
>>>> it ceased to appear. Now every time I am doing "make oldconfig" the
>>>> CONFIG_LEDS_LP55XX_COMMON=y entry gets changed to =m with the config
>>>> from the test bot.
>>>>
>>> That is not what I saw in my testing especially after doing a distclean
>>
>> Could you please give your exact steps after "make distclean" and
>> copying test bot config to the kernel root directory?
>>
>> Also, please share the toolchain you're using for tests.
>
> Actually at this stage the toolchain is of lesser relevance.
>
> I've tried once more and indeed the problem shows up.
>
> It is caused by the driver entries doing
>
> "select LEDS_LP55XX_COMMON".
>
> Select sets config to "y" so it conflicts with
> "depends on LEDS_CLASS_MULTI_COLOR || !LEDS_CLASS_MULTI_COLOR"
> in the "config LEDS_LP55XX_COMMON".
>
> Your proposed fix will block the possibility of building
> LED_CLASS_MULTI_COLOR as a module when LP55XX drivers
> are enabled so this is also not an option.
>
> Solving this riddle will require some more thinking.
> I haven't analyzed it in detail but maybe "imply" statement from
> kconfig-language.rst could help somehow here.
>
I tried imply on various applications. Nothing solved it.
Like you said the child devices select the common and majority rules on
how the COMMON is built.
The proposed fix will only block building the MC as a module if the
COMMON and children are modules.
Dan
2 years, 3 months
[android-common:android-4.19-stable 7878/9999] kernel/dma/removed.c:146:25: sparse: sparse: incorrect type in argument 1 (different address spaces)
by kernel test robot
tree: https://android.googlesource.com/kernel/common android-4.19-stable
head: e6c29819dde64e76b316ac7df9a299429d0dff26
commit: c9a574054dbbc299aac39781a1d19a36fe0bc35a [7878/9999] ANDROID: GKI: drivers: Add dma removed ops
config: arm-randconfig-s031-20200618 (attached as .config)
compiler: arm-linux-gnueabi-gcc (GCC) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.2-rc1-10-gc17b1b06-dirty
git checkout c9a574054dbbc299aac39781a1d19a36fe0bc35a
# save the attached .config to linux build tree
make W=1 C=1 ARCH=arm CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
kernel/dma/removed.c:107:30: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void [noderef] <asn:2> *addr @@ got void * @@
kernel/dma/removed.c:107:30: sparse: expected void [noderef] <asn:2> *addr
kernel/dma/removed.c:107:30: sparse: got void *
kernel/dma/removed.c:119:38: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void [noderef] <asn:2> *[assigned] addr @@ got void * @@
kernel/dma/removed.c:119:38: sparse: expected void [noderef] <asn:2> *[assigned] addr
kernel/dma/removed.c:119:38: sparse: got void *
kernel/dma/removed.c:127:16: sparse: sparse: incorrect type in return expression (different address spaces) @@ expected void * @@ got void [noderef] <asn:2> *[assigned] addr @@
kernel/dma/removed.c:127:16: sparse: expected void *
kernel/dma/removed.c:127:16: sparse: got void [noderef] <asn:2> *[assigned] addr
kernel/dma/removed.c:71:6: sparse: sparse: symbol 'removed_alloc' was not declared. Should it be static?
kernel/dma/removed.c:131:5: sparse: sparse: symbol 'removed_mmap' was not declared. Should it be static?
>> kernel/dma/removed.c:146:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] <asn:2> *iomem_cookie @@ got void *cpu_addr @@
>> kernel/dma/removed.c:146:25: sparse: expected void volatile [noderef] <asn:2> *iomem_cookie
kernel/dma/removed.c:146:25: sparse: got void *cpu_addr
kernel/dma/removed.c:138:6: sparse: sparse: symbol 'removed_free' was not declared. Should it be static?
kernel/dma/removed.c:187:6: sparse: sparse: symbol 'removed_sync_single_for_device' was not declared. Should it be static?
kernel/dma/removed.c:193:6: sparse: sparse: symbol 'removed_sync_sg_for_cpu' was not declared. Should it be static?
kernel/dma/removed.c:199:6: sparse: sparse: symbol 'removed_sync_sg_for_device' was not declared. Should it be static?
>> kernel/dma/removed.c:213:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] <asn:2> *iomem_cookie @@ got void *remapped_address @@
kernel/dma/removed.c:213:17: sparse: expected void volatile [noderef] <asn:2> *iomem_cookie
kernel/dma/removed.c:213:17: sparse: got void *remapped_address
kernel/dma/removed.c:211:6: sparse: sparse: symbol 'removed_unremap' was not declared. Should it be static?
kernel/dma/removed.c:228:35: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void *( *remap )( ... ) @@ got void [noderef] <asn:2> *( * )( ... ) @@
kernel/dma/removed.c:228:35: sparse: expected void *( *remap )( ... )
kernel/dma/removed.c:228:35: sparse: got void [noderef] <asn:2> *( * )( ... )
kernel/dma/removed.c:71:7: warning: no previous prototype for 'removed_alloc' [-Wmissing-prototypes]
71 | void *removed_alloc(struct device *dev, size_t size, dma_addr_t *handle,
| ^~~~~~~~~~~~~
kernel/dma/removed.c:131:5: warning: no previous prototype for 'removed_mmap' [-Wmissing-prototypes]
131 | int removed_mmap(struct device *dev, struct vm_area_struct *vma,
| ^~~~~~~~~~~~
kernel/dma/removed.c:138:6: warning: no previous prototype for 'removed_free' [-Wmissing-prototypes]
138 | void removed_free(struct device *dev, size_t size, void *cpu_addr,
| ^~~~~~~~~~~~
kernel/dma/removed.c:187:6: warning: no previous prototype for 'removed_sync_single_for_device' [-Wmissing-prototypes]
187 | void removed_sync_single_for_device(struct device *dev,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/dma/removed.c:193:6: warning: no previous prototype for 'removed_sync_sg_for_cpu' [-Wmissing-prototypes]
193 | void removed_sync_sg_for_cpu(struct device *dev,
| ^~~~~~~~~~~~~~~~~~~~~~~
kernel/dma/removed.c:199:6: warning: no previous prototype for 'removed_sync_sg_for_device' [-Wmissing-prototypes]
199 | void removed_sync_sg_for_device(struct device *dev,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/dma/removed.c:211:6: warning: no previous prototype for 'removed_unremap' [-Wmissing-prototypes]
211 | void removed_unremap(struct device *dev, void *remapped_address, size_t size)
| ^~~~~~~~~~~~~~~
vim +146 kernel/dma/removed.c
70
> 71 void *removed_alloc(struct device *dev, size_t size, dma_addr_t *handle,
72 gfp_t gfp, unsigned long attrs)
73 {
74 bool no_kernel_mapping = attrs & DMA_ATTR_NO_KERNEL_MAPPING;
75 bool skip_zeroing = attrs & DMA_ATTR_SKIP_ZEROING;
76 int pageno;
77 unsigned long order;
78 void __iomem *addr = NULL;
79 struct removed_region *dma_mem = dev->removed_mem;
80 int nbits;
81 unsigned int align;
82
83 if (!gfpflags_allow_blocking(gfp))
84 return NULL;
85
86 size = PAGE_ALIGN(size);
87 nbits = size >> PAGE_SHIFT;
88 order = get_order(size);
89
90 if (order > get_order(SZ_1M))
91 order = get_order(SZ_1M);
92
93 align = (1 << order) - 1;
94
95
96 mutex_lock(&dma_mem->lock);
97 pageno = bitmap_find_next_zero_area(dma_mem->bitmap, dma_mem->nr_pages,
98 0, nbits, align);
99
100 if (pageno < dma_mem->nr_pages) {
101 phys_addr_t base = dma_mem->base + pageno * PAGE_SIZE;
102 *handle = base;
103
104 bitmap_set(dma_mem->bitmap, pageno, nbits);
105
106 if (no_kernel_mapping && skip_zeroing) {
> 107 addr = (void *)NO_KERNEL_MAPPING_DUMMY;
108 goto out;
109 }
110
111 addr = ioremap_wc(base, size);
112 if (WARN_ON(!addr)) {
113 bitmap_clear(dma_mem->bitmap, pageno, nbits);
114 } else {
115 if (!skip_zeroing)
116 memset_io(addr, 0, size);
117 if (no_kernel_mapping) {
118 iounmap(addr);
> 119 addr = (void *)NO_KERNEL_MAPPING_DUMMY;
120 }
121 *handle = base;
122 }
123 }
124
125 out:
126 mutex_unlock(&dma_mem->lock);
127 return addr;
128 }
129
130
131 int removed_mmap(struct device *dev, struct vm_area_struct *vma,
132 void *cpu_addr, dma_addr_t dma_addr, size_t size,
133 unsigned long attrs)
134 {
135 return -ENXIO;
136 }
137
138 void removed_free(struct device *dev, size_t size, void *cpu_addr,
139 dma_addr_t handle, unsigned long attrs)
140 {
141 bool no_kernel_mapping = attrs & DMA_ATTR_NO_KERNEL_MAPPING;
142 struct removed_region *dma_mem = dev->removed_mem;
143
144 size = PAGE_ALIGN(size);
145 if (!no_kernel_mapping)
> 146 iounmap(cpu_addr);
147 mutex_lock(&dma_mem->lock);
148 bitmap_clear(dma_mem->bitmap, (handle - dma_mem->base) >> PAGE_SHIFT,
149 size >> PAGE_SHIFT);
150 mutex_unlock(&dma_mem->lock);
151 }
152
153 static dma_addr_t removed_map_page(struct device *dev, struct page *page,
154 unsigned long offset, size_t size,
155 enum dma_data_direction dir,
156 unsigned long attrs)
157 {
158 return ~(dma_addr_t)0;
159 }
160
161 static void removed_unmap_page(struct device *dev, dma_addr_t dma_handle,
162 size_t size, enum dma_data_direction dir,
163 unsigned long attrs)
164 {
165 }
166
167 static int removed_map_sg(struct device *dev, struct scatterlist *sg,
168 int nents, enum dma_data_direction dir,
169 unsigned long attrs)
170 {
171 return 0;
172 }
173
174 static void removed_unmap_sg(struct device *dev,
175 struct scatterlist *sg, int nents,
176 enum dma_data_direction dir,
177 unsigned long attrs)
178 {
179 }
180
181 static void removed_sync_single_for_cpu(struct device *dev,
182 dma_addr_t dma_handle, size_t size,
183 enum dma_data_direction dir)
184 {
185 }
186
187 void removed_sync_single_for_device(struct device *dev,
188 dma_addr_t dma_handle, size_t size,
189 enum dma_data_direction dir)
190 {
191 }
192
193 void removed_sync_sg_for_cpu(struct device *dev,
194 struct scatterlist *sg, int nents,
195 enum dma_data_direction dir)
196 {
197 }
198
199 void removed_sync_sg_for_device(struct device *dev,
200 struct scatterlist *sg, int nents,
201 enum dma_data_direction dir)
202 {
203 }
204
205 static void __iomem *removed_remap(struct device *dev, void *cpu_addr,
206 dma_addr_t handle, size_t size, unsigned long attrs)
207 {
208 return ioremap_wc(handle, size);
209 }
210
211 void removed_unremap(struct device *dev, void *remapped_address, size_t size)
212 {
> 213 iounmap(remapped_address);
214 }
215
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months
Re: [PATCH] sparse: use identifiers to define address spaces
by kernel test robot
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-id...
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git a5dc8300df75e8b8384b4c82225f1e4a0b4d9b55
config: sh-randconfig-s031-20200618 (attached as .config)
compiler: sh4-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=sh CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
drivers/w1/slaves/w1_ds28e04.c:342:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected char [noderef] __user *__pu_addr @@ got char *buf @@
drivers/w1/slaves/w1_ds28e04.c:342:13: sparse: expected char [noderef] __user *__pu_addr
drivers/w1/slaves/w1_ds28e04.c:342:13: sparse: got char *buf
>> drivers/w1/slaves/w1_ds28e04.c:356:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got char const *__gu_addr @@
drivers/w1/slaves/w1_ds28e04.c:356:13: sparse: expected void const volatile [noderef] __user *
drivers/w1/slaves/w1_ds28e04.c:356:13: sparse: got char const *__gu_addr
--
drivers/usb/gadget/udc/mv_udc_core.c:67:33: sparse: sparse: incorrect type in initializer (different base types) @@ expected restricted __le16 [usertype] wMaxPacketSize @@ got int @@
drivers/usb/gadget/udc/mv_udc_core.c:67:33: sparse: expected restricted __le16 [usertype] wMaxPacketSize
drivers/usb/gadget/udc/mv_udc_core.c:67:33: sparse: got int
drivers/usb/gadget/udc/mv_udc_core.c:367:24: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] buff_ptr0 @@ got restricted __le32 [usertype] @@
drivers/usb/gadget/udc/mv_udc_core.c:367:24: sparse: expected unsigned int [usertype] buff_ptr0
drivers/usb/gadget/udc/mv_udc_core.c:367:24: sparse: got restricted __le32 [usertype]
drivers/usb/gadget/udc/mv_udc_core.c:369:24: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] buff_ptr1 @@ got restricted __le32 [usertype] @@
drivers/usb/gadget/udc/mv_udc_core.c:369:24: sparse: expected unsigned int [usertype] buff_ptr1
drivers/usb/gadget/udc/mv_udc_core.c:369:24: sparse: got restricted __le32 [usertype]
drivers/usb/gadget/udc/mv_udc_core.c:370:24: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] buff_ptr2 @@ got restricted __le32 [usertype] @@
drivers/usb/gadget/udc/mv_udc_core.c:370:24: sparse: expected unsigned int [usertype] buff_ptr2
drivers/usb/gadget/udc/mv_udc_core.c:370:24: sparse: got restricted __le32 [usertype]
drivers/usb/gadget/udc/mv_udc_core.c:371:24: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] buff_ptr3 @@ got restricted __le32 [usertype] @@
drivers/usb/gadget/udc/mv_udc_core.c:371:24: sparse: expected unsigned int [usertype] buff_ptr3
drivers/usb/gadget/udc/mv_udc_core.c:371:24: sparse: got restricted __le32 [usertype]
drivers/usb/gadget/udc/mv_udc_core.c:372:24: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] buff_ptr4 @@ got restricted __le32 [usertype] @@
drivers/usb/gadget/udc/mv_udc_core.c:372:24: sparse: expected unsigned int [usertype] buff_ptr4
drivers/usb/gadget/udc/mv_udc_core.c:372:24: sparse: got restricted __le32 [usertype]
>> drivers/usb/gadget/udc/mv_udc_core.c:833:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem * @@ got unsigned int * @@
>> drivers/usb/gadget/udc/mv_udc_core.c:833:17: sparse: expected void const volatile [noderef] __iomem *
drivers/usb/gadget/udc/mv_udc_core.c:833:17: sparse: got unsigned int *
>> drivers/usb/gadget/udc/mv_udc_core.c:833:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem * @@ got unsigned int * @@
>> drivers/usb/gadget/udc/mv_udc_core.c:833:17: sparse: expected void const volatile [noderef] __iomem *
drivers/usb/gadget/udc/mv_udc_core.c:833:17: sparse: got unsigned int *
drivers/usb/gadget/udc/mv_udc_core.c:1456:41: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] @@ got restricted __le16 [usertype] @@
drivers/usb/gadget/udc/mv_udc_core.c:1456:41: sparse: expected unsigned short [usertype]
drivers/usb/gadget/udc/mv_udc_core.c:1456:41: sparse: got restricted __le16 [usertype]
drivers/usb/gadget/udc/mv_udc_core.c:1516:26: sparse: sparse: cast from restricted __le16
drivers/usb/gadget/udc/mv_udc_core.c:1546:31: sparse: sparse: restricted __le16 degrades to integer
drivers/usb/gadget/udc/mv_udc_core.c:1547:35: sparse: sparse: restricted __le16 degrades to integer
drivers/usb/gadget/udc/mv_udc_core.c:1568:30: sparse: sparse: restricted __le16 degrades to integer
drivers/usb/gadget/udc/mv_udc_core.c:1579:39: sparse: sparse: restricted __le16 degrades to integer
drivers/usb/gadget/udc/mv_udc_core.c:1580:43: sparse: sparse: restricted __le16 degrades to integer
drivers/usb/gadget/udc/mv_udc_core.c:1616:34: sparse: sparse: restricted __le16 degrades to integer
drivers/usb/gadget/udc/mv_udc_core.c:1625:52: sparse: sparse: restricted __le16 degrades to integer
drivers/usb/gadget/udc/mv_udc_core.c:1611:30: sparse: sparse: restricted __le16 degrades to integer
drivers/usb/gadget/udc/mv_udc_core.c:1611:30: sparse: sparse: restricted __le16 degrades to integer
drivers/usb/gadget/udc/mv_udc_core.c:1634:39: sparse: sparse: restricted __le16 degrades to integer
drivers/usb/gadget/udc/mv_udc_core.c:1635:43: sparse: sparse: restricted __le16 degrades to integer
--
>> drivers/net/ppp/ppp_generic.c:925:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user *p @@
drivers/net/ppp/ppp_generic.c:925:21: sparse: expected int const *__gu_addr
>> drivers/net/ppp/ppp_generic.c:925:21: sparse: got int [noderef] __user *p
>> drivers/net/ppp/ppp_generic.c:925:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got int const *__gu_addr @@
>> drivers/net/ppp/ppp_generic.c:925:21: sparse: expected void const volatile [noderef] __user *
drivers/net/ppp/ppp_generic.c:925:21: sparse: got int const *__gu_addr
drivers/net/ppp/ppp_generic.c:939:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user *p @@
drivers/net/ppp/ppp_generic.c:939:21: sparse: expected int const *__gu_addr
drivers/net/ppp/ppp_generic.c:939:21: sparse: got int [noderef] __user *p
drivers/net/ppp/ppp_generic.c:939:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got int const *__gu_addr @@
drivers/net/ppp/ppp_generic.c:939:21: sparse: expected void const volatile [noderef] __user *
drivers/net/ppp/ppp_generic.c:939:21: sparse: got int const *__gu_addr
drivers/net/ppp/ppp_generic.c:954:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user *p @@
drivers/net/ppp/ppp_generic.c:954:21: sparse: expected int const *__gu_addr
drivers/net/ppp/ppp_generic.c:954:21: sparse: got int [noderef] __user *p
drivers/net/ppp/ppp_generic.c:954:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got int const *__gu_addr @@
drivers/net/ppp/ppp_generic.c:954:21: sparse: expected void const volatile [noderef] __user *
drivers/net/ppp/ppp_generic.c:954:21: sparse: got int const *__gu_addr
drivers/net/ppp/ppp_generic.c:651:29: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user *p @@
drivers/net/ppp/ppp_generic.c:651:29: sparse: expected int const *__gu_addr
drivers/net/ppp/ppp_generic.c:651:29: sparse: got int [noderef] __user *p
drivers/net/ppp/ppp_generic.c:651:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got int const *__gu_addr @@
drivers/net/ppp/ppp_generic.c:651:29: sparse: expected void const volatile [noderef] __user *
drivers/net/ppp/ppp_generic.c:651:29: sparse: got int const *__gu_addr
drivers/net/ppp/ppp_generic.c:681:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user *p @@
drivers/net/ppp/ppp_generic.c:681:21: sparse: expected int const *__gu_addr
drivers/net/ppp/ppp_generic.c:681:21: sparse: got int [noderef] __user *p
drivers/net/ppp/ppp_generic.c:681:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got int const *__gu_addr @@
drivers/net/ppp/ppp_generic.c:681:21: sparse: expected void const volatile [noderef] __user *
drivers/net/ppp/ppp_generic.c:681:21: sparse: got int const *__gu_addr
drivers/net/ppp/ppp_generic.c:688:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user *p @@
drivers/net/ppp/ppp_generic.c:688:21: sparse: expected int const *__gu_addr
drivers/net/ppp/ppp_generic.c:688:21: sparse: got int [noderef] __user *p
drivers/net/ppp/ppp_generic.c:688:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got int const *__gu_addr @@
drivers/net/ppp/ppp_generic.c:688:21: sparse: expected void const volatile [noderef] __user *
drivers/net/ppp/ppp_generic.c:688:21: sparse: got int const *__gu_addr
drivers/net/ppp/ppp_generic.c:726:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user *p @@
drivers/net/ppp/ppp_generic.c:726:21: sparse: expected int const *__gu_addr
drivers/net/ppp/ppp_generic.c:726:21: sparse: got int [noderef] __user *p
drivers/net/ppp/ppp_generic.c:726:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got int const *__gu_addr @@
drivers/net/ppp/ppp_generic.c:726:21: sparse: expected void const volatile [noderef] __user *
drivers/net/ppp/ppp_generic.c:726:21: sparse: got int const *__gu_addr
drivers/net/ppp/ppp_generic.c:755:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user *p @@
drivers/net/ppp/ppp_generic.c:755:21: sparse: expected int const *__gu_addr
drivers/net/ppp/ppp_generic.c:755:21: sparse: got int [noderef] __user *p
drivers/net/ppp/ppp_generic.c:755:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got int const *__gu_addr @@
drivers/net/ppp/ppp_generic.c:755:21: sparse: expected void const volatile [noderef] __user *
drivers/net/ppp/ppp_generic.c:755:21: sparse: got int const *__gu_addr
drivers/net/ppp/ppp_generic.c:823:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user *p @@
drivers/net/ppp/ppp_generic.c:823:21: sparse: expected int const *__gu_addr
drivers/net/ppp/ppp_generic.c:823:21: sparse: got int [noderef] __user *p
drivers/net/ppp/ppp_generic.c:823:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got int const *__gu_addr @@
drivers/net/ppp/ppp_generic.c:823:21: sparse: expected void const volatile [noderef] __user *
drivers/net/ppp/ppp_generic.c:823:21: sparse: got int const *__gu_addr
--
>> drivers/net/ppp/ppp_async.c:420:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user *p @@
drivers/net/ppp/ppp_async.c:420:21: sparse: expected int const *__gu_addr
>> drivers/net/ppp/ppp_async.c:420:21: sparse: got int [noderef] __user *p
>> drivers/net/ppp/ppp_async.c:420:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got int const *__gu_addr @@
>> drivers/net/ppp/ppp_async.c:420:21: sparse: expected void const volatile [noderef] __user *
drivers/net/ppp/ppp_async.c:420:21: sparse: got int const *__gu_addr
>> drivers/net/ppp/ppp_async.c:435:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int const *__gu_addr @@ got unsigned int [noderef] [usertype] __user * @@
drivers/net/ppp/ppp_async.c:435:21: sparse: expected unsigned int const *__gu_addr
>> drivers/net/ppp/ppp_async.c:435:21: sparse: got unsigned int [noderef] [usertype] __user *
>> drivers/net/ppp/ppp_async.c:435:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got unsigned int const *__gu_addr @@
drivers/net/ppp/ppp_async.c:435:21: sparse: expected void const volatile [noderef] __user *
drivers/net/ppp/ppp_async.c:435:21: sparse: got unsigned int const *__gu_addr
drivers/net/ppp/ppp_async.c:446:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int const *__gu_addr @@ got unsigned int [noderef] [usertype] __user * @@
drivers/net/ppp/ppp_async.c:446:21: sparse: expected unsigned int const *__gu_addr
drivers/net/ppp/ppp_async.c:446:21: sparse: got unsigned int [noderef] [usertype] __user *
drivers/net/ppp/ppp_async.c:446:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got unsigned int const *__gu_addr @@
drivers/net/ppp/ppp_async.c:446:21: sparse: expected void const volatile [noderef] __user *
drivers/net/ppp/ppp_async.c:446:21: sparse: got unsigned int const *__gu_addr
drivers/net/ppp/ppp_async.c:471:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user *p @@
drivers/net/ppp/ppp_async.c:471:21: sparse: expected int const *__gu_addr
drivers/net/ppp/ppp_async.c:471:21: sparse: got int [noderef] __user *p
drivers/net/ppp/ppp_async.c:471:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got int const *__gu_addr @@
drivers/net/ppp/ppp_async.c:471:21: sparse: expected void const volatile [noderef] __user *
drivers/net/ppp/ppp_async.c:471:21: sparse: got int const *__gu_addr
--
>> drivers/net/ppp/pppoe.c:765:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user * @@
drivers/net/ppp/pppoe.c:765:21: sparse: expected int const *__gu_addr
>> drivers/net/ppp/pppoe.c:765:21: sparse: got int [noderef] __user *
>> drivers/net/ppp/pppoe.c:765:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got int const *__gu_addr @@
>> drivers/net/ppp/pppoe.c:765:21: sparse: expected void const volatile [noderef] __user *
drivers/net/ppp/pppoe.c:765:21: sparse: got int const *__gu_addr
drivers/net/ppp/pppoe.c:778:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user * @@
drivers/net/ppp/pppoe.c:778:21: sparse: expected int const *__gu_addr
drivers/net/ppp/pppoe.c:778:21: sparse: got int [noderef] __user *
drivers/net/ppp/pppoe.c:778:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got int const *__gu_addr @@
drivers/net/ppp/pppoe.c:778:21: sparse: expected void const volatile [noderef] __user *
drivers/net/ppp/pppoe.c:778:21: sparse: got int const *__gu_addr
--
>> drivers/md/md.c:7635:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user * @@
drivers/md/md.c:7635:21: sparse: expected int const *__gu_addr
>> drivers/md/md.c:7635:21: sparse: got int [noderef] __user *
>> drivers/md/md.c:7635:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got int const *__gu_addr @@
>> drivers/md/md.c:7635:21: sparse: expected void const volatile [noderef] __user *
drivers/md/md.c:7635:21: sparse: got int const *__gu_addr
--
>> drivers/md/dm-ioctl.c:1783:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *addr @@ got void [noderef] __user *__cl_addr @@
drivers/md/dm-ioctl.c:1783:36: sparse: expected void *addr
>> drivers/md/dm-ioctl.c:1783:36: sparse: got void [noderef] __user *__cl_addr
drivers/md/dm-ioctl.c:1798:28: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *addr @@ got void [noderef] __user *__cl_addr @@
drivers/md/dm-ioctl.c:1798:28: sparse: expected void *addr
drivers/md/dm-ioctl.c:1798:28: sparse: got void [noderef] __user *__cl_addr
--
drivers/infiniband/core/cache.c:650:52: sparse: sparse: incompatible types in comparison expression (different address spaces):
>> drivers/infiniband/core/cache.c:650:52: sparse: struct net_device [noderef] __rcu *
drivers/infiniband/core/cache.c:650:52: sparse: struct net_device *
>> drivers/infiniband/core/cache.c:689:43: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct net_device [noderef] __rcu *ndev @@ got struct net_device *ndev @@
>> drivers/infiniband/core/cache.c:689:43: sparse: expected struct net_device [noderef] __rcu *ndev
drivers/infiniband/core/cache.c:689:43: sparse: got struct net_device *ndev
>> drivers/infiniband/core/cache.c:847:23: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct net_device [noderef] __rcu *[addressable] ndev @@ got struct net_device *ndev @@
>> drivers/infiniband/core/cache.c:847:23: sparse: expected struct net_device [noderef] __rcu *[addressable] ndev
drivers/infiniband/core/cache.c:847:23: sparse: got struct net_device *ndev
drivers/infiniband/core/cache.c:1012:52: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct net_device [noderef] __rcu *ndev @@ got struct net_device *ndev @@
drivers/infiniband/core/cache.c:1012:52: sparse: expected struct net_device [noderef] __rcu *ndev
drivers/infiniband/core/cache.c:1012:52: sparse: got struct net_device *ndev
>> drivers/infiniband/core/cache.c:1360:59: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct net_device *dev @@ got struct net_device [noderef] __rcu *const ndev @@
drivers/infiniband/core/cache.c:1360:59: sparse: expected struct net_device *dev
>> drivers/infiniband/core/cache.c:1360:59: sparse: got struct net_device [noderef] __rcu *const ndev
--
>> drivers/infiniband/core/roce_gid_mgmt.c:291:23: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct net_device [noderef] __rcu *[addressable] ndev @@ got struct net_device *ndev @@
>> drivers/infiniband/core/roce_gid_mgmt.c:291:23: sparse: expected struct net_device [noderef] __rcu *[addressable] ndev
drivers/infiniband/core/roce_gid_mgmt.c:291:23: sparse: got struct net_device *ndev
>> drivers/infiniband/core/roce_gid_mgmt.c:385:48: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct net_device [noderef] __rcu *ndev @@ got struct net_device *ndev @@
>> drivers/infiniband/core/roce_gid_mgmt.c:385:48: sparse: expected struct net_device [noderef] __rcu *ndev
drivers/infiniband/core/roce_gid_mgmt.c:385:48: sparse: got struct net_device *ndev
>> drivers/infiniband/core/roce_gid_mgmt.c:807:48: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void *filter_cookie @@ got struct net_device [noderef] __rcu *ndev @@
drivers/infiniband/core/roce_gid_mgmt.c:807:48: sparse: expected void *filter_cookie
>> drivers/infiniband/core/roce_gid_mgmt.c:807:48: sparse: got struct net_device [noderef] __rcu *ndev
>> drivers/infiniband/core/roce_gid_mgmt.c:810:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct net_device *dev @@ got struct net_device [noderef] __rcu *ndev @@
drivers/infiniband/core/roce_gid_mgmt.c:810:31: sparse: expected struct net_device *dev
drivers/infiniband/core/roce_gid_mgmt.c:810:31: sparse: got struct net_device [noderef] __rcu *ndev
>> drivers/infiniband/core/roce_gid_mgmt.c:847:31: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct net_device [noderef] __rcu *ndev @@ got struct net_device *ndev @@
drivers/infiniband/core/roce_gid_mgmt.c:847:31: sparse: expected struct net_device [noderef] __rcu *ndev
drivers/infiniband/core/roce_gid_mgmt.c:847:31: sparse: got struct net_device *ndev
--
>> drivers/sh/intc/virq.c:212:26: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __rcu ***results @@ got void *** @@
>> drivers/sh/intc/virq.c:212:26: sparse: expected void [noderef] __rcu ***results
drivers/sh/intc/virq.c:212:26: sparse: got void ***
>> drivers/sh/intc/virq.c:219:48: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __rcu **slot @@ got void ** @@
>> drivers/sh/intc/virq.c:219:48: sparse: expected void [noderef] __rcu **slot
drivers/sh/intc/virq.c:219:48: sparse: got void **
drivers/sh/intc/virq.c:255:52: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __rcu **slot @@ got void ** @@
drivers/sh/intc/virq.c:255:52: sparse: expected void [noderef] __rcu **slot
drivers/sh/intc/virq.c:255:52: sparse: got void **
--
>> drivers/sh/clk/cpg.c:41:24: sparse: sparse: incorrect type in argument 1 (different modifiers) @@ expected void [noderef] __iomem * @@ got void const [noderef] __iomem *addr @@
>> drivers/sh/clk/cpg.c:41:24: sparse: expected void [noderef] __iomem *
>> drivers/sh/clk/cpg.c:41:24: sparse: got void const [noderef] __iomem *addr
drivers/sh/clk/cpg.c:46:25: sparse: sparse: incorrect type in argument 1 (different modifiers) @@ expected void [noderef] __iomem * @@ got void const [noderef] __iomem *addr @@
drivers/sh/clk/cpg.c:46:25: sparse: expected void [noderef] __iomem *
drivers/sh/clk/cpg.c:46:25: sparse: got void const [noderef] __iomem *addr
drivers/sh/clk/cpg.c:51:25: sparse: sparse: incorrect type in argument 1 (different modifiers) @@ expected void [noderef] __iomem * @@ got void const [noderef] __iomem *addr @@
drivers/sh/clk/cpg.c:51:25: sparse: expected void [noderef] __iomem *
drivers/sh/clk/cpg.c:51:25: sparse: got void const [noderef] __iomem *addr
drivers/sh/clk/cpg.c:484:43: sparse: sparse: Using plain integer as NULL pointer
--
>> drivers/scsi/scsi_ioctl.c:48:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int const *__gu_addr @@ got unsigned int [noderef] __user * @@
drivers/scsi/scsi_ioctl.c:48:21: sparse: expected unsigned int const *__gu_addr
>> drivers/scsi/scsi_ioctl.c:48:21: sparse: got unsigned int [noderef] __user *
>> drivers/scsi/scsi_ioctl.c:48:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got unsigned int const *__gu_addr @@
>> drivers/scsi/scsi_ioctl.c:48:21: sparse: expected void const volatile [noderef] __user *
drivers/scsi/scsi_ioctl.c:48:21: sparse: got unsigned int const *__gu_addr
--
>> drivers/scsi/scsi_error.c:2341:17: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user *arg @@
drivers/scsi/scsi_error.c:2341:17: sparse: expected int const *__gu_addr
>> drivers/scsi/scsi_error.c:2341:17: sparse: got int [noderef] __user *arg
>> drivers/scsi/scsi_error.c:2341:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got int const *__gu_addr @@
>> drivers/scsi/scsi_error.c:2341:17: sparse: expected void const volatile [noderef] __user *
drivers/scsi/scsi_error.c:2341:17: sparse: got int const *__gu_addr
--
>> drivers/fpga/dfl-fme-main.c:143:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user * @@
drivers/fpga/dfl-fme-main.c:143:13: sparse: expected int const *__gu_addr
>> drivers/fpga/dfl-fme-main.c:143:13: sparse: got int [noderef] __user *
>> drivers/fpga/dfl-fme-main.c:143:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got int const *__gu_addr @@
>> drivers/fpga/dfl-fme-main.c:143:13: sparse: expected void const volatile [noderef] __user *
drivers/fpga/dfl-fme-main.c:143:13: sparse: got int const *__gu_addr
drivers/fpga/dfl-fme-main.c:155:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user * @@
drivers/fpga/dfl-fme-main.c:155:13: sparse: expected int const *__gu_addr
drivers/fpga/dfl-fme-main.c:155:13: sparse: got int [noderef] __user *
drivers/fpga/dfl-fme-main.c:155:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got int const *__gu_addr @@
drivers/fpga/dfl-fme-main.c:155:13: sparse: expected void const volatile [noderef] __user *
drivers/fpga/dfl-fme-main.c:155:13: sparse: got int const *__gu_addr
--
>> drivers/mtd/mtdchar.c:658:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int const *__gu_addr @@ got unsigned int [noderef] __user * @@
drivers/mtd/mtdchar.c:658:21: sparse: expected unsigned int const *__gu_addr
>> drivers/mtd/mtdchar.c:658:21: sparse: got unsigned int [noderef] __user *
>> drivers/mtd/mtdchar.c:658:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got unsigned int const *__gu_addr @@
>> drivers/mtd/mtdchar.c:658:21: sparse: expected void const volatile [noderef] __user *
drivers/mtd/mtdchar.c:658:21: sparse: got unsigned int const *__gu_addr
--
>> drivers/net/tun.c:329:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user *argp @@
drivers/net/tun.c:329:13: sparse: expected int const *__gu_addr
>> drivers/net/tun.c:329:13: sparse: got int [noderef] __user *argp
>> drivers/net/tun.c:329:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got int const *__gu_addr @@
>> drivers/net/tun.c:329:13: sparse: expected void const volatile [noderef] __user *
drivers/net/tun.c:329:13: sparse: got int const *__gu_addr
>> drivers/net/tun.c:3001:36: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected struct tun_prog [noderef] __rcu **prog_p @@ got struct tun_prog **prog_p @@
>> drivers/net/tun.c:3001:36: sparse: expected struct tun_prog [noderef] __rcu **prog_p
drivers/net/tun.c:3001:36: sparse: got struct tun_prog **prog_p
>> drivers/net/tun.c:3240:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user * @@
drivers/net/tun.c:3240:21: sparse: expected int const *__gu_addr
>> drivers/net/tun.c:3240:21: sparse: got int [noderef] __user *
drivers/net/tun.c:3240:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got int const *__gu_addr @@
drivers/net/tun.c:3240:21: sparse: expected void const volatile [noderef] __user *
drivers/net/tun.c:3240:21: sparse: got int const *__gu_addr
>> drivers/net/tun.c:3290:42: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected struct tun_prog **prog_p @@ got struct tun_prog [noderef] __rcu ** @@
drivers/net/tun.c:3290:42: sparse: expected struct tun_prog **prog_p
>> drivers/net/tun.c:3290:42: sparse: got struct tun_prog [noderef] __rcu **
drivers/net/tun.c:3294:42: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected struct tun_prog **prog_p @@ got struct tun_prog [noderef] __rcu ** @@
drivers/net/tun.c:3294:42: sparse: expected struct tun_prog **prog_p
drivers/net/tun.c:3294:42: sparse: got struct tun_prog [noderef] __rcu **
--
>> drivers/net/tap.c:53:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user *sp @@
drivers/net/tap.c:53:13: sparse: expected int const *__gu_addr
>> drivers/net/tap.c:53:13: sparse: got int [noderef] __user *sp
>> drivers/net/tap.c:53:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got int const *__gu_addr @@
>> drivers/net/tap.c:53:13: sparse: expected void const volatile [noderef] __user *
drivers/net/tap.c:53:13: sparse: got int const *__gu_addr
>> drivers/net/tap.c:991:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected short const *__gu_addr @@ got short [noderef] __user * @@
drivers/net/tap.c:991:21: sparse: expected short const *__gu_addr
>> drivers/net/tap.c:991:21: sparse: got short [noderef] __user *
>> drivers/net/tap.c:991:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got short const *__gu_addr @@
drivers/net/tap.c:991:21: sparse: expected void const volatile [noderef] __user *
drivers/net/tap.c:991:21: sparse: got short const *__gu_addr
drivers/net/tap.c:1020:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected short const *__gu_addr @@ got short [noderef] __user * @@
drivers/net/tap.c:1020:21: sparse: expected short const *__gu_addr
drivers/net/tap.c:1020:21: sparse: got short [noderef] __user *
drivers/net/tap.c:1020:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got short const *__gu_addr @@
drivers/net/tap.c:1020:21: sparse: expected void const volatile [noderef] __user *
drivers/net/tap.c:1020:21: sparse: got short const *__gu_addr
drivers/net/tap.c:1033:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user *sp @@
drivers/net/tap.c:1033:21: sparse: expected int const *__gu_addr
drivers/net/tap.c:1033:21: sparse: got int [noderef] __user *sp
drivers/net/tap.c:1033:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got int const *__gu_addr @@
drivers/net/tap.c:1033:21: sparse: expected void const volatile [noderef] __user *
drivers/net/tap.c:1033:21: sparse: got int const *__gu_addr
drivers/net/tap.c:1048:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user *sp @@
drivers/net/tap.c:1048:21: sparse: expected int const *__gu_addr
drivers/net/tap.c:1048:21: sparse: got int [noderef] __user *sp
drivers/net/tap.c:1048:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got int const *__gu_addr @@
drivers/net/tap.c:1048:21: sparse: expected void const volatile [noderef] __user *
drivers/net/tap.c:1048:21: sparse: got int const *__gu_addr
drivers/net/tap.c:1063:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user *sp @@
drivers/net/tap.c:1063:21: sparse: expected int const *__gu_addr
drivers/net/tap.c:1063:21: sparse: got int [noderef] __user *sp
drivers/net/tap.c:1063:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got int const *__gu_addr @@
drivers/net/tap.c:1063:21: sparse: expected void const volatile [noderef] __user *
drivers/net/tap.c:1063:21: sparse: got int const *__gu_addr
--
>> drivers/mtd/nand/onenand/onenand_base.c:779:34: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *__from @@ got void [noderef] __iomem * @@
drivers/mtd/nand/onenand/onenand_base.c:779:34: sparse: expected void const *__from
drivers/mtd/nand/onenand/onenand_base.c:779:34: sparse: got void [noderef] __iomem *
drivers/mtd/nand/onenand/onenand_base.c:817:34: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *__from @@ got void [noderef] __iomem * @@
drivers/mtd/nand/onenand/onenand_base.c:817:34: sparse: expected void const *__from
drivers/mtd/nand/onenand/onenand_base.c:817:34: sparse: got void [noderef] __iomem *
>> drivers/mtd/nand/onenand/onenand_base.c:860:26: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *__to @@ got void [noderef] __iomem * @@
drivers/mtd/nand/onenand/onenand_base.c:860:26: sparse: expected void *__to
drivers/mtd/nand/onenand/onenand_base.c:860:26: sparse: got void [noderef] __iomem *
--
>> drivers/mtd/ubi/cdev.c:467:23: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected signed int const *__gu_addr @@ got signed int [noderef] [usertype] __user * @@
drivers/mtd/ubi/cdev.c:467:23: sparse: expected signed int const *__gu_addr
>> drivers/mtd/ubi/cdev.c:467:23: sparse: got signed int [noderef] [usertype] __user *
>> drivers/mtd/ubi/cdev.c:467:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got signed int const *__gu_addr @@
>> drivers/mtd/ubi/cdev.c:467:23: sparse: expected void const volatile [noderef] __user *
drivers/mtd/ubi/cdev.c:467:23: sparse: got signed int const *__gu_addr
drivers/mtd/ubi/cdev.c:512:23: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected signed int const *__gu_addr @@ got signed int [noderef] [usertype] __user * @@
drivers/mtd/ubi/cdev.c:512:23: sparse: expected signed int const *__gu_addr
drivers/mtd/ubi/cdev.c:512:23: sparse: got signed int [noderef] [usertype] __user *
drivers/mtd/ubi/cdev.c:512:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got signed int const *__gu_addr @@
drivers/mtd/ubi/cdev.c:512:23: sparse: expected void const volatile [noderef] __user *
drivers/mtd/ubi/cdev.c:512:23: sparse: got signed int const *__gu_addr
drivers/mtd/ubi/cdev.c:526:23: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected signed int const *__gu_addr @@ got signed int [noderef] [usertype] __user * @@
drivers/mtd/ubi/cdev.c:526:23: sparse: expected signed int const *__gu_addr
drivers/mtd/ubi/cdev.c:526:23: sparse: got signed int [noderef] [usertype] __user *
drivers/mtd/ubi/cdev.c:526:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got signed int const *__gu_addr @@
drivers/mtd/ubi/cdev.c:526:23: sparse: expected void const volatile [noderef] __user *
drivers/mtd/ubi/cdev.c:526:23: sparse: got signed int const *__gu_addr
drivers/mtd/ubi/cdev.c:882:23: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected signed int const *__gu_addr @@ got signed int [noderef] [usertype] __user * @@
drivers/mtd/ubi/cdev.c:882:23: sparse: expected signed int const *__gu_addr
drivers/mtd/ubi/cdev.c:882:23: sparse: got signed int [noderef] [usertype] __user *
drivers/mtd/ubi/cdev.c:882:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got signed int const *__gu_addr @@
drivers/mtd/ubi/cdev.c:882:23: sparse: expected void const volatile [noderef] __user *
drivers/mtd/ubi/cdev.c:882:23: sparse: got signed int const *__gu_addr
drivers/mtd/ubi/cdev.c:969:23: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected signed int const *__gu_addr @@ got signed int [noderef] [usertype] __user * @@
drivers/mtd/ubi/cdev.c:969:23: sparse: expected signed int const *__gu_addr
drivers/mtd/ubi/cdev.c:969:23: sparse: got signed int [noderef] [usertype] __user *
drivers/mtd/ubi/cdev.c:969:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got signed int const *__gu_addr @@
drivers/mtd/ubi/cdev.c:969:23: sparse: expected void const volatile [noderef] __user *
drivers/mtd/ubi/cdev.c:969:23: sparse: got signed int const *__gu_addr
drivers/mtd/ubi/cdev.c:984:23: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected signed int const *__gu_addr @@ got signed int [noderef] [usertype] __user * @@
drivers/mtd/ubi/cdev.c:984:23: sparse: expected signed int const *__gu_addr
drivers/mtd/ubi/cdev.c:984:23: sparse: got signed int [noderef] [usertype] __user *
drivers/mtd/ubi/cdev.c:984:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got signed int const *__gu_addr @@
drivers/mtd/ubi/cdev.c:984:23: sparse: expected void const volatile [noderef] __user *
drivers/mtd/ubi/cdev.c:984:23: sparse: got signed int const *__gu_addr
drivers/mtd/ubi/cdev.c:1061:23: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected signed int const *__gu_addr @@ got signed int [noderef] [usertype] __user * @@
drivers/mtd/ubi/cdev.c:1061:23: sparse: expected signed int const *__gu_addr
drivers/mtd/ubi/cdev.c:1061:23: sparse: got signed int [noderef] [usertype] __user *
drivers/mtd/ubi/cdev.c:1061:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got signed int const *__gu_addr @@
drivers/mtd/ubi/cdev.c:1061:23: sparse: expected void const volatile [noderef] __user *
drivers/mtd/ubi/cdev.c:1061:23: sparse: got signed int const *__gu_addr
--
drivers/usb/core/devio.c:313:17: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] *p @@ got restricted __le16 * @@
drivers/usb/core/devio.c:313:17: sparse: expected unsigned short [usertype] *p
drivers/usb/core/devio.c:313:17: sparse: got restricted __le16 *
drivers/usb/core/devio.c:314:17: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] *p @@ got restricted __le16 * @@
drivers/usb/core/devio.c:314:17: sparse: expected unsigned short [usertype] *p
drivers/usb/core/devio.c:314:17: sparse: got restricted __le16 *
drivers/usb/core/devio.c:315:17: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] *p @@ got restricted __le16 * @@
drivers/usb/core/devio.c:315:17: sparse: expected unsigned short [usertype] *p
drivers/usb/core/devio.c:315:17: sparse: got restricted __le16 *
drivers/usb/core/devio.c:316:17: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] *p @@ got restricted __le16 * @@
drivers/usb/core/devio.c:316:17: sparse: expected unsigned short [usertype] *p
drivers/usb/core/devio.c:316:17: sparse: got restricted __le16 *
>> drivers/usb/core/devio.c:937:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int const *__gu_addr @@ got unsigned int [noderef] __user * @@
drivers/usb/core/devio.c:937:13: sparse: expected unsigned int const *__gu_addr
>> drivers/usb/core/devio.c:937:13: sparse: got unsigned int [noderef] __user *
>> drivers/usb/core/devio.c:937:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got unsigned int const *__gu_addr @@
>> drivers/usb/core/devio.c:937:13: sparse: expected void const volatile [noderef] __user *
drivers/usb/core/devio.c:937:13: sparse: got unsigned int const *__gu_addr
drivers/usb/core/devio.c:938:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int const *__gu_addr @@ got unsigned int [noderef] __user * @@
drivers/usb/core/devio.c:938:13: sparse: expected unsigned int const *__gu_addr
drivers/usb/core/devio.c:938:13: sparse: got unsigned int [noderef] __user *
drivers/usb/core/devio.c:938:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got unsigned int const *__gu_addr @@
drivers/usb/core/devio.c:938:13: sparse: expected void const volatile [noderef] __user *
drivers/usb/core/devio.c:938:13: sparse: got unsigned int const *__gu_addr
>> drivers/usb/core/devio.c:953:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned char const *__gu_addr @@ got unsigned char [noderef] __user * @@
drivers/usb/core/devio.c:953:21: sparse: expected unsigned char const *__gu_addr
>> drivers/usb/core/devio.c:953:21: sparse: got unsigned char [noderef] __user *
>> drivers/usb/core/devio.c:953:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got unsigned char const *__gu_addr @@
drivers/usb/core/devio.c:953:21: sparse: expected void const volatile [noderef] __user *
drivers/usb/core/devio.c:953:21: sparse: got unsigned char const *__gu_addr
drivers/usb/core/devio.c:1276:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int const *__gu_addr @@ got unsigned int [noderef] __user * @@
drivers/usb/core/devio.c:1276:13: sparse: expected unsigned int const *__gu_addr
drivers/usb/core/devio.c:1276:13: sparse: got unsigned int [noderef] __user *
drivers/usb/core/devio.c:1276:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got unsigned int const *__gu_addr @@
drivers/usb/core/devio.c:1276:13: sparse: expected void const volatile [noderef] __user *
drivers/usb/core/devio.c:1276:13: sparse: got unsigned int const *__gu_addr
drivers/usb/core/devio.c:1295:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int const *__gu_addr @@ got unsigned int [noderef] __user * @@
drivers/usb/core/devio.c:1295:13: sparse: expected unsigned int const *__gu_addr
drivers/usb/core/devio.c:1295:13: sparse: got unsigned int [noderef] __user *
drivers/usb/core/devio.c:1295:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got unsigned int const *__gu_addr @@
drivers/usb/core/devio.c:1295:13: sparse: expected void const volatile [noderef] __user *
drivers/usb/core/devio.c:1295:13: sparse: got unsigned int const *__gu_addr
>> drivers/usb/core/devio.c:1427:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user * @@
drivers/usb/core/devio.c:1427:13: sparse: expected int const *__gu_addr
>> drivers/usb/core/devio.c:1427:13: sparse: got int [noderef] __user *
>> drivers/usb/core/devio.c:1427:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got int const *__gu_addr @@
drivers/usb/core/devio.c:1427:13: sparse: expected void const volatile [noderef] __user *
drivers/usb/core/devio.c:1427:13: sparse: got int const *__gu_addr
drivers/usb/core/devio.c:2177:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int const *__gu_addr @@ got unsigned int [noderef] __user * @@
drivers/usb/core/devio.c:2177:13: sparse: expected unsigned int const *__gu_addr
drivers/usb/core/devio.c:2177:13: sparse: got unsigned int [noderef] __user *
drivers/usb/core/devio.c:2177:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got unsigned int const *__gu_addr @@
drivers/usb/core/devio.c:2177:13: sparse: expected void const volatile [noderef] __user *
drivers/usb/core/devio.c:2177:13: sparse: got unsigned int const *__gu_addr
drivers/usb/core/devio.c:2187:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int const *__gu_addr @@ got unsigned int [noderef] __user * @@
drivers/usb/core/devio.c:2187:13: sparse: expected unsigned int const *__gu_addr
drivers/usb/core/devio.c:2187:13: sparse: got unsigned int [noderef] __user *
drivers/usb/core/devio.c:2187:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got unsigned int const *__gu_addr @@
drivers/usb/core/devio.c:2187:13: sparse: expected void const volatile [noderef] __user *
drivers/usb/core/devio.c:2187:13: sparse: got unsigned int const *__gu_addr
drivers/usb/core/devio.c:2303:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int const *__gu_addr @@ got unsigned int [noderef] __user * @@
drivers/usb/core/devio.c:2303:13: sparse: expected unsigned int const *__gu_addr
drivers/usb/core/devio.c:2303:13: sparse: got unsigned int [noderef] __user *
drivers/usb/core/devio.c:2303:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got unsigned int const *__gu_addr @@
drivers/usb/core/devio.c:2303:13: sparse: expected void const volatile [noderef] __user *
drivers/usb/core/devio.c:2303:13: sparse: got unsigned int const *__gu_addr
drivers/usb/core/devio.c:2316:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int const *__gu_addr @@ got unsigned int [noderef] __user * @@
drivers/usb/core/devio.c:2316:13: sparse: expected unsigned int const *__gu_addr
drivers/usb/core/devio.c:2316:13: sparse: got unsigned int [noderef] __user *
drivers/usb/core/devio.c:2316:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got unsigned int const *__gu_addr @@
drivers/usb/core/devio.c:2316:13: sparse: expected void const volatile [noderef] __user *
drivers/usb/core/devio.c:2316:13: sparse: got unsigned int const *__gu_addr
--
>> drivers/input/serio/serport.c:213:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned long const *__gu_addr @@ got unsigned long [noderef] __user * @@
drivers/input/serio/serport.c:213:21: sparse: expected unsigned long const *__gu_addr
>> drivers/input/serio/serport.c:213:21: sparse: got unsigned long [noderef] __user *
>> drivers/input/serio/serport.c:213:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got unsigned long const *__gu_addr @@
>> drivers/input/serio/serport.c:213:21: sparse: expected void const volatile [noderef] __user *
drivers/input/serio/serport.c:213:21: sparse: got unsigned long const *__gu_addr
--
>> drivers/input/serio/serio_raw.c:219:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected char const *__gu_addr @@ got char const [noderef] __user * @@
drivers/input/serio/serio_raw.c:219:21: sparse: expected char const *__gu_addr
>> drivers/input/serio/serio_raw.c:219:21: sparse: got char const [noderef] __user *
>> drivers/input/serio/serio_raw.c:219:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got char const *__gu_addr @@
>> drivers/input/serio/serio_raw.c:219:21: sparse: expected void const volatile [noderef] __user *
drivers/input/serio/serio_raw.c:219:21: sparse: got char const *__gu_addr
--
>> drivers/input/mousedev.c:683:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected char const *__gu_addr @@ got char const [noderef] __user * @@
drivers/input/mousedev.c:683:21: sparse: expected char const *__gu_addr
>> drivers/input/mousedev.c:683:21: sparse: got char const [noderef] __user *
>> drivers/input/mousedev.c:683:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got char const *__gu_addr @@
>> drivers/input/mousedev.c:683:21: sparse: expected void const volatile [noderef] __user *
drivers/input/mousedev.c:683:21: sparse: got char const *__gu_addr
--
>> drivers/usb/cdns3/drd.c:43:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem * @@ got restricted __le32 * @@
>> drivers/usb/cdns3/drd.c:43:31: sparse: expected void const volatile [noderef] __iomem *
drivers/usb/cdns3/drd.c:43:31: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:45:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem * @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:45:25: sparse: expected void const volatile [noderef] __iomem *
drivers/usb/cdns3/drd.c:45:25: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:47:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem * @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:47:31: sparse: expected void const volatile [noderef] __iomem *
drivers/usb/cdns3/drd.c:47:31: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:49:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem * @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:49:25: sparse: expected void const volatile [noderef] __iomem *
drivers/usb/cdns3/drd.c:49:25: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:71:14: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem * @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:71:14: sparse: expected void const volatile [noderef] __iomem *
drivers/usb/cdns3/drd.c:71:14: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:81:19: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem * @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:81:19: sparse: expected void const volatile [noderef] __iomem *
drivers/usb/cdns3/drd.c:81:19: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:114:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem * @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:114:9: sparse: expected void const volatile [noderef] __iomem *
drivers/usb/cdns3/drd.c:114:9: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:123:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem * @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:123:9: sparse: expected void const volatile [noderef] __iomem *
drivers/usb/cdns3/drd.c:123:9: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:141:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem * @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:141:17: sparse: expected void const volatile [noderef] __iomem *
drivers/usb/cdns3/drd.c:141:17: 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 * @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:144:23: sparse: expected void const volatile [noderef] __iomem *
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 * @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:144:23: sparse: expected void const volatile [noderef] __iomem *
drivers/usb/cdns3/drd.c:144:23: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:152:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem * @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:152:17: sparse: expected void const volatile [noderef] __iomem *
drivers/usb/cdns3/drd.c:152: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 * @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:156:17: sparse: expected void const volatile [noderef] __iomem *
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 * @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:156:17: sparse: expected void const volatile [noderef] __iomem *
drivers/usb/cdns3/drd.c:156:17: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:178:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem * @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:178:17: sparse: expected void const volatile [noderef] __iomem *
drivers/usb/cdns3/drd.c:178:17: 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 * @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:182:23: sparse: expected void const volatile [noderef] __iomem *
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 * @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:182:23: sparse: expected void const volatile [noderef] __iomem *
drivers/usb/cdns3/drd.c:182:23: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:195:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem * @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:195:17: sparse: expected void const volatile [noderef] __iomem *
drivers/usb/cdns3/drd.c:195: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 * @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:199:17: sparse: expected void const volatile [noderef] __iomem *
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 * @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:199:17: sparse: expected void const volatile [noderef] __iomem *
drivers/usb/cdns3/drd.c:199:17: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:219:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem * @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:219:9: sparse: expected void const volatile [noderef] __iomem *
drivers/usb/cdns3/drd.c:219:9: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:284:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem * @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:284:15: sparse: expected void const volatile [noderef] __iomem *
drivers/usb/cdns3/drd.c:284:15: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:303:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem * @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:303:9: sparse: expected void const volatile [noderef] __iomem *
drivers/usb/cdns3/drd.c:303:9: 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:14: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem * @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:327:14: sparse: expected void const volatile [noderef] __iomem *
drivers/usb/cdns3/drd.c:327:14: 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:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem * @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:331:17: sparse: expected void const volatile [noderef] __iomem *
drivers/usb/cdns3/drd.c:331:17: 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 * @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:332:17: sparse: expected void const volatile [noderef] __iomem *
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:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem * @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:339:17: sparse: expected void const volatile [noderef] __iomem *
drivers/usb/cdns3/drd.c:339: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 * @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:340:17: sparse: expected void const volatile [noderef] __iomem *
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 * @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:340:17: sparse: expected void const volatile [noderef] __iomem *
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 * @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:345:17: sparse: expected void const volatile [noderef] __iomem *
drivers/usb/cdns3/drd.c:345:17: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:368:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem * @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:368:17: sparse: expected void const volatile [noderef] __iomem *
drivers/usb/cdns3/drd.c:368:17: sparse: got restricted __le32 *
--
>> drivers/misc/xilinx_sdfec.c:735:15: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int enum xsdfec_order const *__gu_addr @@ got unsigned int enum xsdfec_order [noderef] __user * @@
drivers/misc/xilinx_sdfec.c:735:15: sparse: expected unsigned int enum xsdfec_order const *__gu_addr
>> drivers/misc/xilinx_sdfec.c:735:15: sparse: got unsigned int enum xsdfec_order [noderef] __user *
>> drivers/misc/xilinx_sdfec.c:735:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got unsigned int enum xsdfec_order const *__gu_addr @@
>> drivers/misc/xilinx_sdfec.c:735:15: sparse: expected void const volatile [noderef] __user *
drivers/misc/xilinx_sdfec.c:735:15: sparse: got unsigned int enum xsdfec_order const *__gu_addr
>> drivers/misc/xilinx_sdfec.c:760:15: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected bool const *__gu_addr @@ got bool [noderef] [usertype] __user *arg @@
drivers/misc/xilinx_sdfec.c:760:15: sparse: expected bool const *__gu_addr
>> drivers/misc/xilinx_sdfec.c:760:15: sparse: got bool [noderef] [usertype] __user *arg
>> drivers/misc/xilinx_sdfec.c:760:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got bool const *__gu_addr @@
drivers/misc/xilinx_sdfec.c:760:15: sparse: expected void const volatile [noderef] __user *
drivers/misc/xilinx_sdfec.c:760:15: sparse: got bool const *__gu_addr
--
>> security/keys/keyctl.c:1859:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *addr @@ got void [noderef] __user *__cl_addr @@
security/keys/keyctl.c:1859:21: sparse: expected void *addr
>> security/keys/keyctl.c:1859:21: sparse: got void [noderef] __user *__cl_addr
--
>> security/keys/keyctl_pkey.c:181:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *addr @@ got void [noderef] __user *__cl_addr @@
security/keys/keyctl_pkey.c:181:13: sparse: expected void *addr
>> security/keys/keyctl_pkey.c:181:13: sparse: got void [noderef] __user *__cl_addr
--
drivers/tty/tty_jobctrl.c:77:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
drivers/tty/tty_jobctrl.c:77:9: sparse: expected struct spinlock [usertype] *lock
drivers/tty/tty_jobctrl.c:77:9: sparse: got struct spinlock [noderef] __rcu *
drivers/tty/tty_jobctrl.c:80:34: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
drivers/tty/tty_jobctrl.c:80:34: sparse: expected struct spinlock [usertype] *lock
drivers/tty/tty_jobctrl.c:80:34: sparse: got struct spinlock [noderef] __rcu *
drivers/tty/tty_jobctrl.c:120:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
drivers/tty/tty_jobctrl.c:120:31: sparse: expected struct spinlock [usertype] *lock
drivers/tty/tty_jobctrl.c:120:31: sparse: got struct spinlock [noderef] __rcu *
drivers/tty/tty_jobctrl.c:122:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
drivers/tty/tty_jobctrl.c:122:33: sparse: expected struct spinlock [usertype] *lock
drivers/tty/tty_jobctrl.c:122:33: sparse: got struct spinlock [noderef] __rcu *
drivers/tty/tty_jobctrl.c:131:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
drivers/tty/tty_jobctrl.c:131:31: sparse: expected struct spinlock [usertype] *lock
drivers/tty/tty_jobctrl.c:131:31: sparse: got struct spinlock [noderef] __rcu *
drivers/tty/tty_jobctrl.c:152:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
drivers/tty/tty_jobctrl.c:152:33: sparse: expected struct spinlock [usertype] *lock
drivers/tty/tty_jobctrl.c:152:33: sparse: got struct spinlock [noderef] __rcu *
drivers/tty/tty_jobctrl.c:161:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
drivers/tty/tty_jobctrl.c:161:9: sparse: expected struct spinlock [usertype] *lock
drivers/tty/tty_jobctrl.c:161:9: sparse: got struct spinlock [noderef] __rcu *
drivers/tty/tty_jobctrl.c:163:40: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
drivers/tty/tty_jobctrl.c:163:40: sparse: expected struct spinlock [usertype] *lock
drivers/tty/tty_jobctrl.c:163:40: sparse: got struct spinlock [noderef] __rcu *
drivers/tty/tty_jobctrl.c:200:41: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
drivers/tty/tty_jobctrl.c:200:41: sparse: expected struct spinlock [usertype] *lock
drivers/tty/tty_jobctrl.c:200:41: sparse: got struct spinlock [noderef] __rcu *
drivers/tty/tty_jobctrl.c:208:51: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
drivers/tty/tty_jobctrl.c:208:51: sparse: expected struct spinlock [usertype] *lock
drivers/tty/tty_jobctrl.c:208:51: sparse: got struct spinlock [noderef] __rcu *
drivers/tty/tty_jobctrl.c:219:43: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
drivers/tty/tty_jobctrl.c:219:43: sparse: expected struct spinlock [usertype] *lock
drivers/tty/tty_jobctrl.c:219:43: sparse: got struct spinlock [noderef] __rcu *
drivers/tty/tty_jobctrl.c:281:39: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
drivers/tty/tty_jobctrl.c:281:39: sparse: expected struct spinlock [usertype] *lock
drivers/tty/tty_jobctrl.c:281:39: sparse: got struct spinlock [noderef] __rcu *
drivers/tty/tty_jobctrl.c:284:41: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
drivers/tty/tty_jobctrl.c:284:41: sparse: expected struct spinlock [usertype] *lock
drivers/tty/tty_jobctrl.c:284:41: sparse: got struct spinlock [noderef] __rcu *
drivers/tty/tty_jobctrl.c:293:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
drivers/tty/tty_jobctrl.c:293:31: sparse: expected struct spinlock [usertype] *lock
drivers/tty/tty_jobctrl.c:293:31: sparse: got struct spinlock [noderef] __rcu *
drivers/tty/tty_jobctrl.c:309:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
drivers/tty/tty_jobctrl.c:309:33: sparse: expected struct spinlock [usertype] *lock
drivers/tty/tty_jobctrl.c:309:33: sparse: got struct spinlock [noderef] __rcu *
>> drivers/tty/tty_jobctrl.c:484:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] [usertype] __user *p @@
drivers/tty/tty_jobctrl.c:484:13: sparse: expected int const *__gu_addr
>> drivers/tty/tty_jobctrl.c:484:13: sparse: got int [noderef] [usertype] __user *p
>> drivers/tty/tty_jobctrl.c:484:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got int const *__gu_addr @@
>> drivers/tty/tty_jobctrl.c:484:13: sparse: expected void const volatile [noderef] __user *
drivers/tty/tty_jobctrl.c:484:13: sparse: got int const *__gu_addr
drivers/tty/tty_jobctrl.c:18:41: sparse: sparse: dereference of noderef expression
--
>> drivers/tty/pty.c:163:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user *arg @@
drivers/tty/pty.c:163:13: sparse: expected int const *__gu_addr
>> drivers/tty/pty.c:163:13: sparse: got int [noderef] __user *arg
>> drivers/tty/pty.c:163:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got int const *__gu_addr @@
>> drivers/tty/pty.c:163:13: sparse: expected void const volatile [noderef] __user *
drivers/tty/pty.c:163:13: sparse: got int const *__gu_addr
drivers/tty/pty.c:183:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user *arg @@
drivers/tty/pty.c:183:13: sparse: expected int const *__gu_addr
drivers/tty/pty.c:183:13: sparse: got int [noderef] __user *arg
drivers/tty/pty.c:183:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got int const *__gu_addr @@
drivers/tty/pty.c:183:13: sparse: expected void const volatile [noderef] __user *
drivers/tty/pty.c:183:13: sparse: got int const *__gu_addr
--
>> drivers/tty/sysrq.c:1112:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected char const *__gu_addr @@ got char const [noderef] __user *buf @@
drivers/tty/sysrq.c:1112:21: sparse: expected char const *__gu_addr
>> drivers/tty/sysrq.c:1112:21: sparse: got char const [noderef] __user *buf
>> drivers/tty/sysrq.c:1112:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got char const *__gu_addr @@
>> drivers/tty/sysrq.c:1112:21: sparse: expected void const volatile [noderef] __user *
drivers/tty/sysrq.c:1112:21: sparse: got char const *__gu_addr
drivers/tty/sysrq.c:148:13: sparse: sparse: context imbalance in 'sysrq_handle_crash' - unexpected unlock
--
>> drivers/tty/tty_ioctl.c:842:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int const *__gu_addr @@ got unsigned int [noderef] __user * @@
drivers/tty/tty_ioctl.c:842:21: sparse: expected unsigned int const *__gu_addr
>> drivers/tty/tty_ioctl.c:842:21: sparse: got unsigned int [noderef] __user *
>> drivers/tty/tty_ioctl.c:842:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got unsigned int const *__gu_addr @@
>> drivers/tty/tty_ioctl.c:842:21: sparse: expected void const volatile [noderef] __user *
drivers/tty/tty_ioctl.c:842:21: sparse: got unsigned int const *__gu_addr
>> include/asm-generic/termios.h:25:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned short const *__gu_addr @@ got unsigned short const [noderef] __user * @@
include/asm-generic/termios.h:25:13: sparse: expected unsigned short const *__gu_addr
>> include/asm-generic/termios.h:25:13: sparse: got unsigned short const [noderef] __user *
>> include/asm-generic/termios.h:25:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got unsigned short const *__gu_addr @@
>> include/asm-generic/termios.h:25:13: sparse: expected void const volatile [noderef] __user *
include/asm-generic/termios.h:25:13: sparse: got unsigned short const *__gu_addr
include/asm-generic/termios.h:29:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned short const *__gu_addr @@ got unsigned short const [noderef] __user * @@
include/asm-generic/termios.h:29:13: sparse: expected unsigned short const *__gu_addr
include/asm-generic/termios.h:29:13: sparse: got unsigned short const [noderef] __user *
include/asm-generic/termios.h:29:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got unsigned short const *__gu_addr @@
include/asm-generic/termios.h:29:13: sparse: expected void const volatile [noderef] __user *
include/asm-generic/termios.h:29:13: sparse: got unsigned short const *__gu_addr
include/asm-generic/termios.h:33:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned short const *__gu_addr @@ got unsigned short const [noderef] __user * @@
include/asm-generic/termios.h:33:13: sparse: expected unsigned short const *__gu_addr
include/asm-generic/termios.h:33:13: sparse: got unsigned short const [noderef] __user *
include/asm-generic/termios.h:33:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got unsigned short const *__gu_addr @@
include/asm-generic/termios.h:33:13: sparse: expected void const volatile [noderef] __user *
include/asm-generic/termios.h:33:13: sparse: got unsigned short const *__gu_addr
include/asm-generic/termios.h:37:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned short const *__gu_addr @@ got unsigned short const [noderef] __user * @@
include/asm-generic/termios.h:37:13: sparse: expected unsigned short const *__gu_addr
include/asm-generic/termios.h:37:13: sparse: got unsigned short const [noderef] __user *
include/asm-generic/termios.h:37:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got unsigned short const *__gu_addr @@
include/asm-generic/termios.h:37:13: sparse: expected void const volatile [noderef] __user *
include/asm-generic/termios.h:37:13: sparse: got unsigned short const *__gu_addr
>> include/asm-generic/termios.h:41:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned char const *__gu_addr @@ got unsigned char const [noderef] __user * @@
include/asm-generic/termios.h:41:13: sparse: expected unsigned char const *__gu_addr
>> include/asm-generic/termios.h:41:13: sparse: got unsigned char const [noderef] __user *
>> include/asm-generic/termios.h:41:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got unsigned char const *__gu_addr @@
include/asm-generic/termios.h:41:13: sparse: expected void const volatile [noderef] __user *
include/asm-generic/termios.h:41:13: sparse: got unsigned char const *__gu_addr
--
>> drivers/tty/tty_io.c:2189:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected char const *__gu_addr @@ got char [noderef] __user *p @@
drivers/tty/tty_io.c:2189:13: sparse: expected char const *__gu_addr
>> drivers/tty/tty_io.c:2189:13: sparse: got char [noderef] __user *p
>> drivers/tty/tty_io.c:2189:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got char const *__gu_addr @@
>> drivers/tty/tty_io.c:2189:13: sparse: expected void const volatile [noderef] __user *
drivers/tty/tty_io.c:2189:13: sparse: got char const *__gu_addr
>> drivers/tty/tty_io.c:2330:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user *p @@
drivers/tty/tty_io.c:2330:13: sparse: expected int const *__gu_addr
>> drivers/tty/tty_io.c:2330:13: sparse: got int [noderef] __user *p
>> drivers/tty/tty_io.c:2330:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got int const *__gu_addr @@
drivers/tty/tty_io.c:2330:13: sparse: expected void const volatile [noderef] __user *
drivers/tty/tty_io.c:2330:13: sparse: got int const *__gu_addr
>> drivers/tty/tty_io.c:2448:18: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int const *__gu_addr @@ got unsigned int [noderef] __user *p @@
drivers/tty/tty_io.c:2448:18: sparse: expected unsigned int const *__gu_addr
>> drivers/tty/tty_io.c:2448:18: sparse: got unsigned int [noderef] __user *p
>> drivers/tty/tty_io.c:2448:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got unsigned int const *__gu_addr @@
drivers/tty/tty_io.c:2448:18: sparse: expected void const volatile [noderef] __user *
drivers/tty/tty_io.c:2448:18: sparse: got unsigned int const *__gu_addr
--
>> drivers/char/mem.c:163:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *addr @@ got void [noderef] __user *__cl_addr @@
drivers/char/mem.c:163:37: sparse: expected void *addr
>> drivers/char/mem.c:163:37: sparse: got void [noderef] __user *__cl_addr
--
>> drivers/char/random.c:1943:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user *p @@
drivers/char/random.c:1943:21: sparse: expected int const *__gu_addr
>> drivers/char/random.c:1943:21: sparse: got int [noderef] __user *p
>> drivers/char/random.c:1943:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got int const *__gu_addr @@
>> drivers/char/random.c:1943:21: sparse: expected void const volatile [noderef] __user *
drivers/char/random.c:1943:21: sparse: got int const *__gu_addr
>> drivers/char/random.c:1949:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user * @@
drivers/char/random.c:1949:21: sparse: expected int const *__gu_addr
>> drivers/char/random.c:1949:21: sparse: got int [noderef] __user *
drivers/char/random.c:1949:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got int const *__gu_addr @@
drivers/char/random.c:1949:21: sparse: expected void const volatile [noderef] __user *
drivers/char/random.c:1949:21: sparse: got int const *__gu_addr
drivers/char/random.c:1953:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user * @@
drivers/char/random.c:1953:21: sparse: expected int const *__gu_addr
drivers/char/random.c:1953:21: sparse: got int [noderef] __user *
drivers/char/random.c:1953:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got int const *__gu_addr @@
drivers/char/random.c:1953:21: sparse: expected void const volatile [noderef] __user *
drivers/char/random.c:1953:21: sparse: got int const *__gu_addr
--
>> drivers/gpu/drm/drm_atomic_uapi.c:1334:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int const *__gu_addr @@ got unsigned int [noderef] [usertype] __user * @@
drivers/gpu/drm/drm_atomic_uapi.c:1334:21: sparse: expected unsigned int const *__gu_addr
>> drivers/gpu/drm/drm_atomic_uapi.c:1334:21: sparse: got unsigned int [noderef] [usertype] __user *
>> drivers/gpu/drm/drm_atomic_uapi.c:1334:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got unsigned int const *__gu_addr @@
>> drivers/gpu/drm/drm_atomic_uapi.c:1334:21: sparse: expected void const volatile [noderef] __user *
drivers/gpu/drm/drm_atomic_uapi.c:1334:21: sparse: got unsigned int const *__gu_addr
drivers/gpu/drm/drm_atomic_uapi.c:1351:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int const *__gu_addr @@ got unsigned int [noderef] [usertype] __user * @@
drivers/gpu/drm/drm_atomic_uapi.c:1351:21: sparse: expected unsigned int const *__gu_addr
drivers/gpu/drm/drm_atomic_uapi.c:1351:21: sparse: got unsigned int [noderef] [usertype] __user *
drivers/gpu/drm/drm_atomic_uapi.c:1351:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got unsigned int const *__gu_addr @@
drivers/gpu/drm/drm_atomic_uapi.c:1351:21: sparse: expected void const volatile [noderef] __user *
drivers/gpu/drm/drm_atomic_uapi.c:1351:21: sparse: got unsigned int const *__gu_addr
drivers/gpu/drm/drm_atomic_uapi.c:1364:29: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int const *__gu_addr @@ got unsigned int [noderef] [usertype] __user * @@
drivers/gpu/drm/drm_atomic_uapi.c:1364:29: sparse: expected unsigned int const *__gu_addr
drivers/gpu/drm/drm_atomic_uapi.c:1364:29: sparse: got unsigned int [noderef] [usertype] __user *
drivers/gpu/drm/drm_atomic_uapi.c:1364:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got unsigned int const *__gu_addr @@
drivers/gpu/drm/drm_atomic_uapi.c:1364:29: sparse: expected void const volatile [noderef] __user *
drivers/gpu/drm/drm_atomic_uapi.c:1364:29: sparse: got unsigned int const *__gu_addr
--
>> drivers/gpu/drm/drm_crtc.c:680:29: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int const *__gu_addr @@ got unsigned int [noderef] [usertype] __user * @@
drivers/gpu/drm/drm_crtc.c:680:29: sparse: expected unsigned int const *__gu_addr
>> drivers/gpu/drm/drm_crtc.c:680:29: sparse: got unsigned int [noderef] [usertype] __user *
>> drivers/gpu/drm/drm_crtc.c:680:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got unsigned int const *__gu_addr @@
>> drivers/gpu/drm/drm_crtc.c:680:29: sparse: expected void const volatile [noderef] __user *
drivers/gpu/drm/drm_crtc.c:680:29: sparse: got unsigned int const *__gu_addr
vim +356 drivers/w1/slaves/w1_ds28e04.c
fa33a65a9cf7e2 Greg Kroah-Hartman 2013-08-21 338
fa33a65a9cf7e2 Greg Kroah-Hartman 2013-08-21 339 static ssize_t crccheck_show(struct device *dev, struct device_attribute *attr,
fa33a65a9cf7e2 Greg Kroah-Hartman 2013-08-21 340 char *buf)
fbf7f7b4e2ae40 Markus Franke 2012-05-26 341 {
fbf7f7b4e2ae40 Markus Franke 2012-05-26 @342 if (put_user(w1_enable_crccheck + 0x30, buf))
fbf7f7b4e2ae40 Markus Franke 2012-05-26 343 return -EFAULT;
fbf7f7b4e2ae40 Markus Franke 2012-05-26 344
fbf7f7b4e2ae40 Markus Franke 2012-05-26 345 return sizeof(w1_enable_crccheck);
fbf7f7b4e2ae40 Markus Franke 2012-05-26 346 }
fbf7f7b4e2ae40 Markus Franke 2012-05-26 347
fa33a65a9cf7e2 Greg Kroah-Hartman 2013-08-21 348 static ssize_t crccheck_store(struct device *dev, struct device_attribute *attr,
fbf7f7b4e2ae40 Markus Franke 2012-05-26 349 const char *buf, size_t count)
fbf7f7b4e2ae40 Markus Franke 2012-05-26 350 {
fbf7f7b4e2ae40 Markus Franke 2012-05-26 351 char val;
fbf7f7b4e2ae40 Markus Franke 2012-05-26 352
fbf7f7b4e2ae40 Markus Franke 2012-05-26 353 if (count != 1 || !buf)
fbf7f7b4e2ae40 Markus Franke 2012-05-26 354 return -EINVAL;
fbf7f7b4e2ae40 Markus Franke 2012-05-26 355
fbf7f7b4e2ae40 Markus Franke 2012-05-26 @356 if (get_user(val, buf))
fbf7f7b4e2ae40 Markus Franke 2012-05-26 357 return -EFAULT;
fbf7f7b4e2ae40 Markus Franke 2012-05-26 358
fbf7f7b4e2ae40 Markus Franke 2012-05-26 359 /* convert to decimal */
fbf7f7b4e2ae40 Markus Franke 2012-05-26 360 val = val - 0x30;
fbf7f7b4e2ae40 Markus Franke 2012-05-26 361 if (val != 0 && val != 1)
fbf7f7b4e2ae40 Markus Franke 2012-05-26 362 return -EINVAL;
fbf7f7b4e2ae40 Markus Franke 2012-05-26 363
fbf7f7b4e2ae40 Markus Franke 2012-05-26 364 /* set the new value */
fbf7f7b4e2ae40 Markus Franke 2012-05-26 365 w1_enable_crccheck = val;
fbf7f7b4e2ae40 Markus Franke 2012-05-26 366
fbf7f7b4e2ae40 Markus Franke 2012-05-26 367 return sizeof(w1_enable_crccheck);
fbf7f7b4e2ae40 Markus Franke 2012-05-26 368 }
fbf7f7b4e2ae40 Markus Franke 2012-05-26 369
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months