Page MenuHomeFreeBSD

D29108.diff
No OneTemporary

D29108.diff

diff --git a/sys/compat/linux/linux_file.c b/sys/compat/linux/linux_file.c
--- a/sys/compat/linux/linux_file.c
+++ b/sys/compat/linux/linux_file.c
@@ -1740,12 +1740,17 @@
char *path;
int error, dfd, flag;
- if (args->flag & ~LINUX_AT_SYMLINK_NOFOLLOW)
+ if (args->flag & ~(LINUX_AT_SYMLINK_NOFOLLOW | LINUX_AT_EMPTY_PATH)) {
+ linux_msg(td, "fchownat unsupported flag 0x%x", args->flag);
return (EINVAL);
+ }
- dfd = (args->dfd == LINUX_AT_FDCWD) ? AT_FDCWD : args->dfd;
flag = (args->flag & LINUX_AT_SYMLINK_NOFOLLOW) == 0 ? 0 :
AT_SYMLINK_NOFOLLOW;
+ flag |= (args->flag & LINUX_AT_EMPTY_PATH) == 0 ? 0 :
+ AT_EMPTY_PATH;
+
+ dfd = (args->dfd == LINUX_AT_FDCWD) ? AT_FDCWD : args->dfd;
if (!LUSECONVPATH(td)) {
return (kern_fchownat(td, dfd, args->filename, UIO_USERSPACE,
args->uid, args->gid, flag));

File Metadata

Mime Type
text/plain
Expires
Tue, Jun 9, 10:15 PM (7 h, 12 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
33820770
Default Alt Text
D29108.diff (844 B)

Event Timeline