Re: [PATCH v2 1/2] fs/io_uring: fix O_PATH fds in openat, openat2, statx

From: Max Kellermann
Date: Fri May 08 2020 - 02:41:03 EST


On 2020/05/08 08:38, Max Kellermann <mk@xxxxxxxxxx> wrote:
> This fails for `O_PATH` file descriptors, because io_file_get() calls
> fget(), which rejects `O_PATH` file descriptors. To support `O_PATH`,
> fdget_raw() must be used (like path_init() in `fs/namei.c` does).
> This rejection causes io_req_set_file() to throw `-EBADF`. This
> breaks the operations `openat`, `openat2` and `statx`, where `O_PATH`
> file descriptors are commonly used.

Code is the same as in v1, but I investigated the root cause of the
problem and updated the patch description.

Jens, I believe this should be a separate trivial commit just removing
those flags, to allow Greg to backport this to stable easily.

Max