On Wed, Jun 26, 2024 at 03:39:47PM GMT, Mateusz Guzik wrote: > On Wed, Jun 26, 2024 at 4:59 AM Xi Ruoyao <xry111@xxxxxxxxxxx> wrote: > > > > On Tue, 2024-06-25 at 17:18 +0200, Mateusz Guzik wrote: > > > + if ((sx->flags & (AT_EMPTY_PATH | AT_STATX_SYNC_TYPE)) == > > > + (AT_EMPTY_PATH | AT_STATX_SYNC_TYPE) && > > > + vfs_empty_path(sx->dfd, path)) { > > > sx->filename = NULL; > > > - return ret; > > > > AT_STATX_SYNC_TYPE == AT_STATX_FORCE_SYNC | AT_STATX_DONT_SYNC but > > AT_STATX_FORCE_SYNC and AT_STATX_DONT_SYNC obviously contradicts with > > each other. Thus valid uses of statx won't satisfy this condition. > > > > I don't know wtf I was thinking, this is indeed bogus. > > > And I guess the condition here should be same as the condition in > > SYSCALL_DEFINE5(statx) or am I wrong? > > > > That I disagree with. The AUTOMOUNT thing is a glibc-local problem for > fstatat. Unless if you mean the if should be of similar sort modulo > the flag. :) > > I am going to fix this up and write a io_uring testcase, then submit a > v4. Maybe today or tomorrow. Fwiw, I had already dropped the io_uring bits when I pushed to #vfs.mount. So just put that as a separate patch on top.