From 45b716456dd99488a0cef58482120dc0474aa696 Mon Sep 17 00:00:00 2001 From: Anuj Gupta Date: Thu, 22 Oct 2026 18:50:27 +0530 Subject: [PATCH] io_uring/dma-buf: don't fail fixed buffers without dma-buf support io_attach_dmabuf_map() is called for every fixed read/write, but returns -EOPNOTSUPP when CONFIG_DMA_SHARED_BUFFER is disabled before checking whether the request uses a dma-buf at all. So READ_FIXED and WRITE_FIXED fail for ordinary registered buffers. Check REQ_F_DMABUF first. Fixes: 62e4bf5b25d4 ("io_uring/rsrc: add dmabuf backed registered buffers") Signed-off-by: Anuj Gupta Link: https://patch.msgid.link/20261022132027.2293931-1-anuj1072538@gmail.com Signed-off-by: Jens Axboe --- io_uring/dma-buf.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/io_uring/dma-buf.h b/io_uring/dma-buf.h index a876a9e5e272..534c06b6879f 100644 --- a/io_uring/dma-buf.h +++ b/io_uring/dma-buf.h @@ -34,10 +34,10 @@ static inline int io_attach_dmabuf_map(struct io_kiocb *req, struct dma_buf_io_map *map; struct io_buf_dma *bd; - if (!IS_ENABLED(CONFIG_DMA_SHARED_BUFFER)) - return -EOPNOTSUPP; if (!(req->flags & REQ_F_DMABUF)) return 0; + if (!IS_ENABLED(CONFIG_DMA_SHARED_BUFFER)) + return -EOPNOTSUPP; bd = req->buf_node->buf->priv; map = dma_buf_io_get_map(bd->ctx, nowait);