Skip to content

Commit 293007b

Browse files
committed
io_uring: make io_uring_sqe_cmd() unconditionally available
If CONFIG_IO_URING isn't set, then io_uring_sqe_cmd() is not defined. As the nvme driver uses this helper, it causes a compilation issue: drivers/nvme/host/ioctl.c: In function 'nvme_uring_cmd_io': drivers/nvme/host/ioctl.c:555:44: error: implicit declaration of function 'io_uring_sqe_cmd'; did you mean 'io_uring_free'? [-Werror=implicit-function-declaration] 555 | const struct nvme_uring_cmd *cmd = io_uring_sqe_cmd(ioucmd->sqe); | ^~~~~~~~~~~~~~~~ | io_uring_free Fix it by just making io_uring_sqe_cmd() generally available - the types are known, and there's no reason to hide it under CONFIG_IO_URING. Fixes: fd9b854 ("io_uring: Pass whole sqe to commands") Reported-by: kernel test robot <lkp@intel.com> Reported-by: Chen-Yu Tsai <wenst@chromium.org> Tested-by: Chen-Yu Tsai <wenst@chromium.org> Signed-off-by: Jens Axboe <axboe@kernel.dk>
1 parent ac9a786 commit 293007b

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

include/linux/io_uring.h

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,11 @@ struct io_uring_cmd {
3636
u8 pdu[32]; /* available inline for free use */
3737
};
3838

39+
static inline const void *io_uring_sqe_cmd(const struct io_uring_sqe *sqe)
40+
{
41+
return sqe->cmd;
42+
}
43+
3944
#if defined(CONFIG_IO_URING)
4045
int io_uring_cmd_import_fixed(u64 ubuf, unsigned long len, int rw,
4146
struct iov_iter *iter, void *ioucmd);
@@ -66,11 +71,6 @@ static inline void io_uring_free(struct task_struct *tsk)
6671
if (tsk->io_uring)
6772
__io_uring_free(tsk);
6873
}
69-
70-
static inline const void *io_uring_sqe_cmd(const struct io_uring_sqe *sqe)
71-
{
72-
return sqe->cmd;
73-
}
7474
#else
7575
static inline int io_uring_cmd_import_fixed(u64 ubuf, unsigned long len, int rw,
7676
struct iov_iter *iter, void *ioucmd)

0 commit comments

Comments
 (0)