git: 5eb654999438 - stable/13 - linux(4): Plug in aarch64 fcntl flags.

From: Dmitry Chagin <dchagin_at_FreeBSD.org>
Date: Fri, 17 Jun 2022 19:37:56 UTC
The branch stable/13 has been updated by dchagin:

URL: https://cgit.FreeBSD.org/src/commit/?id=5eb65499943800284c75ffb239f3892b82d9daba

commit 5eb65499943800284c75ffb239f3892b82d9daba
Author:     Dmitry Chagin <dchagin@FreeBSD.org>
AuthorDate: 2021-08-12 08:42:50 +0000
Commit:     Dmitry Chagin <dchagin@FreeBSD.org>
CommitDate: 2022-06-17 19:33:27 +0000

    linux(4): Plug in aarch64 fcntl flags.
    
    Fixes opendir() libc function.
    
    Differential Revision:  https://reviews.freebsd.org/D31357
    MFC after:              2 weeks
    
    (cherry picked from commit fc37be246021ee9b7110c9f506141c2bf0bc9fb0)
---
 sys/arm64/linux/linux.h       | 5 +++++
 sys/compat/linux/linux_file.h | 8 ++++++++
 2 files changed, 13 insertions(+)

diff --git a/sys/arm64/linux/linux.h b/sys/arm64/linux/linux.h
index 7ea169b962b4..b5273498a5aa 100644
--- a/sys/arm64/linux/linux.h
+++ b/sys/arm64/linux/linux.h
@@ -117,6 +117,11 @@ struct l_timespec {
 	l_long		tv_nsec;
 };
 
+#define	LINUX_O_DIRECTORY	000040000	/* Must be a directory */
+#define	LINUX_O_NOFOLLOW	000100000	/* Do not follow links */
+#define	LINUX_O_DIRECT		000200000	/* Direct disk access hint */
+#define	LINUX_O_LARGEFILE	000400000
+
 struct l_newstat {
 	l_dev_t		st_dev;
 	l_ino_t		st_ino;
diff --git a/sys/compat/linux/linux_file.h b/sys/compat/linux/linux_file.h
index ab137ba6b9c3..e6a5bf0ce8a6 100644
--- a/sys/compat/linux/linux_file.h
+++ b/sys/compat/linux/linux_file.h
@@ -78,10 +78,18 @@
 #define	LINUX_O_NDELAY		LINUX_O_NONBLOCK
 #define	LINUX_O_SYNC		000010000
 #define	LINUX_O_ASYNC		000020000
+#ifndef LINUX_O_DIRECT
 #define	LINUX_O_DIRECT		000040000	/* Direct disk access hint */
+#endif
+#ifndef LINUX_O_LARGEFILE
 #define	LINUX_O_LARGEFILE	000100000
+#endif
+#ifndef LINUX_O_DIRECTORY
 #define	LINUX_O_DIRECTORY	000200000	/* Must be a directory */
+#endif
+#ifndef LINUX_O_NOFOLLOW
 #define	LINUX_O_NOFOLLOW	000400000	/* Do not follow links */
+#endif
 #define	LINUX_O_NOATIME		001000000
 #define	LINUX_O_CLOEXEC		002000000
 #define	LINUX_O_PATH		010000000