]> git.baikalelectronics.ru Git - kernel.git/commit
io-uring: Make statx API stable
authorStefan Roesch <shr@fb.com>
Fri, 25 Feb 2022 18:53:26 +0000 (10:53 -0800)
committerJens Axboe <axboe@kernel.dk>
Thu, 10 Mar 2022 16:33:55 +0000 (09:33 -0700)
commit6d4436e357db4b8c906657c954398863ba004635
treef5c41470131e67327323a593e14622429d36b76c
parentf6473fc58c5d053e16ed4fa18a0c592392c6a0f8
io-uring: Make statx API stable

One of the key architectual tenets is to keep the parameters for
io-uring stable. After the call has been submitted, its value can
be changed. Unfortunaltely this is not the case for the current statx
implementation.

IO-Uring change:
This changes replaces the const char * filename pointer in the io_statx
structure with a struct filename *. In addition it also creates the
filename object during the prepare phase.

With this change, the opcode also needs to invoke cleanup, so the
filename object gets freed after processing the request.

fs change:
This replaces the const char* __user filename parameter in the two
functions do_statx and vfs_statx with a struct filename *. In addition
to be able to correctly construct a filename object a new helper
function getname_statx_lookup_flags is introduced. The function makes
sure that do_statx and vfs_statx is invoked with the correct lookup flags.

Signed-off-by: Stefan Roesch <shr@fb.com>
Link: https://lore.kernel.org/r/20220225185326.1373304-2-shr@fb.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
fs/internal.h
fs/io_uring.c
fs/stat.c