diff --git a/sys/compat/linux/linux_file.h b/sys/compat/linux/linux_file.h --- a/sys/compat/linux/linux_file.h +++ b/sys/compat/linux/linux_file.h @@ -36,6 +36,13 @@ #define LINUX_AT_EACCESS 0x200 #define LINUX_AT_REMOVEDIR 0x200 #define LINUX_AT_SYMLINK_FOLLOW 0x400 +#define LINUX_AT_NO_AUTOMOUNT 0x800 + /* + * Specific to Linux AT_NO_AUTOMOUNT flag tells the kernel to + * not automount the terminal component of pathname if it is a + * directory that is an automount point. As FreeBSD does not + * have such facility (automount), we can simply ignore this flag. + */ #define LINUX_AT_EMPTY_PATH 0x1000 /* diff --git a/sys/compat/linux/linux_stats.c b/sys/compat/linux/linux_stats.c --- a/sys/compat/linux/linux_stats.c +++ b/sys/compat/linux/linux_stats.c @@ -774,7 +774,8 @@ int error, dirfd, flags, unsupported; struct stat buf; - unsupported = args->flags & ~(LINUX_AT_SYMLINK_NOFOLLOW | LINUX_AT_EMPTY_PATH); + unsupported = args->flags & ~(LINUX_AT_SYMLINK_NOFOLLOW | + LINUX_AT_EMPTY_PATH | LINUX_AT_NO_AUTOMOUNT); if (unsupported != 0) { linux_msg(td, "statx unsupported flags 0x%x", unsupported); return (EINVAL);