From: Sasha Levin <sashal@kernel.org>
To: Jens Axboe <axboe@kernel.dk>, Pavel Begunkov <asml.silence@gmail.com>
Cc: io-uring@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH] io_uring/rsrc: fix build without DMA_SHARED_BUFFER
Date: Tue, 13 Oct 2026 08:24:17 -0400 [thread overview]
Message-ID: <20261013122417.3-1-sashal@kernel.org> (raw)
io_register_dmabuf_desc() calls io_register_dmabuf() unconditionally, but
io_uring/dma-buf.o is only built with CONFIG_DMA_SHARED_BUFFER enabled.
This causes an undefined reference to io_register_dmabuf() when linking
kernels with CONFIG_IO_URING=y and CONFIG_DMA_SHARED_BUFFER=n, as reported
by KernelCI for i386 allnoconfig and ARC haps_hs_smp_defconfig builds.
Move the configuration check from io_register_dmabuf() to
io_register_dmabuf_desc(), before allocating the resource node and mapped
buffer. This lets the compiler eliminate the call when DMA-BUF support
is disabled and rejects DMA-BUF registration with -EOPNOTSUPP. The check
in io_register_dmabuf() cannot handle this configuration because its
object file is not built.
Fixes: 4bb797852328 ("io_uring/rsrc: add dmabuf backed registered buffers")
Reported-by: kernelci.org bot <bot@kernelci.org>
Closes: https://d.kernelci.org/i/maestro:0c0fb2ae8f67a98485b9c0cd122f4e5d5156c481
Closes: https://d.kernelci.org/i/maestro:c4ceb57bdf62b29a8c2fdc83e22c1d5594f06460
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
io_uring/dma-buf.c | 2 --
io_uring/rsrc.c | 3 +++
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/io_uring/dma-buf.c b/io_uring/dma-buf.c
index f40c9d87ed8aa..04dd41bf53be0 100644
--- a/io_uring/dma-buf.c
+++ b/io_uring/dma-buf.c
@@ -18,8 +18,6 @@ int io_register_dmabuf(struct io_ring_ctx *ctx,
struct dma_buf *dmabuf = NULL;
int ret;
- if (!IS_ENABLED(CONFIG_DMA_SHARED_BUFFER))
- return -EOPNOTSUPP;
if (ctx->flags & IORING_SETUP_IOPOLL)
return -EOPNOTSUPP;
if (desc->uaddr || desc->size)
diff --git a/io_uring/rsrc.c b/io_uring/rsrc.c
index d6f7cbf731eb2..00f5ed6051e0b 100644
--- a/io_uring/rsrc.c
+++ b/io_uring/rsrc.c
@@ -907,6 +907,9 @@ static struct io_rsrc_node *io_register_dmabuf_desc(struct io_ring_ctx *ctx,
struct io_mapped_ubuf *imu = NULL;
int ret;
+ if (!IS_ENABLED(CONFIG_DMA_SHARED_BUFFER))
+ return ERR_PTR(-EOPNOTSUPP);
+
node = io_rsrc_node_alloc(ctx, IORING_RSRC_BUFFER);
if (!node)
return ERR_PTR(-ENOMEM);
next reply other threads:[~2026-10-13 12:24 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-13 12:24 Sasha Levin [this message]
2026-10-13 12:45 ` [PATCH] io_uring/rsrc: fix build without DMA_SHARED_BUFFER Geert Uytterhoeven
2026-10-13 16:23 ` Jens Axboe
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=20261013122417.3-1-sashal@kernel.org \
--to=sashal@kernel.org \
--cc=asml.silence@gmail.com \
--cc=axboe@kernel.dk \
--cc=io-uring@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
/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.