On Wed, Jul 3, 2024 at 1:07 AM Arnd Bergmann <arnd@xxxxxxxx> wrote: > > On Tue, Jul 2, 2024, at 17:36, Huacai Chen wrote: > > On Mon, Jul 1, 2024 at 7:59 PM Arnd Bergmann <arnd@xxxxxxxx> wrote: > >> On Sun, Jun 30, 2024, at 04:39, Xi Ruoyao wrote: > >> > On Sun, 2024-06-30 at 09:40 +0800, Huacai Chen wrote: > >> >> > > >> >> > Yes, both Linus and Christian hates introducing a new AT_ flag for > >> >> > this. > >> >> > > >> >> > This patch just makes statx(fd, NULL, AT_EMPTY_PATH, ...) behave > >> >> > like > >> >> > statx(fd, "", AT_EMPTY_PATH, ...) instead. NULL avoids the > >> >> > performance > >> >> > issue and it's also audit-able by seccomp BPF. > >> >> To be honest, I still want to restore __ARCH_WANT_NEW_STAT. Because > >> >> even if statx() becomes audit-able, it is still blacklisted now. > >> > > >> > Then patch the sandbox to allow it. > >> > > >> > The sandbox **must** be patched anyway or it'll be broken on all 32-bit > >> > systems after 2037. [Unless they'll unsupport all 32-bit systems before > >> > 2037.] > >> > >> More importantly, the sandbox won't be able to support any 32-bit > >> targets that support running after 2037, regardless of how long > >> the sandbox supports them: if you turn off COMPAT_32BIT_TIME today > >> in order to be sure those don't get called by accident, the > >> fallback is immediately broken. > > Would you mind if I restore newstat for LoongArch64 even if this patch exist? > > I still prefer not add newstat back: it's easier to > get applications to correctly implement the statx() code > path if there are more architectures that only have that. Yes, we need statx-only architecures to improve statx(), and so this patch got upstream. But I'm considering bidirectional compatibility, which means the kernel should work with future patched and existing un-patched sandboxes. So I think now is the correct time to add newstat back for LoongArch --- statx() has been improved, and existing applications want to work on LoongArch. Huacai > > Arnd