Module Name:    src
Committed By:   msaitoh
Date:           Mon Dec 22 02:05:08 UTC 2014

Modified Files:
        src/sys/fs/tmpfs [netbsd-7]: tmpfs_subr.c tmpfs_vnops.c

Log Message:
Pull up following revision(s) (requested by gson in ticket #344):
        sys/fs/tmpfs/tmpfs_vnops.c: revision 1.121
        sys/fs/tmpfs/tmpfs_subr.c: revision 1.97
Store symlinks without a NUL terminator so that lstat(2) returns the
correct length.  Fixes the tmpfs part of PR kern/48864.


To generate a diff of this commit:
cvs rdiff -u -r1.96 -r1.96.4.1 src/sys/fs/tmpfs/tmpfs_subr.c
cvs rdiff -u -r1.120 -r1.120.2.1 src/sys/fs/tmpfs/tmpfs_vnops.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/fs/tmpfs/tmpfs_subr.c
diff -u src/sys/fs/tmpfs/tmpfs_subr.c:1.96 src/sys/fs/tmpfs/tmpfs_subr.c:1.96.4.1
--- src/sys/fs/tmpfs/tmpfs_subr.c:1.96	Thu Jan 23 10:13:56 2014
+++ src/sys/fs/tmpfs/tmpfs_subr.c	Mon Dec 22 02:05:08 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: tmpfs_subr.c,v 1.96 2014/01/23 10:13:56 hannken Exp $	*/
+/*	$NetBSD: tmpfs_subr.c,v 1.96.4.1 2014/12/22 02:05:08 msaitoh Exp $	*/
 
 /*
  * Copyright (c) 2005-2013 The NetBSD Foundation, Inc.
@@ -74,7 +74,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: tmpfs_subr.c,v 1.96 2014/01/23 10:13:56 hannken Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tmpfs_subr.c,v 1.96.4.1 2014/12/22 02:05:08 msaitoh Exp $");
 
 #include <sys/param.h>
 #include <sys/cprng.h>
@@ -185,7 +185,6 @@ tmpfs_alloc_node(tmpfs_mount_t *tmp, enu
 		}
 
 		KASSERT(nnode->tn_size < MAXPATHLEN);
-		nnode->tn_size++; /* include the NUL terminator */
 
 		nnode->tn_spec.tn_lnk.tn_link =
 		    tmpfs_strname_alloc(tmp, nnode->tn_size);

Index: src/sys/fs/tmpfs/tmpfs_vnops.c
diff -u src/sys/fs/tmpfs/tmpfs_vnops.c:1.120 src/sys/fs/tmpfs/tmpfs_vnops.c:1.120.2.1
--- src/sys/fs/tmpfs/tmpfs_vnops.c:1.120	Fri Jul 25 08:20:52 2014
+++ src/sys/fs/tmpfs/tmpfs_vnops.c	Mon Dec 22 02:05:08 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: tmpfs_vnops.c,v 1.120 2014/07/25 08:20:52 dholland Exp $	*/
+/*	$NetBSD: tmpfs_vnops.c,v 1.120.2.1 2014/12/22 02:05:08 msaitoh Exp $	*/
 
 /*
  * Copyright (c) 2005, 2006, 2007 The NetBSD Foundation, Inc.
@@ -35,7 +35,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: tmpfs_vnops.c,v 1.120 2014/07/25 08:20:52 dholland Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tmpfs_vnops.c,v 1.120.2.1 2014/12/22 02:05:08 msaitoh Exp $");
 
 #include <sys/param.h>
 #include <sys/dirent.h>
@@ -1036,7 +1036,7 @@ tmpfs_readlink(void *v)
 	/* Note: readlink(2) returns the path without NUL terminator. */
 	if (node->tn_size > 0) {
 		error = uiomove(node->tn_spec.tn_lnk.tn_link,
-		    MIN(node->tn_size - 1, uio->uio_resid), uio);
+		    MIN(node->tn_size, uio->uio_resid), uio);
 	} else {
 		error = 0;
 	}

Reply via email to