On 5/8/20 12:40 AM, Max Kellermann wrote: > 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. I'd prefer just to keep the single patch, the stable backports tend to throw rejects anyway, and it's quick enough for me to just provide a tested backport. The single version I posted also gets rid of the extra sqe read, where we really should be doing just one, for example. -- Jens Axboe