Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 9 Oct 2019 14:35:09 +0000 (UTC)
From:      Ed Maste <emaste@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org
Subject:   svn commit: r353347 - stable/12/sys/kern
Message-ID:  <201910091435.x99EZ9t7002429@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: emaste
Date: Wed Oct  9 14:35:09 2019
New Revision: 353347
URL: https://svnweb.freebsd.org/changeset/base/353347

Log:
  MFC r353021: simplify path handling in sysctl_try_reclaim_vnode
  
  MAXPATHLEN / PATH_MAX includes space for the terminating NUL, and namei
  verifies the presence of the NUL.  Thus there is no need to increase the
  buffer size here.
  
  The sysctl passes the string excluding the NUL, so req->newlen equal to
  PATH_MAX is too long.
  
  Sponsored by:	The FreeBSD Foundation

Modified:
  stable/12/sys/kern/vfs_subr.c
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/sys/kern/vfs_subr.c
==============================================================================
--- stable/12/sys/kern/vfs_subr.c	Wed Oct  9 14:09:57 2019	(r353346)
+++ stable/12/sys/kern/vfs_subr.c	Wed Oct  9 14:35:09 2019	(r353347)
@@ -352,10 +352,10 @@ sysctl_try_reclaim_vnode(SYSCTL_HANDLER_ARGS)
 
 	if (req->newptr == NULL)
 		return (EINVAL);
-	if (req->newlen > PATH_MAX)
+	if (req->newlen >= PATH_MAX)
 		return (E2BIG);
 
-	buf = malloc(PATH_MAX + 1, M_TEMP, M_WAITOK);
+	buf = malloc(PATH_MAX, M_TEMP, M_WAITOK);
 	error = SYSCTL_IN(req, buf, req->newlen);
 	if (error != 0)
 		goto out;



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