git: dd5708d52404 - stable/13 - linux(4): make linkat(2) handle AT_EMPTY_PATH
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 17 Jun 2022 19:24:03 UTC
The branch stable/13 has been updated by dchagin:
URL: https://cgit.FreeBSD.org/src/commit/?id=dd5708d52404c5577265d33ea3336b7b67ad6f74
commit dd5708d52404c5577265d33ea3336b7b67ad6f74
Author: Edward Tomasz Napierala <trasz@FreeBSD.org>
AuthorDate: 2021-05-04 12:09:31 +0000
Commit: Dmitry Chagin <dchagin@FreeBSD.org>
CommitDate: 2022-06-17 19:22:14 +0000
linux(4): make linkat(2) handle AT_EMPTY_PATH
Sponsored By: EPSRC
Differential Revision: https://reviews.freebsd.org/D29974
(cherry picked from commit ee384b229dc62b2b0c9180db8c71fa99f30144cf)
---
sys/compat/linux/linux_file.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/sys/compat/linux/linux_file.c b/sys/compat/linux/linux_file.c
index 17bf40fa5adb..ff5f5da7fc33 100644
--- a/sys/compat/linux/linux_file.c
+++ b/sys/compat/linux/linux_file.c
@@ -1134,11 +1134,12 @@ linux_linkat(struct thread *td, struct linux_linkat_args *args)
char *path, *to;
int error, olddfd, newdfd, flag;
- if (args->flag & ~LINUX_AT_SYMLINK_FOLLOW)
+ if (args->flag & ~(LINUX_AT_SYMLINK_FOLLOW | LINUX_AT_EMPTY_PATH))
return (EINVAL);
flag = (args->flag & LINUX_AT_SYMLINK_FOLLOW) == 0 ? AT_SYMLINK_FOLLOW :
0;
+ flag |= (args->flag & LINUX_AT_EMPTY_PATH) == 0 ? AT_EMPTY_PATH : 0;
olddfd = (args->olddfd == LINUX_AT_FDCWD) ? AT_FDCWD : args->olddfd;
newdfd = (args->newdfd == LINUX_AT_FDCWD) ? AT_FDCWD : args->newdfd;