Author: kib
Date: Tue Dec 11 02:48:49 2018
New Revision: 341809
URL: https://svnweb.freebsd.org/changeset/base/341809

Log:
  Remove special case handling for getfhat(fd, NULL, handle).
  
  There is no reason for it to behave differently from openat(fd, NULL).
  Also the handling did not worked because the substituted path was from
  the system address space, causing EFAULT.
  
  Submitted by: Jack Halford <j...@gandi.net>
  MFC after:    1 week
  Differential revision:        https://reviews.freebsd.org/D18501

Modified:
  head/lib/libc/sys/getfh.2
  head/sys/kern/vfs_syscalls.c

Modified: head/lib/libc/sys/getfh.2
==============================================================================
--- head/lib/libc/sys/getfh.2   Tue Dec 11 02:16:27 2018        (r341808)
+++ head/lib/libc/sys/getfh.2   Tue Dec 11 02:48:49 2018        (r341809)
@@ -29,7 +29,7 @@
 .\"    @(#)getfh.2     8.1 (Berkeley) 6/9/93
 .\" $FreeBSD$
 .\"
-.Dd December 7, 2018
+.Dd December 11, 2018
 .Dt GETFH 2
 .Os
 .Sh NAME
@@ -76,12 +76,12 @@ and
 .Fn lgetfh
 except when the
 .Fa path
-specifies a relative or NULL path, or the
+specifies a relative path, or the
 .Dv AT_BENEATH
 flag is provided.
 For
 .Fn getfhat
-and relative or NULL
+and relative
 .Fa path ,
 the status is retrieved from a file relative to
 the directory associated with the file descriptor

Modified: head/sys/kern/vfs_syscalls.c
==============================================================================
--- head/sys/kern/vfs_syscalls.c        Tue Dec 11 02:16:27 2018        
(r341808)
+++ head/sys/kern/vfs_syscalls.c        Tue Dec 11 02:48:49 2018        
(r341809)
@@ -4196,8 +4196,8 @@ sys_getfhat(struct thread *td, struct getfhat_args *ua
 
        if ((uap->flags & ~(AT_SYMLINK_NOFOLLOW | AT_BENEATH)) != 0)
            return (EINVAL);
-       return (kern_getfhat(td, uap->flags, uap->fd, uap->path ? uap->path : 
".",
-           UIO_USERSPACE, uap->fhp));
+       return (kern_getfhat(td, uap->flags, uap->fd, uap->path, UIO_USERSPACE,
+           uap->fhp));
 }
 
 static int
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to