From: kernel test robot <lkp@intel.com>
To: Joanne Koong <joannelkoong@gmail.com>, axboe@kernel.dk
Cc: oe-kbuild-all@lists.linux.dev, miklos@szeredi.hu,
bschubert@ddn.com, linux-fsdevel@vger.kernel.org
Subject: Re: [PATCH v1 7/9] fuse: add io-uring kernel-managed buffer ring
Date: Sat, 28 Mar 2026 20:54:46 +0800 [thread overview]
Message-ID: <202603282050.aq4eO74Y-lkp@intel.com> (raw)
In-Reply-To: <20260324224532.3733468-8-joannelkoong@gmail.com>
Hi Joanne,
kernel test robot noticed the following build errors:
[auto build test ERROR on mszeredi-fuse/for-next]
[also build test ERROR on linus/master v7.0-rc5 next-20260327]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Joanne-Koong/fuse-separate-next-request-fetching-from-sending-logic/20260328-142620
base: https://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse.git for-next
patch link: https://lore.kernel.org/r/20260324224532.3733468-8-joannelkoong%40gmail.com
patch subject: [PATCH v1 7/9] fuse: add io-uring kernel-managed buffer ring
config: hexagon-randconfig-r071-20260328 (https://download.01.org/0day-ci/archive/20260328/202603282050.aq4eO74Y-lkp@intel.com/config)
compiler: clang version 23.0.0git (https://github.com/llvm/llvm-project 054e11d1a17e5ba88bb1a8ef32fad3346e80b186)
smatch: v0.5.0-9004-gb810ac53
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260328/202603282050.aq4eO74Y-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202603282050.aq4eO74Y-lkp@intel.com/
All errors (new ones prefixed by >>):
In file included from fs/fuse/trace.c:6:
>> fs/fuse/dev_uring_i.h:63:16: error: field has incomplete type 'struct kvec'
63 | struct kvec payload_kvec;
| ^
include/linux/mm.h:3010:8: note: forward declaration of 'struct kvec'
3010 | struct kvec;
| ^
1 error generated.
--
In file included from fs/fuse/dev_uring.c:8:
>> fs/fuse/dev_uring_i.h:63:16: error: field has incomplete type 'struct kvec'
63 | struct kvec payload_kvec;
| ^
include/linux/mm.h:3010:8: note: forward declaration of 'struct kvec'
3010 | struct kvec;
| ^
>> fs/fuse/dev_uring.c:296:17: error: call to undeclared function 'io_uring_registered_mem_region_get'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
296 | mem_reg_addr = io_uring_registered_mem_region_get(cmd, &nr_pages,
| ^
>> fs/fuse/dev_uring.c:296:15: error: incompatible integer to pointer conversion assigning to 'void *' from 'int' [-Wint-conversion]
296 | mem_reg_addr = io_uring_registered_mem_region_get(cmd, &nr_pages,
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
297 | issue_flags);
| ~~~~~~~~~~~~
>> fs/fuse/dev_uring.c:334:8: error: call to undeclared function 'io_uring_buf_ring_pin'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
334 | err = io_uring_buf_ring_pin(cmd, FUSE_URING_BUFRING_GROUP, issue_flags,
| ^
>> fs/fuse/dev_uring.c:339:7: error: call to undeclared function 'io_uring_is_kmbuf_ring'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
339 | if (!io_uring_is_kmbuf_ring(cmd, FUSE_URING_BUFRING_GROUP, issue_flags))
| ^
>> fs/fuse/dev_uring.c:349:2: error: call to undeclared function 'io_uring_buf_ring_unpin'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
349 | io_uring_buf_ring_unpin(cmd, FUSE_URING_BUFRING_GROUP, issue_flags);
| ^
fs/fuse/dev_uring.c:400:4: error: call to undeclared function 'io_uring_buf_ring_unpin'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
400 | io_uring_buf_ring_unpin(cmd, FUSE_URING_BUFRING_GROUP,
| ^
>> fs/fuse/dev_uring.c:703:48: error: no member named 'id' in 'struct fuse_ring_ent'
703 | sizeof(struct fuse_uring_req_header) * ent->id;
| ~~~ ^
fs/fuse/dev_uring.c:733:48: error: no member named 'id' in 'struct fuse_ring_ent'
733 | sizeof(struct fuse_uring_req_header) * ent->id;
| ~~~ ^
>> fs/fuse/dev_uring.c:771:18: error: no member named 'payload_kvec' in 'struct fuse_ring_ent'
771 | cs->len = ent->payload_kvec.iov_len;
| ~~~ ^
fs/fuse/dev_uring.c:772:20: error: no member named 'payload_kvec' in 'struct fuse_ring_ent'
772 | cs->kaddr = ent->payload_kvec.iov_base;
| ~~~ ^
fs/fuse/dev_uring.c:903:8: error: call to undeclared function 'io_ring_buffer_select'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
903 | sel = io_ring_buffer_select(cmd_to_io_kiocb(ent->cmd), &len,
| ^
fs/fuse/dev_uring.c:903:8: note: did you mean 'io_uring_cmd_buffer_select'?
include/linux/io_uring/cmd.h:83:18: note: 'io_uring_cmd_buffer_select' declared here
83 | struct io_br_sel io_uring_cmd_buffer_select(struct io_uring_cmd *ioucmd,
| ^
fs/fuse/dev_uring.c:903:6: error: assigning to 'struct io_br_sel' from incompatible type 'int'
903 | sel = io_ring_buffer_select(cmd_to_io_kiocb(ent->cmd), &len,
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
904 | ent->queue->bufring.list, issue_flags);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/fuse/dev_uring.c:907:11: error: no member named 'kaddr' in 'struct io_br_sel'
907 | if (!sel.kaddr)
| ~~~ ^
fs/fuse/dev_uring.c:910:7: error: no member named 'payload_kvec' in 'struct fuse_ring_ent'
910 | ent->payload_kvec.iov_base = sel.kaddr;
| ~~~ ^
fs/fuse/dev_uring.c:910:35: error: no member named 'kaddr' in 'struct io_br_sel'
910 | ent->payload_kvec.iov_base = sel.kaddr;
| ~~~ ^
fs/fuse/dev_uring.c:911:7: error: no member named 'payload_kvec' in 'struct fuse_ring_ent'
911 | ent->payload_kvec.iov_len = len;
| ~~~ ^
fs/fuse/dev_uring.c:912:7: error: no member named 'buf_id' in 'struct fuse_ring_ent'
912 | ent->buf_id = sel.buf_id;
| ~~~ ^
fs/fuse/dev_uring.c:912:20: error: no member named 'buf_id' in 'struct io_br_sel'
912 | ent->buf_id = sel.buf_id;
| ~~~ ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
vim +63 fs/fuse/dev_uring_i.h
38
39 /** A fuse ring entry, part of the ring queue */
40 struct fuse_ring_ent {
41 union {
42 /* queue->bufring.enabled == false */
43 struct {
44 /* userspace buffers */
45 struct fuse_uring_req_header __user *headers;
46 void __user *payload;
47 };
48 /* queue->bufring.enabled == true */
49 struct {
50 /*
51 * unique fixed id for the ent. Used by kernel/server to
52 * locate the header data.
53 */
54 unsigned int id;
55 /*
56 * id of the bufring buffer the ent is using for the
57 * current request. May differ per-request.
58 *
59 * this needs to be tracked so we can recycle the buffer
60 * back to the ring when the request is done.
61 */
62 unsigned int buf_id;
> 63 struct kvec payload_kvec;
64 };
65 };
66
67 /* the ring queue that owns the request */
68 struct fuse_ring_queue *queue;
69
70 /* fields below are protected by queue->lock */
71
72 struct io_uring_cmd *cmd;
73
74 struct list_head list;
75
76 enum fuse_ring_req_state state;
77
78 struct fuse_req *fuse_req;
79 };
80
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next prev parent reply other threads:[~2026-03-28 12:55 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-24 22:45 [PATCH v1 0/9] fuse: add io-uring buffer rings and zero-copy Joanne Koong
2026-03-24 22:45 ` [PATCH v1 1/9] fuse: separate next request fetching from sending logic Joanne Koong
2026-03-24 22:45 ` [PATCH v1 2/9] fuse: refactor io-uring header copying to ring Joanne Koong
2026-03-24 22:45 ` [PATCH v1 3/9] fuse: refactor io-uring header copying from ring Joanne Koong
2026-03-24 22:45 ` [PATCH v1 4/9] fuse: use enum types for header copying Joanne Koong
2026-03-24 22:45 ` [PATCH v1 5/9] fuse: refactor setting up copy state for payload copying Joanne Koong
2026-03-24 22:45 ` [PATCH v1 6/9] fuse: support buffer copying for kernel addresses Joanne Koong
2026-03-24 22:45 ` [PATCH v1 7/9] fuse: add io-uring kernel-managed buffer ring Joanne Koong
2026-03-28 12:21 ` kernel test robot
2026-03-28 12:54 ` kernel test robot [this message]
2026-03-28 13:27 ` kernel test robot
2026-03-30 21:28 ` Bernd Schubert
2026-03-30 23:19 ` Joanne Koong
2026-03-31 21:30 ` Bernd Schubert
2026-03-24 22:45 ` [PATCH v1 8/9] fuse: add zero-copy over io-uring Joanne Koong
2026-03-28 13:02 ` kernel test robot
2026-03-28 13:53 ` kernel test robot
2026-03-30 15:43 ` Joanne Koong
2026-03-31 3:35 ` Philip Li
2026-03-24 22:45 ` [PATCH v1 9/9] docs: fuse: add io-uring bufring and zero-copy documentation Joanne Koong
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202603282050.aq4eO74Y-lkp@intel.com \
--to=lkp@intel.com \
--cc=axboe@kernel.dk \
--cc=bschubert@ddn.com \
--cc=joannelkoong@gmail.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=miklos@szeredi.hu \
--cc=oe-kbuild-all@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.