FAILED: patch "[PATCH] io_uring: Change res2 parameter type in io_uring_cmd_done" failed to apply to 6.6-stable tree
Subsystems (2)
[email protected]
maintainerThe patch below does not apply to the 6.6-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
To reproduce the conflict and resubmit, you may use the following commands:
git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-6.6.y
git checkout FETCH_HEAD
git cherry-pick -x a07d2d7930c75e6bf88683b376d09ab1f3fed2aa
# <resolve conflicts, build, test, etc.>
git commit -s
git send-email --to '<[email protected]>' --in-reply-to '2024121022-craftwork-mummified-add6@gregkh' --subject-prefix 'PATCH 6.6.y' HEAD^..
Possible dependencies:
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From a07d2d7930c75e6bf88683b376d09ab1f3fed2aa Mon Sep 17 00:00:00 2001
From: Bernd Schubert <[email protected]>
Date: Tue, 3 Dec 2024 11:31:05 +0100
Subject: [PATCH] io_uring: Change res2 parameter type in io_uring_cmd_done
Change the type of the res2 parameter in io_uring_cmd_done from ssize_t to u64. This aligns the parameter type with io_req_set_cqe32_extra, which expects u64 arguments.
The change eliminates potential issues on 32-bit architectures where ssize_t might be 32-bit.
Only user of passing res2 is drivers/nvme/host/ioctl.c and it actually passes u64.
include/linux/io_uring/cmd.h +2 -2
@@ -43,7 +43,7 @@ int io_uring_cmd_import_fixed(u64 ubuf, unsigned long len, int rw,* Note: the caller should never hard code @issue_flags and is only allowed * to pass the mask provided by the core io_uring code. */ -void io_uring_cmd_done (struct io_uring_cmd *cmd,ssize_t ret,ssize_t res2, +void io_uring_cmd_done (struct io_uring_cmd *cmd,ssize_t ret,u64 res2,unsigned issue_flags); void __io_uring_cmd_do_in_task(struct io_uring_cmd *ioucmd,
@@ -67,7 +67,7 @@ static inline int io_uring_cmd_import_fixed(u64 ubuf, unsigned long len, int rw,return -EOPNOTSUPP ; }static inline void io_uring_cmd_done (struct io_uring_cmd *cmd,ssize_t ret, -ssize_t ret2,unsigned issue_flags) +u64 ret2,unsigned issue_flags) { } static inline void __io_uring_cmd_do_in_task(struct io_uring_cmd *ioucmd,
io_uring/uring_cmd.c +1 -1
@@ -151,7 +151,7 @@ static inline void io_req_set_cqe32_extra(struct io_kiocb *req,* Called by consumers of io_uring_cmd, if they originally returned * -EIOCBQUEUED upon receiving the command. */ -void io_uring_cmd_done (struct io_uring_cmd *ioucmd,ssize_t ret,ssize_t res2, +void io_uring_cmd_done (struct io_uring_cmd *ioucmd,ssize_t ret,u64 res2,unsigned issue_flags) {struct io_kiocb *req =cmd_to_io_kiocb (ioucmd);