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"