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>