Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 11 Dec 2018 02:48:49 +0000 (UTC)
From:      Konstantin Belousov <kib@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r341809 - in head: lib/libc/sys sys/kern
Message-ID:  <201812110248.wBB2mnEL043030@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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 <jack@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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201812110248.wBB2mnEL043030>