aboutsummaryrefslogtreecommitdiff
path: root/sys/compat
diff options
context:
space:
mode:
authorFernando ApesteguĂ­a <fernape@FreeBSD.org>2024-08-11 15:43:04 +0000
committerEd Maste <emaste@FreeBSD.org>2024-09-26 13:13:50 +0000
commitddbbc129ae0fc35cef2834b308097ae1490176e3 (patch)
treebbbec94d45656e951f9687d7ff05e18e331e3463 /sys/compat
parent647860bff21446419dee923b07490fd4a6cd181a (diff)
Diffstat (limited to 'sys/compat')
-rw-r--r--sys/compat/linux/linux_file.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/compat/linux/linux_file.c b/sys/compat/linux/linux_file.c
index 1279490ae8be..1341df8bc7fc 100644
--- a/sys/compat/linux/linux_file.c
+++ b/sys/compat/linux/linux_file.c
@@ -636,8 +636,8 @@ linux_faccessat2(struct thread *td, struct linux_faccessat2_args *args)
{
int flags, unsupported;
- /* XXX. AT_SYMLINK_NOFOLLOW is not supported by kern_accessat */
- unsupported = args->flags & ~(LINUX_AT_EACCESS | LINUX_AT_EMPTY_PATH);
+ unsupported = args->flags & ~(LINUX_AT_EACCESS | LINUX_AT_EMPTY_PATH |
+ LINUX_AT_SYMLINK_NOFOLLOW);
if (unsupported != 0) {
linux_msg(td, "faccessat2 unsupported flag 0x%x", unsupported);
return (EINVAL);
@@ -647,6 +647,8 @@ linux_faccessat2(struct thread *td, struct linux_faccessat2_args *args)
AT_EACCESS;
flags |= (args->flags & LINUX_AT_EMPTY_PATH) == 0 ? 0 :
AT_EMPTY_PATH;
+ flags |= (args->flags & LINUX_AT_SYMLINK_NOFOLLOW) == 0 ? 0 :
+ AT_SYMLINK_NOFOLLOW;
return (linux_do_accessat(td, args->dfd, args->filename, args->amode,
flags));
}