[PATCH] io_uring/cmd: axe duplicate io_uring_cmd_import_fixed_vec() declaration

Caleb Sander Mateos posted 1 patch 7 months ago
io_uring/uring_cmd.h | 6 ------
1 file changed, 6 deletions(-)
[PATCH] io_uring/cmd: axe duplicate io_uring_cmd_import_fixed_vec() declaration
Posted by Caleb Sander Mateos 7 months ago
io_uring_cmd_import_fixed_vec() is declared in both
include/linux/io_uring/cmd.h and io_uring/uring_cmd.h. The declarations
are identical (if redundant) for CONFIG_IO_URING=y. But if
CONFIG_IO_URING=N, include/linux/io_uring/cmd.h declares the function as
static inline while io_uring/uring_cmd.h declares it as extern. This
causes linker errors if the declaration in io_uring/uring_cmd.h is used.

Remove the declaration in io_uring/uring_cmd.h to avoid linker errors
and prevent the declarations getting out of sync.

Signed-off-by: Caleb Sander Mateos <csander@purestorage.com>
Fixes: ef4902752972 ("io_uring/cmd: introduce io_uring_cmd_import_fixed_vec")
---
 io_uring/uring_cmd.h | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/io_uring/uring_cmd.h b/io_uring/uring_cmd.h
index b04686b6b5d2..e6a5142c890e 100644
--- a/io_uring/uring_cmd.h
+++ b/io_uring/uring_cmd.h
@@ -15,11 +15,5 @@ void io_uring_cmd_cleanup(struct io_kiocb *req);
 
 bool io_uring_try_cancel_uring_cmd(struct io_ring_ctx *ctx,
 				   struct io_uring_task *tctx, bool cancel_all);
 
 void io_cmd_cache_free(const void *entry);
-
-int io_uring_cmd_import_fixed_vec(struct io_uring_cmd *ioucmd,
-				  const struct iovec __user *uvec,
-				  size_t uvec_segs,
-				  int ddir, struct iov_iter *iter,
-				  unsigned issue_flags);
-- 
2.45.2
Re: [PATCH] io_uring/cmd: axe duplicate io_uring_cmd_import_fixed_vec() declaration
Posted by Jens Axboe 7 months ago
On Tue, 20 May 2025 13:33:36 -0600, Caleb Sander Mateos wrote:
> io_uring_cmd_import_fixed_vec() is declared in both
> include/linux/io_uring/cmd.h and io_uring/uring_cmd.h. The declarations
> are identical (if redundant) for CONFIG_IO_URING=y. But if
> CONFIG_IO_URING=N, include/linux/io_uring/cmd.h declares the function as
> static inline while io_uring/uring_cmd.h declares it as extern. This
> causes linker errors if the declaration in io_uring/uring_cmd.h is used.
> 
> [...]

Applied, thanks!

[1/1] io_uring/cmd: axe duplicate io_uring_cmd_import_fixed_vec() declaration
      commit: f1774d9d4e104639a9122bde3b1fe58a0c0dcde7

Best regards,
-- 
Jens Axboe