git: da51ef550cf5 - stable/13 - linux: implement O_PATH
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 17 Feb 2022 10:55:26 UTC
The branch stable/13 has been updated by trasz:
URL: https://cgit.FreeBSD.org/src/commit/?id=da51ef550cf54750fd4c962d52b84d33601e6e7e
commit da51ef550cf54750fd4c962d52b84d33601e6e7e
Author: Edward Tomasz Napierala <trasz@FreeBSD.org>
AuthorDate: 2021-04-15 14:24:51 +0000
Commit: Edward Tomasz Napierala <trasz@FreeBSD.org>
CommitDate: 2022-02-13 21:06:37 +0000
linux: implement O_PATH
Reviewed By: kib
Sponsored By: EPSRC
Differential Revision: https://reviews.freebsd.org/D29773
(cherry picked from commit 1663120ae452fe3783c74ce40522caf0e2327608)
---
sys/compat/linux/linux_file.c | 2 ++
sys/compat/linux/linux_file.h | 1 +
2 files changed, 3 insertions(+)
diff --git a/sys/compat/linux/linux_file.c b/sys/compat/linux/linux_file.c
index 0c40a14d58f7..438b100d4e21 100644
--- a/sys/compat/linux/linux_file.c
+++ b/sys/compat/linux/linux_file.c
@@ -162,6 +162,8 @@ linux_common_openflags(int l_flags)
bsd_flags |= O_NOFOLLOW;
if (l_flags & LINUX_O_DIRECTORY)
bsd_flags |= O_DIRECTORY;
+ if (l_flags & LINUX_O_PATH)
+ bsd_flags |= O_PATH;
/* XXX LINUX_O_NOATIME: unable to be easily implemented. */
return (bsd_flags);
}
diff --git a/sys/compat/linux/linux_file.h b/sys/compat/linux/linux_file.h
index 03450b95f25c..ab137ba6b9c3 100644
--- a/sys/compat/linux/linux_file.h
+++ b/sys/compat/linux/linux_file.h
@@ -84,6 +84,7 @@
#define LINUX_O_NOFOLLOW 000400000 /* Do not follow links */
#define LINUX_O_NOATIME 001000000
#define LINUX_O_CLOEXEC 002000000
+#define LINUX_O_PATH 010000000
#define LINUX_F_DUPFD 0
#define LINUX_F_GETFD 1