Re: [PATCH 2/2] nvmet: remove workarounds for gcc bug wrt unnamed fields in initializers
by kernel test robot
Hi Niklas,
I love your patch! Yet something to improve:
[auto build test ERROR on block/for-next]
[also build test ERROR on linus/master v5.8-rc1 next-20200618]
[cannot apply to hch-configfs/for-next]
[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/Niklas-Cassel/nvme-remove-workar...
base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next
config: m68k-allmodconfig (attached as .config)
compiler: m68k-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=m68k
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 arch/m68k/include/asm/io_mm.h:25,
from arch/m68k/include/asm/io.h:8,
from include/linux/scatterlist.h:9,
from include/linux/dma-mapping.h:11,
from include/linux/skbuff.h:31,
from include/net/net_namespace.h:39,
from include/linux/inet.h:42,
from drivers/nvme/target/rdma.c:17:
arch/m68k/include/asm/raw_io.h: In function 'raw_rom_outsb':
arch/m68k/include/asm/raw_io.h:83:7: warning: variable '__w' set but not used [-Wunused-but-set-variable]
83 | ({u8 __w, __v = (b); u32 _addr = ((u32) (addr)); \
| ^~~
arch/m68k/include/asm/raw_io.h:430:3: note: in expansion of macro 'rom_out_8'
430 | rom_out_8(port, *buf++);
| ^~~~~~~~~
arch/m68k/include/asm/raw_io.h: In function 'raw_rom_outsw':
arch/m68k/include/asm/raw_io.h:86:8: warning: variable '__w' set but not used [-Wunused-but-set-variable]
86 | ({u16 __w, __v = (w); u32 _addr = ((u32) (addr)); \
| ^~~
arch/m68k/include/asm/raw_io.h:448:3: note: in expansion of macro 'rom_out_be16'
448 | rom_out_be16(port, *buf++);
| ^~~~~~~~~~~~
arch/m68k/include/asm/raw_io.h: In function 'raw_rom_outsw_swapw':
arch/m68k/include/asm/raw_io.h:90:8: warning: variable '__w' set but not used [-Wunused-but-set-variable]
90 | ({u16 __w, __v = (w); u32 _addr = ((u32) (addr)); \
| ^~~
arch/m68k/include/asm/raw_io.h:466:3: note: in expansion of macro 'rom_out_le16'
466 | rom_out_le16(port, *buf++);
| ^~~~~~~~~~~~
In file included from include/linux/kernel.h:11,
from include/linux/list.h:9,
from include/linux/preempt.h:11,
from arch/m68k/include/asm/irqflags.h:6,
from include/linux/irqflags.h:16,
from arch/m68k/include/asm/atomic.h:6,
from include/linux/atomic.h:7,
from drivers/nvme/target/rdma.c:7:
include/linux/scatterlist.h: In function 'sg_set_buf':
arch/m68k/include/asm/page_mm.h:169:49: warning: ordered comparison of pointer with null pointer [-Wextra]
169 | #define virt_addr_valid(kaddr) ((void *)(kaddr) >= (void *)PAGE_OFFSET && (void *)(kaddr) < high_memory)
| ^~
include/linux/compiler.h:78:42: note: in definition of macro 'unlikely'
78 | # define unlikely(x) __builtin_expect(!!(x), 0)
| ^
include/linux/scatterlist.h:143:2: note: in expansion of macro 'BUG_ON'
143 | BUG_ON(!virt_addr_valid(buf));
| ^~~~~~
include/linux/scatterlist.h:143:10: note: in expansion of macro 'virt_addr_valid'
143 | BUG_ON(!virt_addr_valid(buf));
| ^~~~~~~~~~~~~~~
In file included from arch/m68k/include/asm/bug.h:32,
from include/linux/bug.h:5,
from include/linux/thread_info.h:12,
from include/asm-generic/preempt.h:5,
from ./arch/m68k/include/generated/asm/preempt.h:1,
from include/linux/preempt.h:78,
from arch/m68k/include/asm/irqflags.h:6,
from include/linux/irqflags.h:16,
from arch/m68k/include/asm/atomic.h:6,
from include/linux/atomic.h:7,
from drivers/nvme/target/rdma.c:7:
include/linux/dma-mapping.h: In function 'dma_map_resource':
arch/m68k/include/asm/page_mm.h:169:49: warning: ordered comparison of pointer with null pointer [-Wextra]
169 | #define virt_addr_valid(kaddr) ((void *)(kaddr) >= (void *)PAGE_OFFSET && (void *)(kaddr) < high_memory)
| ^~
include/asm-generic/bug.h:144:27: note: in definition of macro 'WARN_ON_ONCE'
144 | int __ret_warn_once = !!(condition); \
| ^~~~~~~~~
arch/m68k/include/asm/page_mm.h:170:25: note: in expansion of macro 'virt_addr_valid'
170 | #define pfn_valid(pfn) virt_addr_valid(pfn_to_virt(pfn))
| ^~~~~~~~~~~~~~~
include/linux/dma-mapping.h:352:19: note: in expansion of macro 'pfn_valid'
352 | if (WARN_ON_ONCE(pfn_valid(PHYS_PFN(phys_addr))))
| ^~~~~~~~~
drivers/nvme/target/rdma.c: In function 'nvmet_rdma_cm_accept':
>> drivers/nvme/target/rdma.c:1543:20: error: 'priv' undeclared (first use in this function)
1543 | .private_data = &priv,
| ^~~~
drivers/nvme/target/rdma.c:1543:20: note: each undeclared identifier is reported only once for each function it appears in
drivers/nvme/target/rdma.c:1546:26: warning: unused variable 'priv' [-Wunused-variable]
1546 | struct nvme_rdma_cm_rep priv = {
| ^~~~
vim +/priv +1543 drivers/nvme/target/rdma.c
1533
1534 static int nvmet_rdma_cm_accept(struct rdma_cm_id *cm_id,
1535 struct nvmet_rdma_queue *queue,
1536 struct rdma_conn_param *p)
1537 {
1538 struct rdma_conn_param param = {
1539 .rnr_retry_count = 7,
1540 .flow_control = 1,
1541 .initiator_depth = min_t(u8, p->initiator_depth,
1542 queue->dev->device->attrs.max_qp_init_rd_atom),
> 1543 .private_data = &priv,
1544 .private_data_len = sizeof(priv),
1545 };
1546 struct nvme_rdma_cm_rep priv = {
1547 .recfmt = cpu_to_le16(NVME_RDMA_CM_FMT_1_0),
1548 .crqsize = cpu_to_le16(queue->recv_queue_size),
1549 };
1550 int ret = -ENOMEM;
1551
1552 ret = rdma_accept(cm_id, ¶m);
1553 if (ret)
1554 pr_err("rdma_accept failed (error code = %d)\n", ret);
1555
1556 return ret;
1557 }
1558
---
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 v3 3/3] printk: use the lockless ringbuffer
by kernel test robot
Hi John,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on linux/master]
[also build test WARNING on linus/master v5.8-rc1 next-20200618]
[cannot apply to pmladek/for-next]
[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/John-Ogness/printk-replace-ringb...
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 1b5044021070efa3259f3e9548dc35d1eb6aa844
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>
sparse warnings: (new ones prefixed by >>)
kernel/printk/printk.c:397:1: sparse: sparse: symbol 'log_wait' was not declared. Should it be static?
>> kernel/printk/printk.c:437:1: sparse: sparse: symbol '_printk_rb_static_dict' was not declared. Should it be static?
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
[alexshi:nextlru 14/18] include/linux/list.h:146:25: sparse: sparse: context imbalance in 'isolate_lru_page' - unexpected unlock
by kernel test robot
tree: https://github.com/alexshi/linux.git nextlru
head: 5a7673375c6d1a45a21feda414444b3dace74d15
commit: 20cd23a39b489c5123a1d26ef6645a12b6e38c91 [14/18] mm/lru: replace pgdat lru_lock with lruvec lock
config: alpha-randconfig-s032-20200618 (attached as .config)
compiler: alpha-linux-gcc (GCC) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.2-rc1-10-gc17b1b06-dirty
git checkout 20cd23a39b489c5123a1d26ef6645a12b6e38c91
# save the attached .config to linux build tree
make W=1 C=1 ARCH=alpha 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 >>)
>> include/linux/list.h:146:25: sparse: sparse: context imbalance in 'isolate_lru_page' - unexpected unlock
include/linux/spinlock.h:211:25: sparse: sparse: context imbalance in 'move_pages_to_lru' - unexpected unlock
include/linux/spinlock.h:211:25: sparse: sparse: context imbalance in 'check_move_unevictable_pages' - unexpected unlock
--
include/linux/list.h:146:25: sparse: sparse: context imbalance in 'munlock_vma_page' - unexpected unlock
>> include/linux/spinlock.h:211:25: sparse: sparse: context imbalance in '__munlock_pagevec' - unexpected unlock
include/linux/mm.h:1973:21: sparse: sparse: context imbalance in '__munlock_pagevec_fill' - different lock contexts for basic block
vim +/isolate_lru_page +146 include/linux/list.h
3c18d4de86e4a7 Linus Torvalds 2011-02-18 137
46deb7449d99f3 Paul E. McKenney 2019-11-09 138 /**
46deb7449d99f3 Paul E. McKenney 2019-11-09 139 * list_del - deletes entry from list.
46deb7449d99f3 Paul E. McKenney 2019-11-09 140 * @entry: the element to delete from the list.
46deb7449d99f3 Paul E. McKenney 2019-11-09 141 * Note: list_empty() on entry does not return true after this, the entry is
46deb7449d99f3 Paul E. McKenney 2019-11-09 142 * in an undefined state.
46deb7449d99f3 Paul E. McKenney 2019-11-09 143 */
^1da177e4c3f41 Linus Torvalds 2005-04-16 144 static inline void list_del(struct list_head *entry)
^1da177e4c3f41 Linus Torvalds 2005-04-16 145 {
0cd340dcb05c4a Kees Cook 2016-08-17 @146 __list_del_entry(entry);
^1da177e4c3f41 Linus Torvalds 2005-04-16 147 entry->next = LIST_POISON1;
^1da177e4c3f41 Linus Torvalds 2005-04-16 148 entry->prev = LIST_POISON2;
^1da177e4c3f41 Linus Torvalds 2005-04-16 149 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 150
:::::: The code at line 146 was first introduced by commit
:::::: 0cd340dcb05c4a43742fe156f36737bb2a321bfd list: Split list_del() debug checking into separate function
:::::: TO: Kees Cook <keescook(a)chromium.org>
:::::: CC: Paul E. McKenney <paulmck(a)linux.vnet.ibm.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months
Re: [EXTERNAL] fs/cifs/transport.c:1284:2-8: preceding lock on line 1277 (fwd)
by Julia Lawall
On Thu, 18 Jun 2020, Steven French wrote:
> Wasn't this fixed last year by:
It looks like it. I received the message today from kbuild, but I didn't
look further than that. Perhaps it is an old tree somehow.
julia
>
> commit 8bd3754cff3aa6e80e73cb56042cdc6f76d6510e
> Author: Dan Carpenter <dan.carpenter(a)oracle.com>
> Date: Fri Oct 25 13:35:08 2019 +0300
>
> cifs: rename a variable in SendReceive()
>
> Smatch gets confused because we sometimes refer to "server->srv_mutex"
> and
> sometimes to "sess->server->srv_mutex". They refer to the same lock so
> let's just make this consistent.
>
> Signed-off-by: Dan Carpenter <dan.carpenter(a)oracle.com>
> Signed-off-by: Steve French <stfrench(a)microsoft.com>
>
> diff --git a/fs/cifs/transport.c b/fs/cifs/transport.c
> index ca3de62688d6..f27842fb9f75 100644
> --- a/fs/cifs/transport.c
> +++ b/fs/cifs/transport.c
> @@ -1287,7 +1287,7 @@ SendReceive(const unsigned int xid, struct cifs_ses
> *ses,
>
> rc = allocate_mid(ses, in_buf, &midQ);
> if (rc) {
> - mutex_unlock(&ses->server->srv_mutex);
> + mutex_unlock(&server->srv_mutex);
> /* Update # of requests on wire to server */
> add_credits(server, &credits, 0);
> return rc;
>
> ____________________________________________________________________________
> From: Julia Lawall <julia.lawall(a)inria.fr>
> Sent: Thursday, June 18, 2020 10:08 AM
> To: Ronnie Sahlberg <lsahlber(a)redhat.com>
> Cc: Steven French <Steven.French(a)microsoft.com>;
> linux-kernel(a)vger.kernel.org <linux-kernel(a)vger.kernel.org>;
> kbuild-all(a)lists.01.org <kbuild-all(a)lists.01.org>
> Subject: [EXTERNAL] fs/cifs/transport.c:1284:2-8: preceding lock on line
> 1277 (fwd)
> Hello,
>
> This is not actually a bug. But for both tools and humans, it might be
> better to refer to the lock on line 1281 in the same way that it is
> referred to on line 1277.
>
> julia
>
> ---------- Forwarded message ----------
> Date: Thu, 18 Jun 2020 08:07:12 +0800
> From: kernel test robot <lkp(a)intel.com>
> To: kbuild(a)lists.01.org
> Cc: lkp(a)intel.com, Julia Lawall <julia.lawall(a)lip6.fr>
> Subject: fs/cifs/transport.c:1284:2-8: preceding lock on line 1277
>
> CC: kbuild-all(a)lists.01.org
> CC: linux-kernel(a)vger.kernel.org
> TO: Ronnie Sahlberg <lsahlber(a)redhat.com>
> CC: Steve French <stfrench(a)microsoft.com>
>
> tree: https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2F...
> l.org%2Fpub%2Fscm%2Flinux%2Fkernel%2Fgit%2Ftorvalds%2Flinux.git&data=0
> 2%7C01%7CSteven.French%40microsoft.com%7C206f157b15804da9dad408d81399862d%
> 7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637280897690591644&sdata=
> rglSnjoPRmT8g0Fj9k2jeCz11jZmXeUmB8W5vnD3LO4%3D&reserved=0 master
> head: 1b5044021070efa3259f3e9548dc35d1eb6aa844
> commit: afe6f65353b644f55875d42d812ffe87f1887d68 cifs: add new debugging
> macro cifs_server_dbg
> date: 9 months ago
> :::::: branch date: 6 hours ago
> :::::: commit date: 9 months ago
> config: xtensa-randconfig-c024-20200617 (attached as .config)
> compiler: xtensa-linux-gcc (GCC) 9.3.0
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp(a)intel.com>
> Reported-by: Julia Lawall <julia.lawall(a)lip6.fr>
>
>
> coccinelle warnings: (new ones prefixed by >>)
>
> >> fs/cifs/transport.c:1284:2-8: preceding lock on line 1277
>
> #https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit.kerne
> l.org%2Fpub%2Fscm%2Flinux%2Fkernel%2Fgit%2Ftorvalds%2Flinux.git%2Fcommit%2
> F%3Fid%3Dafe6f65353b644f55875d42d812ffe87f1887d68&data=02%7C01%7CSteve
> n.French%40microsoft.com%7C206f157b15804da9dad408d81399862d%7C72f988bf86f1
> 41af91ab2d7cd011db47%7C1%7C0%7C637280897690591644&sdata=AeeIaHJgLjCns9
> aksXdMxnYone5UZVM3n2DREKL6N6c%3D&reserved=0
> git remote add linushttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgi...
> l.org%2Fpub%2Fscm%2Flinux%2Fkernel%2Fgit%2Ftorvalds%2Flinux.git&data=0
> 2%7C01%7CSteven.French%40microsoft.com%7C206f157b15804da9dad408d81399862d%
> 7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637280897690601647&sdata=
> K6zcUzaXsw9IkszPgZX66llW8857a9ApKU9e2Z9rDFY%3D&reserved=0
> git remote update linus
> git checkout afe6f65353b644f55875d42d812ffe87f1887d68
> vim +1284 fs/cifs/transport.c
>
> 738f9de5cdb917 Pavel Shilovsky 2016-11-23 1233
> ^1da177e4c3f41 Linus Torvalds 2005-04-16 1234 int
> 96daf2b09178d8 Steve French 2011-05-27 1235 SendReceive(const unsigned
> int xid, struct cifs_ses *ses,
> ^1da177e4c3f41 Linus Torvalds 2005-04-16 1236 struct smb_hdr
> *in_buf, struct smb_hdr *out_buf,
> 480b1cb9dad894 Ronnie Sahlberg 2019-03-08 1237 int
> *pbytes_returned, const int flags)
> ^1da177e4c3f41 Linus Torvalds 2005-04-16 1238 {
> ^1da177e4c3f41 Linus Torvalds 2005-04-16 1239 int rc = 0;
> ^1da177e4c3f41 Linus Torvalds 2005-04-16 1240 struct mid_q_entry
> *midQ;
> fb2036d817584d Pavel Shilovsky 2016-11-23 1241 unsigned int len =
> be32_to_cpu(in_buf->smb_buf_length);
> fb2036d817584d Pavel Shilovsky 2016-11-23 1242 struct kvec iov = {
> .iov_base = in_buf, .iov_len = len };
> fb2036d817584d Pavel Shilovsky 2016-11-23 1243 struct smb_rqst
> rqst = { .rq_iov = &iov, .rq_nvec = 1 };
> 34f4deb7c56c6f Pavel Shilovsky 2019-01-16 1244 struct cifs_credits
> credits = { .value = 1, .instance = 0 };
> afe6f65353b644 Ronnie Sahlberg 2019-08-28 1245 struct
> TCP_Server_Info *server = ses->server;
> ^1da177e4c3f41 Linus Torvalds 2005-04-16 1246
> ^1da177e4c3f41 Linus Torvalds 2005-04-16 1247 if (ses == NULL) {
> f96637be081141 Joe Perches 2013-05-04 1248
> cifs_dbg(VFS, "Null smb session\n");
> ^1da177e4c3f41 Linus Torvalds 2005-04-16 1249 return
> -EIO;
> ^1da177e4c3f41 Linus Torvalds 2005-04-16 1250 }
> afe6f65353b644 Ronnie Sahlberg 2019-08-28 1251 if (server == NULL)
> {
> f96637be081141 Joe Perches 2013-05-04 1252
> cifs_dbg(VFS, "Null tcp session\n");
> ^1da177e4c3f41 Linus Torvalds 2005-04-16 1253 return
> -EIO;
> ^1da177e4c3f41 Linus Torvalds 2005-04-16 1254 }
> ^1da177e4c3f41 Linus Torvalds 2005-04-16 1255
> afe6f65353b644 Ronnie Sahlberg 2019-08-28 1256 if
> (server->tcpStatus == CifsExiting)
> 31ca3bc3c569f9 Steve French 2005-04-28 1257 return
> -ENOENT;
> 31ca3bc3c569f9 Steve French 2005-04-28 1258
> ^1da177e4c3f41 Linus Torvalds 2005-04-16 1259 /* Ensure that we
> do not send more than 50 overlapping requests
> ^1da177e4c3f41 Linus Torvalds 2005-04-16 1260 to the same
> server. We may make this configurable later or
> ^1da177e4c3f41 Linus Torvalds 2005-04-16 1261 use ses->maxReq
> */
> ^1da177e4c3f41 Linus Torvalds 2005-04-16 1262
> fb2036d817584d Pavel Shilovsky 2016-11-23 1263 if (len >
> CIFSMaxBufSize + MAX_CIFS_HDR_SIZE - 4) {
> afe6f65353b644 Ronnie Sahlberg 2019-08-28 1264
> cifs_server_dbg(VFS, "Illegal length, greater than maximum frame, %d\n",
> fb2036d817584d Pavel Shilovsky 2016-11-23 1265
> len);
> 6d9c6d543165d1 Volker Lendecke 2008-12-08 1266 return
> -EIO;
> 6d9c6d543165d1 Volker Lendecke 2008-12-08 1267 }
> 6d9c6d543165d1 Volker Lendecke 2008-12-08 1268
> afe6f65353b644 Ronnie Sahlberg 2019-08-28 1269 rc =
> wait_for_free_request(server, flags, &credits.instance);
> 7ee1af765dfa31 Jeremy Allison 2006-08-02 1270 if (rc)
> 7ee1af765dfa31 Jeremy Allison 2006-08-02 1271 return rc;
> ^1da177e4c3f41 Linus Torvalds 2005-04-16 1272
> ^1da177e4c3f41 Linus Torvalds 2005-04-16 1273 /* make sure that
> we sign in the same order that we send on this socket
> ^1da177e4c3f41 Linus Torvalds 2005-04-16 1274 and avoid races
> inside tcp sendmsg code that could cause corruption
> ^1da177e4c3f41 Linus Torvalds 2005-04-16 1275 of smb data */
> ^1da177e4c3f41 Linus Torvalds 2005-04-16 1276
> afe6f65353b644 Ronnie Sahlberg 2019-08-28 @1277
> mutex_lock(&server->srv_mutex);
> ^1da177e4c3f41 Linus Torvalds 2005-04-16 1278
> 7ee1af765dfa31 Jeremy Allison 2006-08-02 1279 rc =
> allocate_mid(ses, in_buf, &midQ);
> 7ee1af765dfa31 Jeremy Allison 2006-08-02 1280 if (rc) {
> 72ca545b2d83ac Jeff Layton 2008-12-01 1281
> mutex_unlock(&ses->server->srv_mutex);
> 7ee1af765dfa31 Jeremy Allison 2006-08-02 1282 /* Update #
> of requests on wire to server */
> afe6f65353b644 Ronnie Sahlberg 2019-08-28 1283
> add_credits(server, &credits, 0);
> 7ee1af765dfa31 Jeremy Allison 2006-08-02 @1284 return rc;
> ^1da177e4c3f41 Linus Torvalds 2005-04-16 1285 }
> ^1da177e4c3f41 Linus Torvalds 2005-04-16 1286
> afe6f65353b644 Ronnie Sahlberg 2019-08-28 1287 rc =
> cifs_sign_smb(in_buf, server, &midQ->sequence_number);
> 829049cbb1d2dd Volker Lendecke 2008-12-06 1288 if (rc) {
> afe6f65353b644 Ronnie Sahlberg 2019-08-28 1289
> mutex_unlock(&server->srv_mutex);
> 829049cbb1d2dd Volker Lendecke 2008-12-06 1290 goto out;
> 829049cbb1d2dd Volker Lendecke 2008-12-06 1291 }
> ^1da177e4c3f41 Linus Torvalds 2005-04-16 1292
> 7c9421e1a9ce8d Pavel Shilovsky 2012-03-23 1293 midQ->mid_state =
> MID_REQUEST_SUBMITTED;
> 789e66612367f9 Steve French 2011-08-09 1294
> afe6f65353b644 Ronnie Sahlberg 2019-08-28 1295
> cifs_in_send_inc(server);
> afe6f65353b644 Ronnie Sahlberg 2019-08-28 1296 rc =
> smb_send(server, in_buf, len);
> afe6f65353b644 Ronnie Sahlberg 2019-08-28 1297
> cifs_in_send_dec(server);
> 789e66612367f9 Steve French 2011-08-09 1298
> cifs_save_when_sent(midQ);
> ad313cb86dfba2 Jeff Layton 2013-04-03 1299
> ad313cb86dfba2 Jeff Layton 2013-04-03 1300 if (rc < 0)
> afe6f65353b644 Ronnie Sahlberg 2019-08-28 1301
> server->sequence_number -= 2;
> ad313cb86dfba2 Jeff Layton 2013-04-03 1302
> afe6f65353b644 Ronnie Sahlberg 2019-08-28 1303
> mutex_unlock(&server->srv_mutex);
> 7ee1af765dfa31 Jeremy Allison 2006-08-02 1304
> 7ee1af765dfa31 Jeremy Allison 2006-08-02 1305 if (rc < 0)
> 7ee1af765dfa31 Jeremy Allison 2006-08-02 1306 goto out;
> 7ee1af765dfa31 Jeremy Allison 2006-08-02 1307
> afe6f65353b644 Ronnie Sahlberg 2019-08-28 1308 rc =
> wait_for_response(server, midQ);
> 1be912dde772b7 Jeff Layton 2011-01-28 1309 if (rc != 0) {
> afe6f65353b644 Ronnie Sahlberg 2019-08-28 1310
> send_cancel(server, &rqst, midQ);
> 1be912dde772b7 Jeff Layton 2011-01-28 1311
> spin_lock(&GlobalMid_Lock);
> 7c9421e1a9ce8d Pavel Shilovsky 2012-03-23 1312 if
> (midQ->mid_state == MID_REQUEST_SUBMITTED) {
> 1be912dde772b7 Jeff Layton 2011-01-28 1313 /*
> no longer considered to be "in-flight" */
> 1be912dde772b7 Jeff Layton 2011-01-28 1314
> midQ->callback = DeleteMidQEntry;
> 1be912dde772b7 Jeff Layton 2011-01-28 1315
> spin_unlock(&GlobalMid_Lock);
> afe6f65353b644 Ronnie Sahlberg 2019-08-28 1316
> add_credits(server, &credits, 0);
> 1be912dde772b7 Jeff Layton 2011-01-28 1317
> return rc;
> 1be912dde772b7 Jeff Layton 2011-01-28 1318 }
> 1be912dde772b7 Jeff Layton 2011-01-28 1319
> spin_unlock(&GlobalMid_Lock);
> 1be912dde772b7 Jeff Layton 2011-01-28 1320 }
> 14a441a2b4ee1d Steve French 2006-07-16 1321
> afe6f65353b644 Ronnie Sahlberg 2019-08-28 1322 rc =
> cifs_sync_mid_result(midQ, server);
> 053d50344568e5 Jeff Layton 2011-01-11 1323 if (rc != 0) {
> afe6f65353b644 Ronnie Sahlberg 2019-08-28 1324
> add_credits(server, &credits, 0);
> 7ee1af765dfa31 Jeremy Allison 2006-08-02 1325 return rc;
> 7ee1af765dfa31 Jeremy Allison 2006-08-02 1326 }
> 7ee1af765dfa31 Jeremy Allison 2006-08-02 1327
> 2c8f981d93f830 Jeff Layton 2011-05-19 1328 if (!midQ->resp_buf
> || !out_buf ||
> 7c9421e1a9ce8d Pavel Shilovsky 2012-03-23 1329 midQ->mid_state
> != MID_RESPONSE_RECEIVED) {
> 7ee1af765dfa31 Jeremy Allison 2006-08-02 1330 rc = -EIO;
> afe6f65353b644 Ronnie Sahlberg 2019-08-28 1331
> cifs_server_dbg(VFS, "Bad MID state?\n");
> 2c8f981d93f830 Jeff Layton 2011-05-19 1332 goto out;
> 7ee1af765dfa31 Jeremy Allison 2006-08-02 1333 }
> 7ee1af765dfa31 Jeremy Allison 2006-08-02 1334
> d4e4854fd1c85a Pavel Shilovsky 2012-03-23 1335 *pbytes_returned =
> get_rfc1002_length(midQ->resp_buf);
> 2c8f981d93f830 Jeff Layton 2011-05-19 1336 memcpy(out_buf,
> midQ->resp_buf, *pbytes_returned + 4);
> afe6f65353b644 Ronnie Sahlberg 2019-08-28 1337 rc =
> cifs_check_receive(midQ, server, 0);
> 7ee1af765dfa31 Jeremy Allison 2006-08-02 1338 out:
> 3c1bf7e48e9e46 Pavel Shilovsky 2012-09-18 1339
> cifs_delete_mid(midQ);
> afe6f65353b644 Ronnie Sahlberg 2019-08-28 1340 add_credits(server,
> &credits, 0);
> 7ee1af765dfa31 Jeremy Allison 2006-08-02 1341
> 7ee1af765dfa31 Jeremy Allison 2006-08-02 1342 return rc;
> 7ee1af765dfa31 Jeremy Allison 2006-08-02 1343 }
> 7ee1af765dfa31 Jeremy Allison 2006-08-02 1344
>
> :::::: The code at line 1284 was first introduced by commit
> :::::: 7ee1af765dfa3146aef958258003245e082284e5 [CIFS]
>
> :::::: TO: Jeremy Allison <jra(a)samba.com>
> :::::: CC: Steve French <sfrench(a)us.ibm.com>
>
> ---
> 0-DAY CI Kernel Test Service, Intel Corporation
> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.01.
> org%2Fhyperkitty%2Flist%2Fkbuild-all%40lists.01.org&data=02%7C01%7CSte
> ven.French%40microsoft.com%7C206f157b15804da9dad408d81399862d%7C72f988bf86
> f141af91ab2d7cd011db47%7C1%7C0%7C637280897690601647&sdata=8ooAqMhFsu0W
> PNZHTqniPgiydgShTnlvnHtQMieY3Ao%3D&reserved=0
>
>
2 years, 3 months
Re: [RFC PATCH 02/21] mm: Allow DMA mapping of pages which are not online
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: i386-tinyconfig (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 >>):
In file included from arch/x86/include/asm/bug.h:86,
from include/linux/bug.h:5,
from include/linux/thread_info.h:12,
from arch/x86/include/asm/preempt.h:7,
from include/linux/preempt.h:78,
from include/linux/spinlock.h:51,
from include/linux/seqlock.h:36,
from include/linux/time.h:6,
from include/linux/stat.h:19,
from include/linux/module.h:13,
from init/do_mounts.c:2:
include/linux/dma-mapping.h: In function 'dma_map_resource':
>> include/linux/dma-mapping.h:352:19: error: implicit declaration of function 'pfn_online'; did you mean 'cpu_online'? [-Werror=implicit-function-declaration]
352 | if (WARN_ON_ONCE(pfn_online(PHYS_PFN(phys_addr))))
| ^~~~~~~~~~
include/asm-generic/bug.h:187:25: note: in definition of macro 'WARN_ON'
187 | int __ret_warn_on = !!(condition); \
| ^~~~~~~~~
include/linux/dma-mapping.h:352:6: note: in expansion of macro 'WARN_ON_ONCE'
352 | if (WARN_ON_ONCE(pfn_online(PHYS_PFN(phys_addr))))
| ^~~~~~~~~~~~
cc1: some warnings being treated as errors
--
In file included from arch/x86/include/asm/bug.h:86,
from include/linux/bug.h:5,
from include/linux/mmdebug.h:5,
from include/linux/mm.h:9,
from kernel/exit.c:8:
include/linux/dma-mapping.h: In function 'dma_map_resource':
>> include/linux/dma-mapping.h:352:19: error: implicit declaration of function 'pfn_online'; did you mean 'cpu_online'? [-Werror=implicit-function-declaration]
352 | if (WARN_ON_ONCE(pfn_online(PHYS_PFN(phys_addr))))
| ^~~~~~~~~~
include/asm-generic/bug.h:187:25: note: in definition of macro 'WARN_ON'
187 | int __ret_warn_on = !!(condition); \
| ^~~~~~~~~
include/linux/dma-mapping.h:352:6: note: in expansion of macro 'WARN_ON_ONCE'
352 | if (WARN_ON_ONCE(pfn_online(PHYS_PFN(phys_addr))))
| ^~~~~~~~~~~~
kernel/exit.c: At top level:
kernel/exit.c:1714:13: warning: no previous prototype for 'abort' [-Wmissing-prototypes]
1714 | __weak void abort(void)
| ^~~~~
cc1: some warnings being treated as errors
--
In file included from arch/x86/include/asm/bug.h:86,
from include/linux/bug.h:5,
from include/linux/jump_label.h:250,
from include/linux/static_key.h:1,
from arch/x86/include/asm/nospec-branch.h:6,
from arch/x86/include/asm/irqflags.h:9,
from include/linux/irqflags.h:16,
from include/linux/rcupdate.h:26,
from include/linux/rculist.h:11,
from include/linux/pid.h:5,
from include/linux/sched.h:14,
from kernel/sched/sched.h:5,
from kernel/sched/core.c:9:
include/linux/dma-mapping.h: In function 'dma_map_resource':
>> include/linux/dma-mapping.h:352:19: error: implicit declaration of function 'pfn_online'; did you mean 'cpu_online'? [-Werror=implicit-function-declaration]
352 | if (WARN_ON_ONCE(pfn_online(PHYS_PFN(phys_addr))))
| ^~~~~~~~~~
include/asm-generic/bug.h:187:25: note: in definition of macro 'WARN_ON'
187 | int __ret_warn_on = !!(condition); \
| ^~~~~~~~~
include/linux/dma-mapping.h:352:6: note: in expansion of macro 'WARN_ON_ONCE'
352 | if (WARN_ON_ONCE(pfn_online(PHYS_PFN(phys_addr))))
| ^~~~~~~~~~~~
kernel/sched/core.c: In function 'ttwu_stat':
kernel/sched/core.c:2160:13: warning: variable 'rq' set but not used [-Wunused-but-set-variable]
2160 | struct rq *rq;
| ^~
cc1: some warnings being treated as errors
--
In file included from arch/x86/include/asm/bug.h:86,
from include/linux/bug.h:5,
from include/linux/jump_label.h:250,
from include/linux/static_key.h:1,
from arch/x86/include/asm/nospec-branch.h:6,
from arch/x86/include/asm/irqflags.h:9,
from include/linux/irqflags.h:16,
from include/linux/rcupdate.h:26,
from include/linux/rculist.h:11,
from include/linux/pid.h:5,
from include/linux/sched.h:14,
from kernel/sched/sched.h:5,
from kernel/sched/fair.c:23:
include/linux/dma-mapping.h: In function 'dma_map_resource':
>> include/linux/dma-mapping.h:352:19: error: implicit declaration of function 'pfn_online'; did you mean 'cpu_online'? [-Werror=implicit-function-declaration]
352 | if (WARN_ON_ONCE(pfn_online(PHYS_PFN(phys_addr))))
| ^~~~~~~~~~
include/asm-generic/bug.h:187:25: note: in definition of macro 'WARN_ON'
187 | int __ret_warn_on = !!(condition); \
| ^~~~~~~~~
include/linux/dma-mapping.h:352:6: note: in expansion of macro 'WARN_ON_ONCE'
352 | if (WARN_ON_ONCE(pfn_online(PHYS_PFN(phys_addr))))
| ^~~~~~~~~~~~
kernel/sched/fair.c: At top level:
kernel/sched/fair.c:5352:6: warning: no previous prototype for 'init_cfs_bandwidth' [-Wmissing-prototypes]
5352 | void init_cfs_bandwidth(struct cfs_bandwidth *cfs_b) {}
| ^~~~~~~~~~~~~~~~~~
kernel/sched/fair.c:11078:6: warning: no previous prototype for 'free_fair_sched_group' [-Wmissing-prototypes]
11078 | void free_fair_sched_group(struct task_group *tg) { }
| ^~~~~~~~~~~~~~~~~~~~~
kernel/sched/fair.c:11080:5: warning: no previous prototype for 'alloc_fair_sched_group' [-Wmissing-prototypes]
11080 | int alloc_fair_sched_group(struct task_group *tg, struct task_group *parent)
| ^~~~~~~~~~~~~~~~~~~~~~
kernel/sched/fair.c:11085:6: warning: no previous prototype for 'online_fair_sched_group' [-Wmissing-prototypes]
11085 | void online_fair_sched_group(struct task_group *tg) { }
| ^~~~~~~~~~~~~~~~~~~~~~~
kernel/sched/fair.c:11087:6: warning: no previous prototype for 'unregister_fair_sched_group' [-Wmissing-prototypes]
11087 | void unregister_fair_sched_group(struct task_group *tg) { }
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
--
In file included from arch/x86/include/asm/bug.h:86,
from include/linux/bug.h:5,
from include/linux/jump_label.h:250,
from include/linux/static_key.h:1,
from arch/x86/include/asm/nospec-branch.h:6,
from arch/x86/include/asm/irqflags.h:9,
from include/linux/irqflags.h:16,
from include/linux/rcupdate.h:26,
from include/linux/rculist.h:11,
from include/linux/pid.h:5,
from include/linux/sched.h:14,
from kernel/sched/sched.h:5,
from kernel/sched/rt.c:6:
include/linux/dma-mapping.h: In function 'dma_map_resource':
>> include/linux/dma-mapping.h:352:19: error: implicit declaration of function 'pfn_online'; did you mean 'cpu_online'? [-Werror=implicit-function-declaration]
352 | if (WARN_ON_ONCE(pfn_online(PHYS_PFN(phys_addr))))
| ^~~~~~~~~~
include/asm-generic/bug.h:187:25: note: in definition of macro 'WARN_ON'
187 | int __ret_warn_on = !!(condition); \
| ^~~~~~~~~
include/linux/dma-mapping.h:352:6: note: in expansion of macro 'WARN_ON_ONCE'
352 | if (WARN_ON_ONCE(pfn_online(PHYS_PFN(phys_addr))))
| ^~~~~~~~~~~~
kernel/sched/rt.c: At top level:
kernel/sched/rt.c:253:6: warning: no previous prototype for 'free_rt_sched_group' [-Wmissing-prototypes]
253 | void free_rt_sched_group(struct task_group *tg) { }
| ^~~~~~~~~~~~~~~~~~~
kernel/sched/rt.c:255:5: warning: no previous prototype for 'alloc_rt_sched_group' [-Wmissing-prototypes]
255 | int alloc_rt_sched_group(struct task_group *tg, struct task_group *parent)
| ^~~~~~~~~~~~~~~~~~~~
kernel/sched/rt.c:668:6: warning: no previous prototype for 'sched_rt_bandwidth_account' [-Wmissing-prototypes]
668 | bool sched_rt_bandwidth_account(struct rt_rq *rt_rq)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
--
In file included from arch/x86/include/asm/bug.h:86,
from include/linux/bug.h:5,
from include/linux/thread_info.h:12,
from arch/x86/include/asm/preempt.h:7,
from include/linux/preempt.h:78,
from include/linux/spinlock.h:51,
from include/linux/wait.h:9,
from include/linux/wait_bit.h:8,
from include/linux/fs.h:6,
from kernel/events/core.c:11:
include/linux/dma-mapping.h: In function 'dma_map_resource':
>> include/linux/dma-mapping.h:352:19: error: implicit declaration of function 'pfn_online'; did you mean 'cpu_online'? [-Werror=implicit-function-declaration]
352 | if (WARN_ON_ONCE(pfn_online(PHYS_PFN(phys_addr))))
| ^~~~~~~~~~
include/asm-generic/bug.h:187:25: note: in definition of macro 'WARN_ON'
187 | int __ret_warn_on = !!(condition); \
| ^~~~~~~~~
include/linux/dma-mapping.h:352:6: note: in expansion of macro 'WARN_ON_ONCE'
352 | if (WARN_ON_ONCE(pfn_online(PHYS_PFN(phys_addr))))
| ^~~~~~~~~~~~
kernel/events/core.c: At top level:
kernel/events/core.c:6490:6: warning: no previous prototype for 'perf_pmu_snapshot_aux' [-Wmissing-prototypes]
6490 | long perf_pmu_snapshot_aux(struct perf_buffer *rb,
| ^~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
--
In file included from arch/x86/include/asm/bug.h:86,
from include/linux/bug.h:5,
from include/linux/mmdebug.h:5,
from include/linux/mm.h:9,
from arch/x86/kernel/doublefault_32.c:2:
include/linux/dma-mapping.h: In function 'dma_map_resource':
>> include/linux/dma-mapping.h:352:19: error: implicit declaration of function 'pfn_online'; did you mean 'cpu_online'? [-Werror=implicit-function-declaration]
352 | if (WARN_ON_ONCE(pfn_online(PHYS_PFN(phys_addr))))
| ^~~~~~~~~~
include/asm-generic/bug.h:187:25: note: in definition of macro 'WARN_ON'
187 | int __ret_warn_on = !!(condition); \
| ^~~~~~~~~
include/linux/dma-mapping.h:352:6: note: in expansion of macro 'WARN_ON_ONCE'
352 | if (WARN_ON_ONCE(pfn_online(PHYS_PFN(phys_addr))))
| ^~~~~~~~~~~~
arch/x86/kernel/doublefault_32.c: At top level:
arch/x86/kernel/doublefault_32.c:23:36: warning: no previous prototype for 'doublefault_shim' [-Wmissing-prototypes]
23 | asmlinkage noinstr void __noreturn doublefault_shim(void)
| ^~~~~~~~~~~~~~~~
arch/x86/kernel/doublefault_32.c:119:6: warning: no previous prototype for 'doublefault_init_cpu_tss' [-Wmissing-prototypes]
119 | void doublefault_init_cpu_tss(void)
| ^~~~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
--
In file included from arch/x86/include/asm/bug.h:86,
from include/linux/bug.h:5,
from include/linux/mmdebug.h:5,
from include/linux/gfp.h:5,
from include/linux/slab.h:15,
from arch/x86/kernel/cpu/cacheinfo.c:11:
include/linux/dma-mapping.h: In function 'dma_map_resource':
>> include/linux/dma-mapping.h:352:19: error: implicit declaration of function 'pfn_online'; did you mean 'cpu_online'? [-Werror=implicit-function-declaration]
352 | if (WARN_ON_ONCE(pfn_online(PHYS_PFN(phys_addr))))
| ^~~~~~~~~~
include/asm-generic/bug.h:187:25: note: in definition of macro 'WARN_ON'
187 | int __ret_warn_on = !!(condition); \
| ^~~~~~~~~
include/linux/dma-mapping.h:352:6: note: in expansion of macro 'WARN_ON_ONCE'
352 | if (WARN_ON_ONCE(pfn_online(PHYS_PFN(phys_addr))))
| ^~~~~~~~~~~~
arch/x86/kernel/cpu/cacheinfo.c: In function 'init_intel_cacheinfo':
arch/x86/kernel/cpu/cacheinfo.c:727:26: warning: variable 'l3_id' set but not used [-Wunused-but-set-variable]
727 | unsigned int l2_id = 0, l3_id = 0, num_threads_sharing, index_msb;
| ^~~~~
arch/x86/kernel/cpu/cacheinfo.c:727:15: warning: variable 'l2_id' set but not used [-Wunused-but-set-variable]
727 | unsigned int l2_id = 0, l3_id = 0, num_threads_sharing, index_msb;
| ^~~~~
cc1: some warnings being treated as errors
--
In file included from arch/x86/include/asm/bug.h:86,
from include/linux/bug.h:5,
from include/linux/jump_label.h:250,
from include/linux/static_key.h:1,
from arch/x86/include/asm/nospec-branch.h:6,
from arch/x86/include/asm/irqflags.h:9,
from include/linux/irqflags.h:16,
from include/linux/rcupdate.h:26,
from include/linux/rculist.h:11,
from include/linux/pid.h:5,
from include/linux/sched.h:14,
from include/linux/audit.h:12,
from security/commoncap.c:6:
include/linux/dma-mapping.h: In function 'dma_map_resource':
>> include/linux/dma-mapping.h:352:19: error: implicit declaration of function 'pfn_online'; did you mean 'cpu_online'? [-Werror=implicit-function-declaration]
352 | if (WARN_ON_ONCE(pfn_online(PHYS_PFN(phys_addr))))
| ^~~~~~~~~~
include/asm-generic/bug.h:187:25: note: in definition of macro 'WARN_ON'
187 | int __ret_warn_on = !!(condition); \
| ^~~~~~~~~
include/linux/dma-mapping.h:352:6: note: in expansion of macro 'WARN_ON_ONCE'
352 | if (WARN_ON_ONCE(pfn_online(PHYS_PFN(phys_addr))))
| ^~~~~~~~~~~~
In file included from include/linux/capability.h:16,
from security/commoncap.c:5:
security/commoncap.c: In function 'cap_prctl_drop':
include/uapi/linux/capability.h:413:27: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits]
413 | #define cap_valid(x) ((x) >= 0 && (x) <= CAP_LAST_CAP)
| ^~
security/commoncap.c:1147:7: note: in expansion of macro 'cap_valid'
1147 | if (!cap_valid(cap))
| ^~~~~~~~~
security/commoncap.c: In function 'cap_task_prctl':
include/uapi/linux/capability.h:413:27: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits]
413 | #define cap_valid(x) ((x) >= 0 && (x) <= CAP_LAST_CAP)
| ^~
security/commoncap.c:1177:8: note: in expansion of macro 'cap_valid'
1177 | if (!cap_valid(arg2))
| ^~~~~~~~~
include/uapi/linux/capability.h:413:27: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits]
413 | #define cap_valid(x) ((x) >= 0 && (x) <= CAP_LAST_CAP)
| ^~
security/commoncap.c:1262:10: note: in expansion of macro 'cap_valid'
1262 | if (((!cap_valid(arg3)) | arg4 | arg5))
| ^~~~~~~~~
cc1: some warnings being treated as errors
--
In file included from arch/x86/include/asm/bug.h:86,
from include/linux/bug.h:5,
from include/linux/cpumask.h:14,
from arch/x86/include/asm/cpumask.h:5,
from arch/x86/include/asm/msr.h:11,
from arch/x86/include/asm/processor.h:22,
from include/linux/mutex.h:19,
from include/linux/notifier.h:14,
from include/linux/clk.h:14,
from lib/vsprintf.c:22:
include/linux/dma-mapping.h: In function 'dma_map_resource':
>> include/linux/dma-mapping.h:352:19: error: implicit declaration of function 'pfn_online'; did you mean 'cpu_online'? [-Werror=implicit-function-declaration]
352 | if (WARN_ON_ONCE(pfn_online(PHYS_PFN(phys_addr))))
| ^~~~~~~~~~
include/asm-generic/bug.h:187:25: note: in definition of macro 'WARN_ON'
187 | int __ret_warn_on = !!(condition); \
| ^~~~~~~~~
include/linux/dma-mapping.h:352:6: note: in expansion of macro 'WARN_ON_ONCE'
352 | if (WARN_ON_ONCE(pfn_online(PHYS_PFN(phys_addr))))
| ^~~~~~~~~~~~
lib/vsprintf.c: In function 'va_format':
lib/vsprintf.c:1660:2: warning: function 'va_format' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]
1660 | buf += vsnprintf(buf, end > buf ? end - buf : 0, va_fmt->fmt, va);
| ^~~
cc1: some warnings being treated as errors
--
In file included from arch/x86/include/asm/bug.h:86,
from include/linux/bug.h:5,
from include/linux/jump_label.h:250,
from include/linux/static_key.h:1,
from arch/x86/include/asm/nospec-branch.h:6,
from arch/x86/include/asm/irqflags.h:9,
from include/linux/irqflags.h:16,
from include/linux/rcupdate.h:26,
from include/linux/rculist.h:11,
from include/linux/pid.h:5,
from include/linux/sched.h:14,
from include/linux/ratelimit.h:6,
from include/linux/dev_printk.h:16,
from include/linux/device.h:15,
from include/linux/platform_device.h:13,
from drivers/base/platform.c:13:
include/linux/dma-mapping.h: In function 'dma_map_resource':
>> include/linux/dma-mapping.h:352:19: error: implicit declaration of function 'pfn_online'; did you mean 'cpu_online'? [-Werror=implicit-function-declaration]
352 | if (WARN_ON_ONCE(pfn_online(PHYS_PFN(phys_addr))))
| ^~~~~~~~~~
include/asm-generic/bug.h:187:25: note: in definition of macro 'WARN_ON'
187 | int __ret_warn_on = !!(condition); \
| ^~~~~~~~~
include/linux/dma-mapping.h:352:6: note: in expansion of macro 'WARN_ON_ONCE'
352 | if (WARN_ON_ONCE(pfn_online(PHYS_PFN(phys_addr))))
| ^~~~~~~~~~~~
drivers/base/platform.c: At top level:
drivers/base/platform.c:1352:20: warning: no previous prototype for 'early_platform_cleanup' [-Wmissing-prototypes]
1352 | void __weak __init early_platform_cleanup(void) { }
| ^~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +352 include/linux/dma-mapping.h
339
340 static inline dma_addr_t dma_map_resource(struct device *dev,
341 phys_addr_t phys_addr,
342 size_t size,
343 enum dma_data_direction dir,
344 unsigned long attrs)
345 {
346 const struct dma_map_ops *ops = get_dma_ops(dev);
347 dma_addr_t addr = DMA_MAPPING_ERROR;
348
349 BUG_ON(!valid_dma_direction(dir));
350
351 /* Don't allow online RAM to be mapped */
> 352 if (WARN_ON_ONCE(pfn_online(PHYS_PFN(phys_addr))))
353 return DMA_MAPPING_ERROR;
354
355 if (dma_is_direct(ops))
356 addr = dma_direct_map_resource(dev, phys_addr, size, dir, attrs);
357 else if (ops->map_resource)
358 addr = ops->map_resource(dev, phys_addr, size, dir, attrs);
359
360 debug_dma_map_resource(dev, phys_addr, size, dir, addr);
361 return addr;
362 }
363
---
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 1/2] nvme: remove workarounds for gcc bug wrt unnamed fields in initializers
by kernel test robot
Hi Niklas,
I love your patch! Yet something to improve:
[auto build test ERROR on block/for-next]
[also build test ERROR on linus/master v5.8-rc1 next-20200618]
[cannot apply to hch-configfs/for-next]
[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/Niklas-Cassel/nvme-remove-workar...
base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next
config: m68k-allmodconfig (attached as .config)
compiler: m68k-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=m68k
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 arch/m68k/include/asm/io_mm.h:25,
from arch/m68k/include/asm/io.h:8,
from include/linux/scatterlist.h:9,
from include/linux/dma-mapping.h:11,
from include/rdma/ib_verbs.h:44,
from include/rdma/mr_pool.h:8,
from drivers/nvme/host/rdma.c:10:
arch/m68k/include/asm/raw_io.h: In function 'raw_rom_outsb':
arch/m68k/include/asm/raw_io.h:83:7: warning: variable '__w' set but not used [-Wunused-but-set-variable]
83 | ({u8 __w, __v = (b); u32 _addr = ((u32) (addr)); \
| ^~~
arch/m68k/include/asm/raw_io.h:430:3: note: in expansion of macro 'rom_out_8'
430 | rom_out_8(port, *buf++);
| ^~~~~~~~~
arch/m68k/include/asm/raw_io.h: In function 'raw_rom_outsw':
arch/m68k/include/asm/raw_io.h:86:8: warning: variable '__w' set but not used [-Wunused-but-set-variable]
86 | ({u16 __w, __v = (w); u32 _addr = ((u32) (addr)); \
| ^~~
arch/m68k/include/asm/raw_io.h:448:3: note: in expansion of macro 'rom_out_be16'
448 | rom_out_be16(port, *buf++);
| ^~~~~~~~~~~~
arch/m68k/include/asm/raw_io.h: In function 'raw_rom_outsw_swapw':
arch/m68k/include/asm/raw_io.h:90:8: warning: variable '__w' set but not used [-Wunused-but-set-variable]
90 | ({u16 __w, __v = (w); u32 _addr = ((u32) (addr)); \
| ^~~
arch/m68k/include/asm/raw_io.h:466:3: note: in expansion of macro 'rom_out_le16'
466 | rom_out_le16(port, *buf++);
| ^~~~~~~~~~~~
In file included from include/linux/kernel.h:11,
from include/linux/list.h:9,
from include/linux/module.h:12,
from drivers/nvme/host/rdma.c:7:
include/linux/scatterlist.h: In function 'sg_set_buf':
arch/m68k/include/asm/page_mm.h:169:49: warning: ordered comparison of pointer with null pointer [-Wextra]
169 | #define virt_addr_valid(kaddr) ((void *)(kaddr) >= (void *)PAGE_OFFSET && (void *)(kaddr) < high_memory)
| ^~
include/linux/compiler.h:78:42: note: in definition of macro 'unlikely'
78 | # define unlikely(x) __builtin_expect(!!(x), 0)
| ^
include/linux/scatterlist.h:143:2: note: in expansion of macro 'BUG_ON'
143 | BUG_ON(!virt_addr_valid(buf));
| ^~~~~~
include/linux/scatterlist.h:143:10: note: in expansion of macro 'virt_addr_valid'
143 | BUG_ON(!virt_addr_valid(buf));
| ^~~~~~~~~~~~~~~
In file included from arch/m68k/include/asm/bug.h:32,
from include/linux/bug.h:5,
from include/linux/thread_info.h:12,
from include/asm-generic/preempt.h:5,
from ./arch/m68k/include/generated/asm/preempt.h:1,
from include/linux/preempt.h:78,
from include/linux/spinlock.h:51,
from include/linux/seqlock.h:36,
from include/linux/time.h:6,
from include/linux/stat.h:19,
from include/linux/module.h:13,
from drivers/nvme/host/rdma.c:7:
include/linux/dma-mapping.h: In function 'dma_map_resource':
arch/m68k/include/asm/page_mm.h:169:49: warning: ordered comparison of pointer with null pointer [-Wextra]
169 | #define virt_addr_valid(kaddr) ((void *)(kaddr) >= (void *)PAGE_OFFSET && (void *)(kaddr) < high_memory)
| ^~
include/asm-generic/bug.h:144:27: note: in definition of macro 'WARN_ON_ONCE'
144 | int __ret_warn_once = !!(condition); \
| ^~~~~~~~~
arch/m68k/include/asm/page_mm.h:170:25: note: in expansion of macro 'virt_addr_valid'
170 | #define pfn_valid(pfn) virt_addr_valid(pfn_to_virt(pfn))
| ^~~~~~~~~~~~~~~
include/linux/dma-mapping.h:352:19: note: in expansion of macro 'pfn_valid'
352 | if (WARN_ON_ONCE(pfn_valid(PHYS_PFN(phys_addr))))
| ^~~~~~~~~
drivers/nvme/host/rdma.c: In function 'nvme_rdma_route_resolved':
>> drivers/nvme/host/rdma.c:1814:20: error: 'priv' undeclared (first use in this function)
1814 | .private_data = &priv,
| ^~~~
drivers/nvme/host/rdma.c:1814:20: note: each undeclared identifier is reported only once for each function it appears in
vim +/priv +1814 drivers/nvme/host/rdma.c
1803
1804 static int nvme_rdma_route_resolved(struct nvme_rdma_queue *queue)
1805 {
1806 struct nvme_rdma_ctrl *ctrl = queue->ctrl;
1807 struct rdma_conn_param param = {
1808 .qp_num = queue->qp->qp_num,
1809 .flow_control = 1,
1810 .responder_resources = queue->device->dev->attrs.max_qp_rd_atom,
1811 /* maximum retry count */
1812 .retry_count = 7,
1813 .rnr_retry_count = 7,
> 1814 .private_data = &priv,
1815 .private_data_len = sizeof(priv),
1816 };
1817 struct nvme_rdma_cm_req priv = {
1818 .recfmt = cpu_to_le16(NVME_RDMA_CM_FMT_1_0),
1819 .qid = cpu_to_le16(nvme_rdma_queue_idx(queue)),
1820 };
1821 int ret;
1822
1823 /*
1824 * set the admin queue depth to the minimum size
1825 * specified by the Fabrics standard.
1826 */
1827 if (priv.qid == 0) {
1828 priv.hrqsize = cpu_to_le16(NVME_AQ_DEPTH);
1829 priv.hsqsize = cpu_to_le16(NVME_AQ_DEPTH - 1);
1830 } else {
1831 /*
1832 * current interpretation of the fabrics spec
1833 * is at minimum you make hrqsize sqsize+1, or a
1834 * 1's based representation of sqsize.
1835 */
1836 priv.hrqsize = cpu_to_le16(queue->queue_size);
1837 priv.hsqsize = cpu_to_le16(queue->ctrl->ctrl.sqsize);
1838 }
1839
1840 ret = rdma_connect(queue->cm_id, ¶m);
1841 if (ret) {
1842 dev_err(ctrl->ctrl.device,
1843 "rdma_connect failed (%d).\n", ret);
1844 goto out_destroy_queue_ib;
1845 }
1846
1847 return 0;
1848
1849 out_destroy_queue_ib:
1850 nvme_rdma_destroy_queue_ib(queue);
1851 return ret;
1852 }
1853
---
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 v3 04/15] arm64: kvm: Handle calls to prefixed hyp functions
by kernel test robot
Hi David,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on linus/master]
[also build test WARNING on v5.8-rc1 next-20200618]
[cannot apply to kvmarm/next arm64/for-next/core arm-perf/for-next/perf]
[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/David-Brazdil/Split-off-nVHE-hyp...
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 1b5044021070efa3259f3e9548dc35d1eb6aa844
config: arm64-allyesconfig (attached as .config)
compiler: aarch64-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=arm64
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 <<):
In file included from include/linux/kvm_host.h:36,
from arch/arm64/kvm/arm.c:11:
arch/arm64/kvm/arm.c: In function 'kvm_arch_vcpu_ioctl_run':
>> arch/arm64/include/asm/kvm_host.h:460:26: warning: variable 'ret' set but not used [-Wunused-but-set-variable]
460 | typeof(f(__VA_ARGS__)) ret; | ^~~
>> arch/arm64/include/asm/kvm_host.h:488:10: note: in expansion of macro 'kvm_call_hyp_nvhe_ret'
488 | ret = kvm_call_hyp_nvhe_ret(f, ##__VA_ARGS__); | ^~~~~~~~~~~~~~~~~~~~~
>> arch/arm64/kvm/arm.c:754:10: note: in expansion of macro 'kvm_call_hyp_ret'
754 | ret = kvm_call_hyp_ret(__kvm_vcpu_run_nvhe, vcpu);
| ^~~~~~~~~~~~~~~~
--
In file included from arch/arm64/include/asm/percpu.h:228,
from arch/arm64/include/asm/smp.h:28,
from include/linux/smp.h:89,
from include/linux/percpu.h:7,
from include/linux/context_tracking_state.h:5,
from include/linux/hardirq.h:5,
from include/linux/kvm_host.h:7,
from arch/arm64/kvm/debug.c:9:
arch/arm64/kvm/debug.c: In function 'kvm_arm_init_debug':
>> arch/arm64/include/asm/kvm_host.h:460:26: warning: variable 'ret' set but not used [-Wunused-but-set-variable]
460 | typeof(f(__VA_ARGS__)) ret; | ^~~
include/asm-generic/percpu.h:72:26: note: in definition of macro 'raw_cpu_generic_to_op'
72 | *raw_cpu_ptr(&(pcp)) op val; | ^~~
include/linux/percpu-defs.h:377:11: note: in expansion of macro 'raw_cpu_write_1'
377 | case 1: stem##1(variable, __VA_ARGS__);break; | ^~~~
include/linux/percpu-defs.h:421:34: note: in expansion of macro '__pcpu_size_call'
421 | #define raw_cpu_write(pcp, val) __pcpu_size_call(raw_cpu_write_, pcp, val)
| ^~~~~~~~~~~~~~~~
include/linux/percpu-defs.h:452:2: note: in expansion of macro 'raw_cpu_write'
452 | raw_cpu_write(pcp, val); | ^~~~~~~~~~~~~
>> arch/arm64/kvm/debug.c:68:2: note: in expansion of macro '__this_cpu_write'
68 | __this_cpu_write(mdcr_el2, kvm_call_hyp_ret(__kvm_get_mdcr_el2));
| ^~~~~~~~~~~~~~~~
>> arch/arm64/include/asm/kvm_host.h:488:10: note: in expansion of macro 'kvm_call_hyp_nvhe_ret'
488 | ret = kvm_call_hyp_nvhe_ret(f, ##__VA_ARGS__); | ^~~~~~~~~~~~~~~~~~~~~
>> arch/arm64/kvm/debug.c:68:29: note: in expansion of macro 'kvm_call_hyp_ret'
68 | __this_cpu_write(mdcr_el2, kvm_call_hyp_ret(__kvm_get_mdcr_el2));
| ^~~~~~~~~~~~~~~~
>> arch/arm64/include/asm/kvm_host.h:460:26: warning: variable 'ret' set but not used [-Wunused-but-set-variable]
460 | typeof(f(__VA_ARGS__)) ret; | ^~~
include/asm-generic/percpu.h:72:26: note: in definition of macro 'raw_cpu_generic_to_op'
72 | *raw_cpu_ptr(&(pcp)) op val; | ^~~
include/linux/percpu-defs.h:378:11: note: in expansion of macro 'raw_cpu_write_2'
378 | case 2: stem##2(variable, __VA_ARGS__);break; | ^~~~
include/linux/percpu-defs.h:421:34: note: in expansion of macro '__pcpu_size_call'
421 | #define raw_cpu_write(pcp, val) __pcpu_size_call(raw_cpu_write_, pcp, val)
| ^~~~~~~~~~~~~~~~
include/linux/percpu-defs.h:452:2: note: in expansion of macro 'raw_cpu_write'
452 | raw_cpu_write(pcp, val); | ^~~~~~~~~~~~~
>> arch/arm64/kvm/debug.c:68:2: note: in expansion of macro '__this_cpu_write'
68 | __this_cpu_write(mdcr_el2, kvm_call_hyp_ret(__kvm_get_mdcr_el2));
| ^~~~~~~~~~~~~~~~
>> arch/arm64/include/asm/kvm_host.h:488:10: note: in expansion of macro 'kvm_call_hyp_nvhe_ret'
488 | ret = kvm_call_hyp_nvhe_ret(f, ##__VA_ARGS__); | ^~~~~~~~~~~~~~~~~~~~~
>> arch/arm64/kvm/debug.c:68:29: note: in expansion of macro 'kvm_call_hyp_ret'
68 | __this_cpu_write(mdcr_el2, kvm_call_hyp_ret(__kvm_get_mdcr_el2));
| ^~~~~~~~~~~~~~~~
>> arch/arm64/include/asm/kvm_host.h:460:26: warning: variable 'ret' set but not used [-Wunused-but-set-variable]
460 | typeof(f(__VA_ARGS__)) ret; | ^~~
include/asm-generic/percpu.h:72:26: note: in definition of macro 'raw_cpu_generic_to_op'
72 | *raw_cpu_ptr(&(pcp)) op val; | ^~~
include/linux/percpu-defs.h:379:11: note: in expansion of macro 'raw_cpu_write_4'
379 | case 4: stem##4(variable, __VA_ARGS__);break; | ^~~~
include/linux/percpu-defs.h:421:34: note: in expansion of macro '__pcpu_size_call'
421 | #define raw_cpu_write(pcp, val) __pcpu_size_call(raw_cpu_write_, pcp, val)
| ^~~~~~~~~~~~~~~~
include/linux/percpu-defs.h:452:2: note: in expansion of macro 'raw_cpu_write'
452 | raw_cpu_write(pcp, val); | ^~~~~~~~~~~~~
>> arch/arm64/kvm/debug.c:68:2: note: in expansion of macro '__this_cpu_write'
68 | __this_cpu_write(mdcr_el2, kvm_call_hyp_ret(__kvm_get_mdcr_el2));
| ^~~~~~~~~~~~~~~~
>> arch/arm64/include/asm/kvm_host.h:488:10: note: in expansion of macro 'kvm_call_hyp_nvhe_ret'
488 | ret = kvm_call_hyp_nvhe_ret(f, ##__VA_ARGS__); | ^~~~~~~~~~~~~~~~~~~~~
>> arch/arm64/kvm/debug.c:68:29: note: in expansion of macro 'kvm_call_hyp_ret'
68 | __this_cpu_write(mdcr_el2, kvm_call_hyp_ret(__kvm_get_mdcr_el2));
| ^~~~~~~~~~~~~~~~
>> arch/arm64/include/asm/kvm_host.h:460:26: warning: variable 'ret' set but not used [-Wunused-but-set-variable]
460 | typeof(f(__VA_ARGS__)) ret; | ^~~
include/asm-generic/percpu.h:72:26: note: in definition of macro 'raw_cpu_generic_to_op'
72 | *raw_cpu_ptr(&(pcp)) op val; | ^~~
include/linux/percpu-defs.h:380:11: note: in expansion of macro 'raw_cpu_write_8'
380 | case 8: stem##8(variable, __VA_ARGS__);break; | ^~~~
include/linux/percpu-defs.h:421:34: note: in expansion of macro '__pcpu_size_call'
421 | #define raw_cpu_write(pcp, val) __pcpu_size_call(raw_cpu_write_, pcp, val)
| ^~~~~~~~~~~~~~~~
include/linux/percpu-defs.h:452:2: note: in expansion of macro 'raw_cpu_write'
452 | raw_cpu_write(pcp, val); | ^~~~~~~~~~~~~
>> arch/arm64/kvm/debug.c:68:2: note: in expansion of macro '__this_cpu_write'
68 | __this_cpu_write(mdcr_el2, kvm_call_hyp_ret(__kvm_get_mdcr_el2));
| ^~~~~~~~~~~~~~~~
>> arch/arm64/include/asm/kvm_host.h:488:10: note: in expansion of macro 'kvm_call_hyp_nvhe_ret'
488 | ret = kvm_call_hyp_nvhe_ret(f, ##__VA_ARGS__); | ^~~~~~~~~~~~~~~~~~~~~
>> arch/arm64/kvm/debug.c:68:29: note: in expansion of macro 'kvm_call_hyp_ret'
68 | __this_cpu_write(mdcr_el2, kvm_call_hyp_ret(__kvm_get_mdcr_el2));
| ^~~~~~~~~~~~~~~~
--
In file included from include/linux/kvm_host.h:36,
from arch/arm64/kvm/vgic/vgic-v3.c:5:
arch/arm64/kvm/vgic/vgic-v3.c: In function 'vgic_v3_probe':
>> arch/arm64/include/asm/kvm_host.h:460:26: warning: variable 'ret' set but not used [-Wunused-but-set-variable]
460 | typeof(f(__VA_ARGS__)) ret; | ^~~
>> arch/arm64/include/asm/kvm_host.h:488:10: note: in expansion of macro 'kvm_call_hyp_nvhe_ret'
488 | ret = kvm_call_hyp_nvhe_ret(f, ##__VA_ARGS__); | ^~~~~~~~~~~~~~~~~~~~~
>> arch/arm64/kvm/vgic/vgic-v3.c:586:20: note: in expansion of macro 'kvm_call_hyp_ret'
586 | u32 ich_vtr_el2 = kvm_call_hyp_ret(__vgic_v3_get_ich_vtr_el2);
| ^~~~~~~~~~~~~~~~
arch/arm64/kvm/vgic/vgic-v3.c: In function 'vgic_v3_vmcr_sync':
>> arch/arm64/include/asm/kvm_host.h:460:26: warning: variable 'ret' set but not used [-Wunused-but-set-variable]
460 | typeof(f(__VA_ARGS__)) ret; | ^~~
>> arch/arm64/include/asm/kvm_host.h:488:10: note: in expansion of macro 'kvm_call_hyp_nvhe_ret'
488 | ret = kvm_call_hyp_nvhe_ret(f, ##__VA_ARGS__); | ^~~~~~~~~~~~~~~~~~~~~
arch/arm64/kvm/vgic/vgic-v3.c:678:23: note: in expansion of macro 'kvm_call_hyp_ret'
678 | cpu_if->vgic_vmcr = kvm_call_hyp_ret(__vgic_v3_read_vmcr);
| ^~~~~~~~~~~~~~~~
vim +/ret +460 arch/arm64/include/asm/kvm_host.h
450
451 #define kvm_call_hyp_nvhe(f, ...) \
452 do { \
453 DECLARE_KVM_NVHE_SYM(f); \
454 __kvm_call_hyp(kvm_ksym_ref_nvhe(f), ##__VA_ARGS__); \
455 } while(0)
456
457 #define kvm_call_hyp_nvhe_ret(f, ...) \
458 ({ \
459 DECLARE_KVM_NVHE_SYM(f); \
> 460 typeof(f(__VA_ARGS__)) ret; \
461 ret = __kvm_call_hyp(kvm_ksym_ref_nvhe(f), \
462 ##__VA_ARGS__); \
463 })
464
465 /*
466 * The couple of isb() below are there to guarantee the same behaviour
467 * on VHE as on !VHE, where the eret to EL1 acts as a context
468 * synchronization event.
469 */
470 #define kvm_call_hyp(f, ...) \
471 do { \
472 if (has_vhe()) { \
473 f(__VA_ARGS__); \
474 isb(); \
475 } else { \
476 kvm_call_hyp_nvhe(f, ##__VA_ARGS__); \
477 } \
478 } while(0)
479
480 #define kvm_call_hyp_ret(f, ...) \
481 ({ \
482 typeof(f(__VA_ARGS__)) ret; \
483 \
484 if (has_vhe()) { \
485 ret = f(__VA_ARGS__); \
486 isb(); \
487 } else { \
> 488 ret = kvm_call_hyp_nvhe_ret(f, ##__VA_ARGS__); \
489 } \
490 \
491 ret; \
492 })
493
---
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: i386-randconfig-s001-20200618 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.2-rc1-10-gc17b1b06-dirty
# save the attached .config to linux build tree
make W=1 C=1 ARCH=i386 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
>> drivers/spi/spi-fsl-spi.c:93:44: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct fsl_spi_reg *reg_base @@ got void [noderef] __iomem *reg_base @@
drivers/spi/spi-fsl-spi.c:93:44: sparse: expected struct fsl_spi_reg *reg_base
>> drivers/spi/spi-fsl-spi.c:93:44: sparse: got void [noderef] __iomem *reg_base
>> drivers/spi/spi-fsl-spi.c:94:33: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected restricted __be32 [noderef] [usertype] __iomem *mode @@ got restricted __be32 * @@
>> drivers/spi/spi-fsl-spi.c:94:33: sparse: expected restricted __be32 [noderef] [usertype] __iomem *mode
drivers/spi/spi-fsl-spi.c:94:33: sparse: got restricted __be32 *
drivers/spi/spi-fsl-spi.c:294:44: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct fsl_spi_reg *reg_base @@ got void [noderef] __iomem *reg_base @@
drivers/spi/spi-fsl-spi.c:294:44: sparse: expected struct fsl_spi_reg *reg_base
drivers/spi/spi-fsl-spi.c:294:44: sparse: got void [noderef] __iomem *reg_base
>> drivers/spi/spi-fsl-spi.c:299:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected restricted __be32 [noderef] [usertype] __iomem *reg @@ got restricted __be32 * @@
>> drivers/spi/spi-fsl-spi.c:299:32: sparse: expected restricted __be32 [noderef] [usertype] __iomem *reg
drivers/spi/spi-fsl-spi.c:299:32: sparse: got restricted __be32 *
drivers/spi/spi-fsl-spi.c:303:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected restricted __be32 [noderef] [usertype] __iomem *reg @@ got restricted __be32 * @@
drivers/spi/spi-fsl-spi.c:303:32: sparse: expected restricted __be32 [noderef] [usertype] __iomem *reg
drivers/spi/spi-fsl-spi.c:303:32: sparse: got restricted __be32 *
>> drivers/spi/spi-fsl-spi.c:317:18: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct fsl_spi_reg *reg_base @@ got void [noderef] __iomem *reg_base @@
drivers/spi/spi-fsl-spi.c:317:18: sparse: expected struct fsl_spi_reg *reg_base
drivers/spi/spi-fsl-spi.c:317:18: sparse: got void [noderef] __iomem *reg_base
drivers/spi/spi-fsl-spi.c:350:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected restricted __be32 [noderef] [usertype] __iomem *reg @@ got restricted __be32 * @@
drivers/spi/spi-fsl-spi.c:350:32: sparse: expected restricted __be32 [noderef] [usertype] __iomem *reg
drivers/spi/spi-fsl-spi.c:350:32: sparse: got restricted __be32 *
drivers/spi/spi-fsl-spi.c:459:18: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct fsl_spi_reg *reg_base @@ got void [noderef] __iomem *reg_base @@
drivers/spi/spi-fsl-spi.c:459:18: sparse: expected struct fsl_spi_reg *reg_base
drivers/spi/spi-fsl-spi.c:459:18: sparse: got void [noderef] __iomem *reg_base
drivers/spi/spi-fsl-spi.c:462:45: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected restricted __be32 [noderef] [usertype] __iomem *reg @@ got restricted __be32 * @@
drivers/spi/spi-fsl-spi.c:462:45: sparse: expected restricted __be32 [noderef] [usertype] __iomem *reg
drivers/spi/spi-fsl-spi.c:462:45: sparse: got restricted __be32 *
drivers/spi/spi-fsl-spi.c:498:44: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct fsl_spi_reg *reg_base @@ got void [noderef] __iomem *reg_base @@
drivers/spi/spi-fsl-spi.c:498:44: sparse: expected struct fsl_spi_reg *reg_base
drivers/spi/spi-fsl-spi.c:498:44: sparse: got void [noderef] __iomem *reg_base
drivers/spi/spi-fsl-spi.c:502:53: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected restricted __be32 [noderef] [usertype] __iomem *reg @@ got restricted __be32 * @@
drivers/spi/spi-fsl-spi.c:502:53: sparse: expected restricted __be32 [noderef] [usertype] __iomem *reg
drivers/spi/spi-fsl-spi.c:502:53: sparse: got restricted __be32 *
drivers/spi/spi-fsl-spi.c:511:47: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected restricted __be32 [noderef] [usertype] __iomem *reg @@ got restricted __be32 * @@
drivers/spi/spi-fsl-spi.c:511:47: sparse: expected restricted __be32 [noderef] [usertype] __iomem *reg
drivers/spi/spi-fsl-spi.c:511:47: sparse: got restricted __be32 *
drivers/spi/spi-fsl-spi.c:516:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected restricted __be32 [noderef] [usertype] __iomem *reg @@ got restricted __be32 * @@
drivers/spi/spi-fsl-spi.c:516:32: sparse: expected restricted __be32 [noderef] [usertype] __iomem *reg
drivers/spi/spi-fsl-spi.c:516:32: sparse: got restricted __be32 *
drivers/spi/spi-fsl-spi.c:522:40: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected restricted __be32 [noderef] [usertype] __iomem *reg @@ got restricted __be32 * @@
drivers/spi/spi-fsl-spi.c:522:40: sparse: expected restricted __be32 [noderef] [usertype] __iomem *reg
drivers/spi/spi-fsl-spi.c:522:40: sparse: got restricted __be32 *
drivers/spi/spi-fsl-spi.c:533:44: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct fsl_spi_reg *reg_base @@ got void [noderef] __iomem *reg_base @@
drivers/spi/spi-fsl-spi.c:533:44: sparse: expected struct fsl_spi_reg *reg_base
drivers/spi/spi-fsl-spi.c:533:44: sparse: got void [noderef] __iomem *reg_base
drivers/spi/spi-fsl-spi.c:536:40: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected restricted __be32 [noderef] [usertype] __iomem *reg @@ got restricted __be32 * @@
drivers/spi/spi-fsl-spi.c:536:40: sparse: expected restricted __be32 [noderef] [usertype] __iomem *reg
drivers/spi/spi-fsl-spi.c:536:40: sparse: got restricted __be32 *
drivers/spi/spi-fsl-spi.c:553:51: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct fsl_spi_reg *reg_base @@ got void [noderef] __iomem *reg_base @@
drivers/spi/spi-fsl-spi.c:553:51: sparse: expected struct fsl_spi_reg *reg_base
drivers/spi/spi-fsl-spi.c:553:51: sparse: got void [noderef] __iomem *reg_base
drivers/spi/spi-fsl-spi.c:560:48: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected restricted __be32 [noderef] [usertype] __iomem *reg @@ got restricted __be32 * @@
drivers/spi/spi-fsl-spi.c:560:48: sparse: expected restricted __be32 [noderef] [usertype] __iomem *reg
drivers/spi/spi-fsl-spi.c:560:48: sparse: got restricted __be32 *
drivers/spi/spi-fsl-spi.c:562:40: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected restricted __be32 [noderef] [usertype] __iomem *reg @@ got restricted __be32 * @@
drivers/spi/spi-fsl-spi.c:562:40: sparse: expected restricted __be32 [noderef] [usertype] __iomem *reg
drivers/spi/spi-fsl-spi.c:562:40: sparse: got restricted __be32 *
drivers/spi/spi-fsl-spi.c:571:51: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct fsl_spi_reg *reg_base @@ got void [noderef] __iomem *reg_base @@
drivers/spi/spi-fsl-spi.c:571:51: sparse: expected struct fsl_spi_reg *reg_base
drivers/spi/spi-fsl-spi.c:571:51: sparse: got void [noderef] __iomem *reg_base
drivers/spi/spi-fsl-spi.c:575:46: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected restricted __be32 [noderef] [usertype] __iomem *reg @@ got restricted __be32 * @@
drivers/spi/spi-fsl-spi.c:575:46: sparse: expected restricted __be32 [noderef] [usertype] __iomem *reg
drivers/spi/spi-fsl-spi.c:575:46: sparse: got restricted __be32 *
drivers/spi/spi-fsl-spi.c:585:40: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected restricted __be32 [noderef] [usertype] __iomem *reg @@ got restricted __be32 * @@
drivers/spi/spi-fsl-spi.c:585:40: sparse: expected restricted __be32 [noderef] [usertype] __iomem *reg
drivers/spi/spi-fsl-spi.c:585:40: sparse: got restricted __be32 *
drivers/spi/spi-fsl-spi.c:652:18: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct fsl_spi_reg *reg_base @@ got void [noderef] __iomem *reg_base @@
drivers/spi/spi-fsl-spi.c:652:18: sparse: expected struct fsl_spi_reg *reg_base
drivers/spi/spi-fsl-spi.c:652:18: sparse: got void [noderef] __iomem *reg_base
drivers/spi/spi-fsl-spi.c:655:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected restricted __be32 [noderef] [usertype] __iomem *reg @@ got restricted __be32 * @@
drivers/spi/spi-fsl-spi.c:655:32: sparse: expected restricted __be32 [noderef] [usertype] __iomem *reg
drivers/spi/spi-fsl-spi.c:655:32: sparse: got restricted __be32 *
drivers/spi/spi-fsl-spi.c:656:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected restricted __be32 [noderef] [usertype] __iomem *reg @@ got restricted __be32 * @@
drivers/spi/spi-fsl-spi.c:656:32: sparse: expected restricted __be32 [noderef] [usertype] __iomem *reg
drivers/spi/spi-fsl-spi.c:656:32: sparse: got restricted __be32 *
drivers/spi/spi-fsl-spi.c:657:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected restricted __be32 [noderef] [usertype] __iomem *reg @@ got restricted __be32 * @@
drivers/spi/spi-fsl-spi.c:657:32: sparse: expected restricted __be32 [noderef] [usertype] __iomem *reg
drivers/spi/spi-fsl-spi.c:657:32: sparse: got restricted __be32 *
drivers/spi/spi-fsl-spi.c:658:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected restricted __be32 [noderef] [usertype] __iomem *reg @@ got restricted __be32 * @@
drivers/spi/spi-fsl-spi.c:658:32: sparse: expected restricted __be32 [noderef] [usertype] __iomem *reg
drivers/spi/spi-fsl-spi.c:658:32: sparse: got restricted __be32 *
drivers/spi/spi-fsl-spi.c:669:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected restricted __be32 [noderef] [usertype] __iomem *reg @@ got restricted __be32 * @@
drivers/spi/spi-fsl-spi.c:669:32: sparse: expected restricted __be32 [noderef] [usertype] __iomem *reg
drivers/spi/spi-fsl-spi.c:669:32: sparse: got restricted __be32 *
--
>> drivers/misc/habanalabs/goya/goya.c:2703:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/misc/habanalabs/goya/goya.c:808:23: sparse: sparse: cast truncates bits from constant value (7ffc113000 becomes fc113000)
drivers/misc/habanalabs/goya/goya.c:810:22: sparse: sparse: cast truncates bits from constant value (7ffc112000 becomes fc112000)
drivers/misc/habanalabs/goya/goya.c:814:17: sparse: sparse: cast truncates bits from constant value (7ffc800040 becomes fc800040)
drivers/misc/habanalabs/goya/goya.c:857:17: sparse: sparse: cast truncates bits from constant value (7ffc800040 becomes fc800040)
drivers/misc/habanalabs/goya/goya.c:1066:9: sparse: sparse: cast truncates bits from constant value (8000000000 becomes 0)
drivers/misc/habanalabs/goya/goya.c:1541:23: sparse: sparse: cast truncates bits from constant value (7ffc113000 becomes fc113000)
drivers/misc/habanalabs/goya/goya.c:1543:22: sparse: sparse: cast truncates bits from constant value (7ffc112000 becomes fc112000)
drivers/misc/habanalabs/goya/goya.c:1547:17: sparse: sparse: cast truncates bits from constant value (7ffc800040 becomes fc800040)
drivers/misc/habanalabs/goya/goya.c:1590:23: sparse: sparse: cast truncates bits from constant value (7ffc113000 becomes fc113000)
drivers/misc/habanalabs/goya/goya.c:1592:22: sparse: sparse: cast truncates bits from constant value (7ffc112000 becomes fc112000)
drivers/misc/habanalabs/goya/goya.c:1596:17: sparse: sparse: cast truncates bits from constant value (7ffc800040 becomes fc800040)
drivers/misc/habanalabs/goya/goya.c:1628:22: sparse: sparse: cast truncates bits from constant value (7ffc112000 becomes fc112000)
drivers/misc/habanalabs/goya/goya.c:1648:23: sparse: sparse: cast truncates bits from constant value (7ffc113000 becomes fc113000)
drivers/misc/habanalabs/goya/goya.c:1650:22: sparse: sparse: cast truncates bits from constant value (7ffc112000 becomes fc112000)
drivers/misc/habanalabs/goya/goya.c:1654:17: sparse: sparse: cast truncates bits from constant value (7ffc800040 becomes fc800040)
drivers/misc/habanalabs/goya/goya.c:1697:23: sparse: sparse: cast truncates bits from constant value (7ffc113000 becomes fc113000)
drivers/misc/habanalabs/goya/goya.c:1699:22: sparse: sparse: cast truncates bits from constant value (7ffc112000 becomes fc112000)
drivers/misc/habanalabs/goya/goya.c:1703:17: sparse: sparse: cast truncates bits from constant value (7ffc800040 becomes fc800040)
drivers/misc/habanalabs/goya/goya.c:1738:22: sparse: sparse: cast truncates bits from constant value (7ffc112000 becomes fc112000)
drivers/misc/habanalabs/goya/goya.c:2276:27: sparse: sparse: cast truncates bits from constant value (7ff0000000 becomes f0000000)
drivers/misc/habanalabs/goya/goya.c:3344:26: sparse: sparse: cast truncates bits from constant value (7ffc112000 becomes fc112000)
drivers/misc/habanalabs/goya/goya.c:3345:24: sparse: sparse: cast truncates bits from constant value (7ffc112ffc becomes fc112ffc)
--
>> drivers/usb/cdns3/drd.c:43:42: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got restricted __le32 * @@
>> drivers/usb/cdns3/drd.c:43:42: sparse: expected void const volatile [noderef] __iomem *addr
drivers/usb/cdns3/drd.c:43:42: sparse: got restricted __le32 *
>> drivers/usb/cdns3/drd.c:45:42: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got restricted __le32 * @@
>> drivers/usb/cdns3/drd.c:45:42: sparse: expected void volatile [noderef] __iomem *addr
drivers/usb/cdns3/drd.c:45:42: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:47:42: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:47:42: sparse: expected void const volatile [noderef] __iomem *addr
drivers/usb/cdns3/drd.c:47:42: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:49:42: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:49:42: sparse: expected void volatile [noderef] __iomem *addr
drivers/usb/cdns3/drd.c:49:42: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:71:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:71:25: sparse: expected void const volatile [noderef] __iomem *addr
drivers/usb/cdns3/drd.c:71:25: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:81:30: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:81:30: sparse: expected void const volatile [noderef] __iomem *addr
drivers/usb/cdns3/drd.c:81:30: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:114:24: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:114:24: sparse: expected void volatile [noderef] __iomem *addr
drivers/usb/cdns3/drd.c:114:24: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:124:48: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:124:48: sparse: expected void volatile [noderef] __iomem *addr
drivers/usb/cdns3/drd.c:124:48: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:141:56: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:141:56: sparse: expected void volatile [noderef] __iomem *addr
drivers/usb/cdns3/drd.c:141:56: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:144:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:144:23: sparse: expected void const volatile [noderef] __iomem *addr
drivers/usb/cdns3/drd.c:144:23: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:144:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:144:23: sparse: expected void const volatile [noderef] __iomem *addr
drivers/usb/cdns3/drd.c:144:23: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:154:29: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:154:29: sparse: expected void volatile [noderef] __iomem *addr
drivers/usb/cdns3/drd.c:154:29: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:156:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:156:17: sparse: expected void const volatile [noderef] __iomem *addr
drivers/usb/cdns3/drd.c:156:17: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:156:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:156:17: sparse: expected void const volatile [noderef] __iomem *addr
drivers/usb/cdns3/drd.c:156:17: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:178:55: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:178:55: sparse: expected void volatile [noderef] __iomem *addr
drivers/usb/cdns3/drd.c:178:55: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:182:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:182:23: sparse: expected void const volatile [noderef] __iomem *addr
drivers/usb/cdns3/drd.c:182:23: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:182:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:182:23: sparse: expected void const volatile [noderef] __iomem *addr
drivers/usb/cdns3/drd.c:182:23: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:197:29: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:197:29: sparse: expected void volatile [noderef] __iomem *addr
drivers/usb/cdns3/drd.c:197:29: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:199:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:199:17: sparse: expected void const volatile [noderef] __iomem *addr
drivers/usb/cdns3/drd.c:199:17: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:199:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:199:17: sparse: expected void const volatile [noderef] __iomem *addr
drivers/usb/cdns3/drd.c:199:17: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:219:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:219:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/usb/cdns3/drd.c:219:25: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:284:26: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:284:26: sparse: expected void const volatile [noderef] __iomem *addr
drivers/usb/cdns3/drd.c:284:26: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:303:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:303:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/usb/cdns3/drd.c:303:25: sparse: got restricted __le32 *
>> drivers/usb/cdns3/drd.c:326:27: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct cdns3_otg_legacy_regs *otg_v0_regs @@ got void [noderef] __iomem *[assigned] regs @@
drivers/usb/cdns3/drd.c:326:27: sparse: expected struct cdns3_otg_legacy_regs *otg_v0_regs
>> drivers/usb/cdns3/drd.c:326:27: sparse: got void [noderef] __iomem *[assigned] regs
drivers/usb/cdns3/drd.c:327:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:327:25: sparse: expected void const volatile [noderef] __iomem *addr
drivers/usb/cdns3/drd.c:327:25: sparse: got restricted __le32 *
>> drivers/usb/cdns3/drd.c:330:32: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct cdns3_otg_common_regs *otg_regs @@ got void [noderef] __iomem *[assigned] regs @@
drivers/usb/cdns3/drd.c:330:32: sparse: expected struct cdns3_otg_common_regs *otg_regs
drivers/usb/cdns3/drd.c:330:32: sparse: got void [noderef] __iomem *[assigned] regs
drivers/usb/cdns3/drd.c:331:32: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:331:32: sparse: expected void volatile [noderef] __iomem *addr
drivers/usb/cdns3/drd.c:331:32: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:332:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:332:17: sparse: expected void const volatile [noderef] __iomem *addr
drivers/usb/cdns3/drd.c:332:17: sparse: got restricted __le32 *
>> drivers/usb/cdns3/drd.c:336:35: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct cdns3_otg_regs *otg_v1_regs @@ got void [noderef] __iomem *[assigned] regs @@
drivers/usb/cdns3/drd.c:336:35: sparse: expected struct cdns3_otg_regs *otg_v1_regs
drivers/usb/cdns3/drd.c:336:35: sparse: got void [noderef] __iomem *[assigned] regs
drivers/usb/cdns3/drd.c:339:32: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:339:32: sparse: expected void volatile [noderef] __iomem *addr
drivers/usb/cdns3/drd.c:339:32: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:340:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:340:17: sparse: expected void const volatile [noderef] __iomem *addr
drivers/usb/cdns3/drd.c:340:17: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:340:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:340:17: sparse: expected void const volatile [noderef] __iomem *addr
drivers/usb/cdns3/drd.c:340:17: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:345:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:345:17: sparse: expected void const volatile [noderef] __iomem *addr
drivers/usb/cdns3/drd.c:345:17: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:368:28: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:368:28: sparse: expected void const volatile [noderef] __iomem *addr
drivers/usb/cdns3/drd.c:368:28: sparse: got restricted __le32 *
--
>> drivers/edac/x38_edac.c:168:35: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void [noderef] __iomem *window @@ got void *pvt_info @@
>> drivers/edac/x38_edac.c:168:35: sparse: expected void [noderef] __iomem *window
drivers/edac/x38_edac.c:168:35: sparse: got void *pvt_info
>> drivers/edac/x38_edac.c:362:23: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void *pvt_info @@ got void [noderef] __iomem *[assigned] window @@
drivers/edac/x38_edac.c:362:23: sparse: expected void *pvt_info
>> drivers/edac/x38_edac.c:362:23: sparse: got void [noderef] __iomem *[assigned] window
>> drivers/edac/x38_edac.c:440:20: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void *pvt_info @@
>> drivers/edac/x38_edac.c:440:20: sparse: expected void volatile [noderef] __iomem *addr
drivers/edac/x38_edac.c:440:20: sparse: got void *pvt_info
--
>> arch/x86/kernel/signal.c:337:9: sparse: sparse: cast removes address space '__user' of expression
>> arch/x86/kernel/signal.c:337:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got unsigned long long [usertype] * @@
>> arch/x86/kernel/signal.c:337:9: sparse: expected void const volatile [noderef] __user *
arch/x86/kernel/signal.c:337:9: sparse: got unsigned long long [usertype] *
>> arch/x86/kernel/signal.c:337:9: sparse: sparse: cast removes address space '__user' of expression
>> arch/x86/kernel/signal.c:337:9: sparse: sparse: cast removes address space '__user' of expression
>> arch/x86/kernel/signal.c:337:9: sparse: sparse: cast removes address space '__user' of expression
>> arch/x86/kernel/signal.c:337:9: sparse: sparse: cast removes address space '__user' of expression
>> arch/x86/kernel/signal.c:337:9: sparse: sparse: cast removes address space '__user' of expression
>> arch/x86/kernel/signal.c:337:9: sparse: sparse: cast removes address space '__user' of expression
>> arch/x86/kernel/signal.c:337:9: sparse: sparse: cast removes address space '__user' of expression
>> arch/x86/kernel/signal.c:337:9: sparse: sparse: cast removes address space '__user' of expression
>> arch/x86/kernel/signal.c:337:9: sparse: sparse: cast removes address space '__user' of expression
arch/x86/kernel/signal.c:397:9: sparse: sparse: cast removes address space '__user' of expression
arch/x86/kernel/signal.c:397:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got unsigned long long [usertype] * @@
arch/x86/kernel/signal.c:397:9: sparse: expected void const volatile [noderef] __user *
arch/x86/kernel/signal.c:397:9: sparse: got unsigned long long [usertype] *
arch/x86/kernel/signal.c:397:9: sparse: sparse: cast removes address space '__user' of expression
arch/x86/kernel/signal.c:397:9: sparse: sparse: cast removes address space '__user' of expression
arch/x86/kernel/signal.c:397:9: sparse: sparse: cast removes address space '__user' of expression
arch/x86/kernel/signal.c:397:9: sparse: sparse: cast removes address space '__user' of expression
arch/x86/kernel/signal.c:397:9: sparse: sparse: cast removes address space '__user' of expression
arch/x86/kernel/signal.c:397:9: sparse: sparse: cast removes address space '__user' of expression
arch/x86/kernel/signal.c:397:9: sparse: sparse: cast removes address space '__user' of expression
arch/x86/kernel/signal.c:397:9: sparse: sparse: cast removes address space '__user' of expression
arch/x86/kernel/signal.c:397:9: sparse: sparse: cast removes address space '__user' of expression
--
>> arch/x86/platform/geode/net5501.c:103:17: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected unsigned char *rombase @@ got void [noderef] __iomem * @@
arch/x86/platform/geode/net5501.c:103:17: sparse: expected unsigned char *rombase
>> arch/x86/platform/geode/net5501.c:103:17: sparse: got void [noderef] __iomem *
>> arch/x86/platform/geode/net5501.c:127:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned char *rombase @@
>> arch/x86/platform/geode/net5501.c:127:17: sparse: expected void volatile [noderef] __iomem *addr
arch/x86/platform/geode/net5501.c:127:17: sparse: got unsigned char *rombase
--
>> arch/x86/platform/olpc/olpc_ofw.c:32:14: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct pgd_t [usertype] *base @@ got void [noderef] __iomem * @@
arch/x86/platform/olpc/olpc_ofw.c:32:14: sparse: expected struct pgd_t [usertype] *base
>> arch/x86/platform/olpc/olpc_ofw.c:32:14: sparse: got void [noderef] __iomem *
>> arch/x86/platform/olpc/olpc_ofw.c:44:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got struct pgd_t [usertype] *base @@
>> arch/x86/platform/olpc/olpc_ofw.c:44:23: sparse: expected void [noderef] __iomem *addr
arch/x86/platform/olpc/olpc_ofw.c:44:23: sparse: got struct pgd_t [usertype] *base
--
>> drivers/gpu/drm/drm_bufs.c:225:45: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void *handle @@ got void [noderef] __iomem * @@
drivers/gpu/drm/drm_bufs.c:225:45: sparse: expected void *handle
>> drivers/gpu/drm/drm_bufs.c:225:45: sparse: got void [noderef] __iomem *
drivers/gpu/drm/drm_bufs.c:228:45: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void *handle @@ got void [noderef] __iomem * @@
drivers/gpu/drm/drm_bufs.c:228:45: sparse: expected void *handle
drivers/gpu/drm/drm_bufs.c:228:45: sparse: got void [noderef] __iomem *
>> drivers/gpu/drm/drm_bufs.c:343:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void *handle @@
>> drivers/gpu/drm/drm_bufs.c:343:36: sparse: expected void volatile [noderef] __iomem *addr
drivers/gpu/drm/drm_bufs.c:343:36: sparse: got void *handle
drivers/gpu/drm/drm_bufs.c:360:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void *handle @@
drivers/gpu/drm/drm_bufs.c:360:36: sparse: expected void volatile [noderef] __iomem *addr
drivers/gpu/drm/drm_bufs.c:360:36: sparse: got void *handle
drivers/gpu/drm/drm_bufs.c:536:28: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void *handle @@
drivers/gpu/drm/drm_bufs.c:536:28: sparse: expected void volatile [noderef] __iomem *addr
drivers/gpu/drm/drm_bufs.c:536:28: sparse: got void *handle
--
>> drivers/gpu/drm/drm_vm.c:276:44: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void *handle @@
>> drivers/gpu/drm/drm_vm.c:276:44: sparse: expected void volatile [noderef] __iomem *addr
drivers/gpu/drm/drm_vm.c:276:44: sparse: got void *handle
--
>> sound/soc/intel/atom/sst/sst_loader.c:212:43: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void *destn @@ got void [noderef] __iomem * @@
sound/soc/intel/atom/sst/sst_loader.c:212:43: sparse: expected void *destn
>> sound/soc/intel/atom/sst/sst_loader.c:212:43: sparse: got void [noderef] __iomem *
--
>> drivers/video/fbdev/cirrusfb.c:1851:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void * @@ got char [noderef] __iomem *screen_base @@
drivers/video/fbdev/cirrusfb.c:1851:17: sparse: expected void *
drivers/video/fbdev/cirrusfb.c:1851:17: sparse: got char [noderef] __iomem *screen_base
--
drivers/ipack/carriers/tpci200.c:153:28: sparse: sparse: incompatible types in comparison expression (different address spaces):
>> drivers/ipack/carriers/tpci200.c:153:28: sparse: struct slot_irq [noderef] __rcu *
drivers/ipack/carriers/tpci200.c:153:28: sparse: struct slot_irq *
drivers/ipack/carriers/tpci200.c:187:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/ipack/carriers/tpci200.c:187:9: sparse: struct slot_irq [noderef] __rcu *
drivers/ipack/carriers/tpci200.c:187:9: sparse: struct slot_irq *
drivers/ipack/carriers/tpci200.c:236:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/ipack/carriers/tpci200.c:236:9: sparse: struct slot_irq [noderef] __rcu *
drivers/ipack/carriers/tpci200.c:236:9: sparse: struct slot_irq *
--
>> drivers/ntb/ntb_transport.c:1790:43: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *to @@ got void [noderef] __iomem *offset @@
drivers/ntb/ntb_transport.c:1790:43: sparse: expected void *to
drivers/ntb/ntb_transport.c:1790:43: sparse: got void [noderef] __iomem *offset
>> drivers/ntb/ntb_transport.c:1790:56: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got void *buf @@
>> drivers/ntb/ntb_transport.c:1790:56: sparse: expected void const [noderef] __user *from
drivers/ntb/ntb_transport.c:1790:56: sparse: got void *buf
--
>> drivers/video/fbdev/geode/lxfb_ops.c:604:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const * @@ got void [noderef] __iomem *gp_regs @@
drivers/video/fbdev/geode/lxfb_ops.c:604:9: sparse: expected void const *
>> drivers/video/fbdev/geode/lxfb_ops.c:604:9: sparse: got void [noderef] __iomem *gp_regs
>> drivers/video/fbdev/geode/lxfb_ops.c:605:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const * @@ got void [noderef] __iomem *dc_regs @@
drivers/video/fbdev/geode/lxfb_ops.c:605:9: sparse: expected void const *
>> drivers/video/fbdev/geode/lxfb_ops.c:605:9: sparse: got void [noderef] __iomem *dc_regs
>> drivers/video/fbdev/geode/lxfb_ops.c:606:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const * @@ got void [noderef] __iomem *vp_regs @@
drivers/video/fbdev/geode/lxfb_ops.c:606:9: sparse: expected void const *
>> drivers/video/fbdev/geode/lxfb_ops.c:606:9: sparse: got void [noderef] __iomem *vp_regs
>> drivers/video/fbdev/geode/lxfb_ops.c:607:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const * @@ got void [noderef] __iomem * @@
drivers/video/fbdev/geode/lxfb_ops.c:607:9: sparse: expected void const *
>> drivers/video/fbdev/geode/lxfb_ops.c:607:9: sparse: got void [noderef] __iomem *
drivers/video/fbdev/geode/lxfb_ops.c:635:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const * @@ got void [noderef] __iomem * @@
drivers/video/fbdev/geode/lxfb_ops.c:635:9: sparse: expected void const *
drivers/video/fbdev/geode/lxfb_ops.c:635:9: sparse: got void [noderef] __iomem *
>> drivers/video/fbdev/geode/lxfb_ops.c:761:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void * @@ got void [noderef] __iomem * @@
drivers/video/fbdev/geode/lxfb_ops.c:761:9: sparse: expected void *
drivers/video/fbdev/geode/lxfb_ops.c:761:9: sparse: got void [noderef] __iomem *
--
>> drivers/video/fbdev/geode/suspend_gx.c:32:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const * @@ got void [noderef] __iomem *gp_regs @@
drivers/video/fbdev/geode/suspend_gx.c:32:9: sparse: expected void const *
>> drivers/video/fbdev/geode/suspend_gx.c:32:9: sparse: got void [noderef] __iomem *gp_regs
>> drivers/video/fbdev/geode/suspend_gx.c:33:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const * @@ got void [noderef] __iomem *dc_regs @@
drivers/video/fbdev/geode/suspend_gx.c:33:9: sparse: expected void const *
>> drivers/video/fbdev/geode/suspend_gx.c:33:9: sparse: got void [noderef] __iomem *dc_regs
>> drivers/video/fbdev/geode/suspend_gx.c:34:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const * @@ got void [noderef] __iomem *vid_regs @@
drivers/video/fbdev/geode/suspend_gx.c:34:9: sparse: expected void const *
>> drivers/video/fbdev/geode/suspend_gx.c:34:9: sparse: got void [noderef] __iomem *vid_regs
>> drivers/video/fbdev/geode/suspend_gx.c:35:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const * @@ got void [noderef] __iomem * @@
drivers/video/fbdev/geode/suspend_gx.c:35:9: sparse: expected void const *
>> drivers/video/fbdev/geode/suspend_gx.c:35:9: sparse: got void [noderef] __iomem *
--
>> drivers/ntb/hw/mscc/ntb_hw_switchtec.c:897:29: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/ntb/hw/mscc/ntb_hw_switchtec.c:897:26: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct ntb_ctrl_regs [noderef] __iomem *mmio_ctrl @@ got void * @@
>> drivers/ntb/hw/mscc/ntb_hw_switchtec.c:897:26: sparse: expected struct ntb_ctrl_regs [noderef] __iomem *mmio_ctrl
drivers/ntb/hw/mscc/ntb_hw_switchtec.c:897:26: sparse: got void *
drivers/ntb/hw/mscc/ntb_hw_switchtec.c:899:30: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/ntb/hw/mscc/ntb_hw_switchtec.c:899:27: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct ntb_dbmsg_regs [noderef] __iomem *mmio_dbmsg @@ got void * @@
>> drivers/ntb/hw/mscc/ntb_hw_switchtec.c:899:27: sparse: expected struct ntb_dbmsg_regs [noderef] __iomem *mmio_dbmsg
drivers/ntb/hw/mscc/ntb_hw_switchtec.c:899:27: sparse: got void *
drivers/ntb/hw/mscc/ntb_hw_switchtec.c:697:38: sparse: sparse: dereference of noderef expression
include/linux/io-64-nonatomic-lo-hi.h:75:19: sparse: sparse: cast truncates bits from constant value (10100000000 becomes 0)
--
>> drivers/gpu/drm/nouveau/nvkm/core/gpuobj.c:97:22: sparse: sparse: incorrect type in return expression (different address spaces) @@ expected void * @@ got void [noderef] __iomem *map @@
drivers/gpu/drm/nouveau/nvkm/core/gpuobj.c:97:22: sparse: expected void *
>> drivers/gpu/drm/nouveau/nvkm/core/gpuobj.c:97:22: sparse: got void [noderef] __iomem *map
>> drivers/gpu/drm/nouveau/nvkm/core/gpuobj.c:155:21: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void [noderef] __iomem *map @@ got void * @@
>> drivers/gpu/drm/nouveau/nvkm/core/gpuobj.c:155:21: sparse: expected void [noderef] __iomem *map
drivers/gpu/drm/nouveau/nvkm/core/gpuobj.c:155:21: sparse: got void *
>> drivers/gpu/drm/nouveau/nvkm/core/gpuobj.c:157:33: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/gpu/drm/nouveau/nvkm/core/gpuobj.c:157:30: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void [noderef] __iomem *map @@ got unsigned char [usertype] * @@
drivers/gpu/drm/nouveau/nvkm/core/gpuobj.c:157:30: sparse: expected void [noderef] __iomem *map
drivers/gpu/drm/nouveau/nvkm/core/gpuobj.c:157:30: sparse: got unsigned char [usertype] *
drivers/gpu/drm/nouveau/nvkm/core/gpuobj.c:162:22: sparse: sparse: incorrect type in return expression (different address spaces) @@ expected void * @@ got void [noderef] __iomem *map @@
drivers/gpu/drm/nouveau/nvkm/core/gpuobj.c:162:22: sparse: expected void *
drivers/gpu/drm/nouveau/nvkm/core/gpuobj.c:162:22: sparse: got void [noderef] __iomem *map
--
>> drivers/gpu/drm/nouveau/dispnv50/disp.c:163:19: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected unsigned int [usertype] *ptr @@ got void [noderef] __iomem *ptr @@
drivers/gpu/drm/nouveau/dispnv50/disp.c:163:19: sparse: expected unsigned int [usertype] *ptr
>> drivers/gpu/drm/nouveau/dispnv50/disp.c:163:19: sparse: got void [noderef] __iomem *ptr
--
>> drivers/gpu/drm/nouveau/nouveau_fence.c:215:25: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct nouveau_channel [noderef] __rcu *channel @@ got struct nouveau_channel *chan @@
>> drivers/gpu/drm/nouveau/nouveau_fence.c:215:25: sparse: expected struct nouveau_channel [noderef] __rcu *channel
drivers/gpu/drm/nouveau/nouveau_fence.c:215:25: sparse: got struct nouveau_channel *chan
--
>> drivers/gpu/drm/nouveau/nv04_fence.c:42:45: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct nouveau_channel *chan @@ got struct nouveau_channel [noderef] __rcu *channel @@
drivers/gpu/drm/nouveau/nv04_fence.c:42:45: sparse: expected struct nouveau_channel *chan
>> drivers/gpu/drm/nouveau/nv04_fence.c:42:45: sparse: got struct nouveau_channel [noderef] __rcu *channel
--
>> drivers/gpu/drm/nouveau/nv10_fence.c:32:45: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct nouveau_channel *chan @@ got struct nouveau_channel [noderef] __rcu *channel @@
drivers/gpu/drm/nouveau/nv10_fence.c:32:45: sparse: expected struct nouveau_channel *chan
>> drivers/gpu/drm/nouveau/nv10_fence.c:32:45: sparse: got struct nouveau_channel [noderef] __rcu *channel
--
>> drivers/gpu/drm/nouveau/nv84_fence.c:70:45: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct nouveau_channel *chan @@ got struct nouveau_channel [noderef] __rcu *channel @@
drivers/gpu/drm/nouveau/nv84_fence.c:70:45: sparse: expected struct nouveau_channel *chan
>> drivers/gpu/drm/nouveau/nv84_fence.c:70:45: sparse: got struct nouveau_channel [noderef] __rcu *channel
--
>> drivers/gpu/drm/nouveau/nvif/object.c:236:41: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void [noderef] __iomem *ptr @@ got void * @@
>> drivers/gpu/drm/nouveau/nvif/object.c:236:41: sparse: expected void [noderef] __iomem *ptr
drivers/gpu/drm/nouveau/nvif/object.c:236:41: sparse: got void *
--
>> drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:104:58: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got void * @@
>> drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:104:58: sparse: expected void [noderef] __iomem *
drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:104:58: sparse: got void *
drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:110:58: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __iomem * @@ got void * @@
drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:110:58: sparse: expected void [noderef] __iomem *
drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:110:58: sparse: got void *
>> drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:157:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void *[assigned] emap @@
>> drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:157:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:157:25: sparse: got void *[assigned] emap
>> drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:174:19: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void *map @@ got void [noderef] __iomem * @@
drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:174:19: sparse: expected void *map
>> drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:174:19: sparse: got void [noderef] __iomem *
>> drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:225:28: sparse: sparse: incorrect type in return expression (different address spaces) @@ expected void [noderef] __iomem * @@ got void *map @@
drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:225:28: sparse: expected void [noderef] __iomem *
drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:225:28: sparse: got void *map
drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:233:28: sparse: sparse: incorrect type in return expression (different address spaces) @@ expected void [noderef] __iomem * @@ got void *map @@
drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:233:28: sparse: expected void [noderef] __iomem *
drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:233:28: sparse: got void *map
>> drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:240:21: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void [noderef] __iomem *map @@ got void *map @@
>> drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:240:21: sparse: expected void [noderef] __iomem *map
drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:240:21: sparse: got void *map
>> drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:327:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void *[assigned] map @@
drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:327:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:327:25: sparse: got void *[assigned] map
--
>> drivers/gpu/drm/nouveau/nvkm/subdev/instmem/gk20a.c:182:20: sparse: sparse: incorrect type in return expression (different address spaces) @@ expected void [noderef] __iomem * @@ got unsigned int [usertype] *vaddr @@
>> drivers/gpu/drm/nouveau/nvkm/subdev/instmem/gk20a.c:182:20: sparse: expected void [noderef] __iomem *
drivers/gpu/drm/nouveau/nvkm/subdev/instmem/gk20a.c:182:20: sparse: got unsigned int [usertype] *vaddr
drivers/gpu/drm/nouveau/nvkm/subdev/instmem/gk20a.c:225:26: sparse: sparse: incorrect type in return expression (different address spaces) @@ expected void [noderef] __iomem * @@ got unsigned int [usertype] *vaddr @@
drivers/gpu/drm/nouveau/nvkm/subdev/instmem/gk20a.c:225:26: sparse: expected void [noderef] __iomem *
drivers/gpu/drm/nouveau/nvkm/subdev/instmem/gk20a.c:225:26: sparse: got unsigned int [usertype] *vaddr
--
>> drivers/gpu/drm/ast/ast_mode.c:1455:23: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned char [usertype] * @@
>> drivers/gpu/drm/ast/ast_mode.c:1455:23: sparse: expected void volatile [noderef] __iomem *addr
drivers/gpu/drm/ast/ast_mode.c:1455:23: sparse: got unsigned char [usertype] *
drivers/gpu/drm/ast/ast_mode.c:1456:23: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned char [usertype] * @@
drivers/gpu/drm/ast/ast_mode.c:1456:23: sparse: expected void volatile [noderef] __iomem *addr
drivers/gpu/drm/ast/ast_mode.c:1456:23: sparse: got unsigned char [usertype] *
>> drivers/gpu/drm/ast/ast_mode.c:1386:43: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned char [usertype] *[assigned] dstxor @@
drivers/gpu/drm/ast/ast_mode.c:1386:43: sparse: expected void volatile [noderef] __iomem *addr
drivers/gpu/drm/ast/ast_mode.c:1386:43: sparse: got unsigned char [usertype] *[assigned] dstxor
drivers/gpu/drm/ast/ast_mode.c:1398:43: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned char [usertype] *[assigned] dstxor @@
drivers/gpu/drm/ast/ast_mode.c:1398:43: sparse: expected void volatile [noderef] __iomem *addr
drivers/gpu/drm/ast/ast_mode.c:1398:43: sparse: got unsigned char [usertype] *[assigned] dstxor
>> drivers/gpu/drm/ast/ast_mode.c:1419:22: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void *[assigned] dst @@
drivers/gpu/drm/ast/ast_mode.c:1419:22: sparse: expected void volatile [noderef] __iomem *addr
drivers/gpu/drm/ast/ast_mode.c:1419:22: sparse: got void *[assigned] dst
>> drivers/gpu/drm/ast/ast_mode.c:1420:27: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/gpu/drm/ast/ast_mode.c:1420:27: sparse: expected void volatile [noderef] __iomem *addr
drivers/gpu/drm/ast/ast_mode.c:1420:27: sparse: got void *
drivers/gpu/drm/ast/ast_mode.c:1421:28: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/gpu/drm/ast/ast_mode.c:1421:28: sparse: expected void volatile [noderef] __iomem *addr
drivers/gpu/drm/ast/ast_mode.c:1421:28: sparse: got void *
drivers/gpu/drm/ast/ast_mode.c:1422:23: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/gpu/drm/ast/ast_mode.c:1422:23: sparse: expected void volatile [noderef] __iomem *addr
drivers/gpu/drm/ast/ast_mode.c:1422:23: sparse: got void *
drivers/gpu/drm/ast/ast_mode.c:1423:23: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/gpu/drm/ast/ast_mode.c:1423:23: sparse: expected void volatile [noderef] __iomem *addr
drivers/gpu/drm/ast/ast_mode.c:1423:23: sparse: got void *
vim +93 drivers/spi/spi-fsl-spi.c
c3f3e7717f1cf0 drivers/spi/spi-fsl-spi.c Andreas Larsson 2013-02-15 88
b36ece832512c1 drivers/spi/spi_fsl_spi.c Mingkai Hu 2010-10-12 89 static void fsl_spi_change_mode(struct spi_device *spi)
a35c1710956f7a drivers/spi/spi_mpc8xxx.c Anton Vorontsov 2009-10-12 90 {
a35c1710956f7a drivers/spi/spi_mpc8xxx.c Anton Vorontsov 2009-10-12 91 struct mpc8xxx_spi *mspi = spi_master_get_devdata(spi->master);
a35c1710956f7a drivers/spi/spi_mpc8xxx.c Anton Vorontsov 2009-10-12 92 struct spi_mpc8xxx_cs *cs = spi->controller_state;
b36ece832512c1 drivers/spi/spi_fsl_spi.c Mingkai Hu 2010-10-12 @93 struct fsl_spi_reg *reg_base = mspi->reg_base;
b36ece832512c1 drivers/spi/spi_fsl_spi.c Mingkai Hu 2010-10-12 @94 __be32 __iomem *mode = ®_base->mode;
a35c1710956f7a drivers/spi/spi_mpc8xxx.c Anton Vorontsov 2009-10-12 95 unsigned long flags;
a35c1710956f7a drivers/spi/spi_mpc8xxx.c Anton Vorontsov 2009-10-12 96
a35c1710956f7a drivers/spi/spi_mpc8xxx.c Anton Vorontsov 2009-10-12 97 if (cs->hw_mode == mpc8xxx_spi_read_reg(mode))
a35c1710956f7a drivers/spi/spi_mpc8xxx.c Anton Vorontsov 2009-10-12 98 return;
a35c1710956f7a drivers/spi/spi_mpc8xxx.c Anton Vorontsov 2009-10-12 99
a35c1710956f7a drivers/spi/spi_mpc8xxx.c Anton Vorontsov 2009-10-12 100 /* Turn off IRQs locally to minimize time that SPI is disabled. */
a35c1710956f7a drivers/spi/spi_mpc8xxx.c Anton Vorontsov 2009-10-12 101 local_irq_save(flags);
a35c1710956f7a drivers/spi/spi_mpc8xxx.c Anton Vorontsov 2009-10-12 102
a35c1710956f7a drivers/spi/spi_mpc8xxx.c Anton Vorontsov 2009-10-12 103 /* Turn off SPI unit prior changing mode */
a35c1710956f7a drivers/spi/spi_mpc8xxx.c Anton Vorontsov 2009-10-12 104 mpc8xxx_spi_write_reg(mode, cs->hw_mode & ~SPMODE_ENABLE);
a35c1710956f7a drivers/spi/spi_mpc8xxx.c Anton Vorontsov 2009-10-12 105
4c1fba442960cf drivers/spi/spi_mpc8xxx.c Anton Vorontsov 2009-10-12 106 /* When in CPM mode, we need to reinit tx and rx. */
4c1fba442960cf drivers/spi/spi_mpc8xxx.c Anton Vorontsov 2009-10-12 107 if (mspi->flags & SPI_CPM_MODE) {
e8beacbb85a5c1 drivers/spi/spi-fsl-spi.c Andreas Larsson 2013-02-15 108 fsl_spi_cpm_reinit_txrx(mspi);
4c1fba442960cf drivers/spi/spi_mpc8xxx.c Anton Vorontsov 2009-10-12 109 }
f9218c2a60facc drivers/spi/spi_mpc8xxx.c Joakim Tjernlund 2010-05-22 110 mpc8xxx_spi_write_reg(mode, cs->hw_mode);
a35c1710956f7a drivers/spi/spi_mpc8xxx.c Anton Vorontsov 2009-10-12 111 local_irq_restore(flags);
a35c1710956f7a drivers/spi/spi_mpc8xxx.c Anton Vorontsov 2009-10-12 112 }
a35c1710956f7a drivers/spi/spi_mpc8xxx.c Anton Vorontsov 2009-10-12 113
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
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: 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 >>)
>> fs/f2fs/trace.c:142:9: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void **slot @@ got void [noderef] __rcu ** @@
fs/f2fs/trace.c:142:9: sparse: expected void **slot
>> fs/f2fs/trace.c:142:9: sparse: got void [noderef] __rcu **
>> fs/f2fs/trace.c:142:9: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void **slot @@ got void [noderef] __rcu ** @@
fs/f2fs/trace.c:142:9: sparse: expected void **slot
>> fs/f2fs/trace.c:142:9: sparse: got void [noderef] __rcu **
>> fs/f2fs/trace.c:142:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __rcu **slot @@ got void **slot @@
>> fs/f2fs/trace.c:142:9: sparse: expected void [noderef] __rcu **slot
fs/f2fs/trace.c:142:9: sparse: got void **slot
>> fs/f2fs/trace.c:142:9: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void **slot @@ got void [noderef] __rcu ** @@
fs/f2fs/trace.c:142:9: sparse: expected void **slot
>> fs/f2fs/trace.c:142:9: sparse: got void [noderef] __rcu **
--
kernel/sched/core.c:512:38: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct task_struct *curr @@ got struct task_struct [noderef] __rcu *curr @@
kernel/sched/core.c:512:38: sparse: expected struct task_struct *curr
kernel/sched/core.c:512:38: sparse: got struct task_struct [noderef] __rcu *curr
kernel/sched/core.c:567:9: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] sd @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/core.c:567:9: sparse: expected struct sched_domain *[assigned] sd
kernel/sched/core.c:567:9: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/core.c:1432:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct task_struct *p @@ got struct task_struct [noderef] __rcu *curr @@
kernel/sched/core.c:1432:33: sparse: expected struct task_struct *p
kernel/sched/core.c:1432:33: sparse: got struct task_struct [noderef] __rcu *curr
kernel/sched/core.c:1432:68: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct task_struct *tsk @@ got struct task_struct [noderef] __rcu *curr @@
kernel/sched/core.c:1432:68: sparse: expected struct task_struct *tsk
kernel/sched/core.c:1432:68: sparse: got struct task_struct [noderef] __rcu *curr
kernel/sched/core.c:2176:17: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] sd @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/core.c:2176:17: sparse: expected struct sched_domain *[assigned] sd
kernel/sched/core.c:2176:17: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/core.c:2342:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct task_struct const *p @@ got struct task_struct [noderef] __rcu *curr @@
kernel/sched/core.c:2342:36: sparse: expected struct task_struct const *p
kernel/sched/core.c:2342:36: sparse: got struct task_struct [noderef] __rcu *curr
kernel/sched/core.c:3650:38: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct task_struct *curr @@ got struct task_struct [noderef] __rcu *curr @@
kernel/sched/core.c:3650:38: sparse: expected struct task_struct *curr
kernel/sched/core.c:3650:38: sparse: got struct task_struct [noderef] __rcu *curr
>> kernel/sched/core.c:3735:14: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct task_struct *curr @@ got struct task_struct [noderef] __rcu *curr @@
kernel/sched/core.c:3735:14: sparse: expected struct task_struct *curr
kernel/sched/core.c:3735:14: sparse: got struct task_struct [noderef] __rcu *curr
kernel/sched/core.c:4083:14: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct task_struct *prev @@ got struct task_struct [noderef] __rcu *curr @@
kernel/sched/core.c:4083:14: sparse: expected struct task_struct *prev
kernel/sched/core.c:4083:14: sparse: got struct task_struct [noderef] __rcu *curr
kernel/sched/core.c:4506:17: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/core.c:4506:17: sparse: struct task_struct *
kernel/sched/core.c:4506:17: sparse: struct task_struct [noderef] __rcu *
kernel/sched/core.c:4705:22: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/core.c:4705:22: sparse: struct task_struct [noderef] __rcu *
kernel/sched/core.c:4705:22: sparse: struct task_struct *
kernel/sched/core.c:8011:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct task_struct *p @@ got struct task_struct [noderef] __rcu *curr @@
kernel/sched/core.c:8011:25: sparse: expected struct task_struct *p
kernel/sched/core.c:8011:25: sparse: got struct task_struct [noderef] __rcu *curr
kernel/sched/pelt.h:80:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct task_struct const *p @@ got struct task_struct [noderef] __rcu *curr @@
kernel/sched/pelt.h:80:13: sparse: expected struct task_struct const *p
kernel/sched/pelt.h:80:13: sparse: got struct task_struct [noderef] __rcu *curr
kernel/sched/core.c:1415:33: sparse: sparse: dereference of noderef expression
kernel/sched/core.c:1416:19: sparse: sparse: dereference of noderef expression
kernel/sched/core.c:1419:40: sparse: sparse: dereference of noderef expression
kernel/sched/sched.h:1657:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1657:25: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:1657:25: sparse: struct task_struct *
kernel/sched/sched.h:1803:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1803:9: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:1803:9: sparse: struct task_struct *
kernel/sched/sched.h:1809:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1809:9: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:1809:9: sparse: struct task_struct *
kernel/sched/core.c:1388:38: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/core.c:1388:38: sparse: struct task_struct [noderef] __rcu *
kernel/sched/core.c:1388:38: sparse: struct task_struct const *
kernel/sched/sched.h:1657:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1657:25: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:1657:25: sparse: struct task_struct *
kernel/sched/sched.h:1803:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1803:9: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:1803:9: sparse: struct task_struct *
kernel/sched/sched.h:1803:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1803:9: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:1803:9: sparse: struct task_struct *
kernel/sched/sched.h:1657:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1657:25: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:1657:25: sparse: struct task_struct *
kernel/sched/sched.h:1803:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1803:9: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:1803:9: sparse: struct task_struct *
kernel/sched/sched.h:1809:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1809:9: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:1809:9: sparse: struct task_struct *
kernel/sched/sched.h:1657:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1657:25: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:1657:25: sparse: struct task_struct *
kernel/sched/sched.h:1803:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1803:9: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:1803:9: sparse: struct task_struct *
kernel/sched/sched.h:1809:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1809:9: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:1809:9: sparse: struct task_struct *
kernel/sched/sched.h:1657:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1657:25: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:1657:25: sparse: struct task_struct *
kernel/sched/sched.h:1803:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1803:9: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:1803:9: sparse: struct task_struct *
kernel/sched/sched.h:1809:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1809:9: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:1809:9: sparse: struct task_struct *
--
>> drivers/mtd/maps/nettel.c:179:25: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/mtd/maps/nettel.c:223:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void *static [assigned] [toplevel] nettel_mmcrp @@
>> drivers/mtd/maps/nettel.c:223:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/mtd/maps/nettel.c:223:25: sparse: got void *static [assigned] [toplevel] nettel_mmcrp
drivers/mtd/maps/nettel.c:416:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void *static [assigned] [toplevel] nettel_mmcrp @@
drivers/mtd/maps/nettel.c:416:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/mtd/maps/nettel.c:416:17: sparse: got void *static [assigned] [toplevel] nettel_mmcrp
drivers/mtd/maps/nettel.c:434:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void *static [assigned] [toplevel] nettel_mmcrp @@
drivers/mtd/maps/nettel.c:434:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/mtd/maps/nettel.c:434:25: sparse: got void *static [assigned] [toplevel] nettel_mmcrp
--
>> net/netfilter/nf_tables_api.c:1405:25: sparse: sparse: cast between address spaces (__percpu -> __rcu)
net/netfilter/nf_tables_api.c:1405:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
>> net/netfilter/nf_tables_api.c:1405:25: sparse: struct nft_stats [noderef] __rcu *
>> net/netfilter/nf_tables_api.c:1405:25: sparse: struct nft_stats [noderef] __percpu *
>> net/netfilter/nf_tables_api.c:1567:31: sparse: sparse: incorrect type in return expression (different address spaces) @@ expected struct nft_stats [noderef] __percpu * @@ got void * @@
net/netfilter/nf_tables_api.c:1570:31: sparse: sparse: incorrect type in return expression (different address spaces) @@ expected struct nft_stats [noderef] __percpu * @@ got void * @@
net/netfilter/nf_tables_api.c:1574:31: sparse: sparse: incorrect type in return expression (different address spaces) @@ expected struct nft_stats [noderef] __percpu * @@ got void * @@
net/netfilter/nf_tables_api.c:1596:17: sparse: sparse: cast between address spaces (__percpu -> __rcu)
net/netfilter/nf_tables_api.c:1596:17: sparse: sparse: incompatible types in comparison expression (different address spaces):
net/netfilter/nf_tables_api.c:1596:17: sparse: struct nft_stats [noderef] __rcu *
net/netfilter/nf_tables_api.c:1596:17: sparse: struct nft_stats [noderef] __percpu *
net/netfilter/nf_tables_api.c:1596:17: sparse: sparse: incompatible types in comparison expression (different address spaces):
net/netfilter/nf_tables_api.c:1596:17: sparse: struct nft_stats [noderef] __rcu *
net/netfilter/nf_tables_api.c:1596:17: sparse: struct nft_stats [noderef] __percpu *
net/netfilter/nf_tables_api.c:1639:21: sparse: sparse: cast between address spaces (__percpu -> __rcu)
net/netfilter/nf_tables_api.c:1639:21: sparse: sparse: incompatible types in comparison expression (different address spaces):
net/netfilter/nf_tables_api.c:1639:21: sparse: struct nft_stats [noderef] __rcu *
net/netfilter/nf_tables_api.c:1639:21: sparse: struct nft_stats [noderef] __percpu *
net/netfilter/nf_tables_api.c:1947:25: sparse: sparse: cast between address spaces (__percpu -> __rcu)
net/netfilter/nf_tables_api.c:1947:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
net/netfilter/nf_tables_api.c:1947:25: sparse: struct nft_stats [noderef] __rcu *
net/netfilter/nf_tables_api.c:1947:25: sparse: struct nft_stats [noderef] __percpu *
>> net/netfilter/nf_tables_api.c:2097:23: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct nft_stats *stats @@ got struct nft_stats [noderef] __percpu * @@
>> net/netfilter/nf_tables_api.c:2108:38: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct nft_stats [noderef] __percpu *stats @@ got struct nft_stats *stats @@
>> net/netfilter/nf_tables_api.c:2144:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __percpu *__pdata @@ got struct nft_stats *stats @@
include/linux/rcupdate.h:686:9: sparse: sparse: context imbalance in 'nft_netlink_dump_start_rcu' - unexpected unlock
--
>> fs/coda/upcall.c:618:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
fs/coda/upcall.c:618:31: sparse: expected struct spinlock [usertype] *lock
>> fs/coda/upcall.c:618:31: sparse: got struct spinlock [noderef] __rcu *
fs/coda/upcall.c:627:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
fs/coda/upcall.c:627:33: sparse: expected struct spinlock [usertype] *lock
fs/coda/upcall.c:627:33: sparse: got struct spinlock [noderef] __rcu *
fs/coda/upcall.c:632:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
fs/coda/upcall.c:632:31: sparse: expected struct spinlock [usertype] *lock
fs/coda/upcall.c:632:31: sparse: got struct spinlock [noderef] __rcu *
fs/coda/upcall.c:635:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
fs/coda/upcall.c:635:33: sparse: expected struct spinlock [usertype] *lock
fs/coda/upcall.c:635:33: sparse: got struct spinlock [noderef] __rcu *
vim +142 fs/f2fs/trace.c
351f4fba843db3 Jaegeuk Kim 2015-01-07 130
351f4fba843db3 Jaegeuk Kim 2015-01-07 131 #define PIDVEC_SIZE 128
351f4fba843db3 Jaegeuk Kim 2015-01-07 132 static unsigned int gang_lookup_pids(pid_t *results, unsigned long first_index,
351f4fba843db3 Jaegeuk Kim 2015-01-07 133 unsigned int max_items)
351f4fba843db3 Jaegeuk Kim 2015-01-07 134 {
351f4fba843db3 Jaegeuk Kim 2015-01-07 135 struct radix_tree_iter iter;
351f4fba843db3 Jaegeuk Kim 2015-01-07 136 void **slot;
351f4fba843db3 Jaegeuk Kim 2015-01-07 137 unsigned int ret = 0;
351f4fba843db3 Jaegeuk Kim 2015-01-07 138
351f4fba843db3 Jaegeuk Kim 2015-01-07 139 if (unlikely(!max_items))
351f4fba843db3 Jaegeuk Kim 2015-01-07 140 return 0;
351f4fba843db3 Jaegeuk Kim 2015-01-07 141
351f4fba843db3 Jaegeuk Kim 2015-01-07 @142 radix_tree_for_each_slot(slot, &pids, &iter, first_index) {
351f4fba843db3 Jaegeuk Kim 2015-01-07 143 results[ret] = iter.index;
b0beab5016d040 Sheng Yong 2017-03-08 144 if (++ret == max_items)
351f4fba843db3 Jaegeuk Kim 2015-01-07 145 break;
351f4fba843db3 Jaegeuk Kim 2015-01-07 146 }
351f4fba843db3 Jaegeuk Kim 2015-01-07 147 return ret;
351f4fba843db3 Jaegeuk Kim 2015-01-07 148 }
351f4fba843db3 Jaegeuk Kim 2015-01-07 149
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months