svn commit: r253969 - head/sys/kern

Konstantin Belousov kib at FreeBSD.org
Mon Aug 5 19:42:04 UTC 2013


Author: kib
Date: Mon Aug  5 19:42:03 2013
New Revision: 253969
URL: http://svnweb.freebsd.org/changeset/base/253969

Log:
  Do not override the ENOENT error for the empty path, or EFAULT errors
  from copyins, with the relative lookup check.
  
  Discussed with:	rwatson
  Sponsored by:	The FreeBSD Foundation
  MFC after:	1 week

Modified:
  head/sys/kern/vfs_lookup.c

Modified: head/sys/kern/vfs_lookup.c
==============================================================================
--- head/sys/kern/vfs_lookup.c	Mon Aug  5 19:06:28 2013	(r253968)
+++ head/sys/kern/vfs_lookup.c	Mon Aug  5 19:42:03 2013	(r253969)
@@ -172,7 +172,8 @@ namei(struct nameidata *ndp)
 	 * not an absolute path, and not containing '..' components) to
 	 * a real file descriptor, not the pseudo-descriptor AT_FDCWD.
 	 */
-	if (IN_CAPABILITY_MODE(td) && (cnp->cn_flags & NOCAPCHECK) == 0) {
+	if (error == 0 && IN_CAPABILITY_MODE(td) &&
+	    (cnp->cn_flags & NOCAPCHECK) == 0) {
 		ndp->ni_strictrelative = 1;
 		if (ndp->ni_dirfd == AT_FDCWD) {
 #ifdef KTRACE


More information about the svn-src-head mailing list