Page MenuHomeFreeBSD

D50375.id155576.diff
No OneTemporary

D50375.id155576.diff

diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc
--- a/ObsoleteFiles.inc
+++ b/ObsoleteFiles.inc
@@ -51,6 +51,9 @@
# xargs -n1 | sort | uniq -d;
# done
+# 20250516: NDFREE(9) -> NDFREE_PNBUF(9)
+OLD_FILES+=usr/share/man/man9/NDFREE.9.gz
+
# 20250511: mailx test renamed
OLD_FILES+=usr/tests/usr.bin/mail/mail_sigint_test
diff --git a/share/man/man9/Makefile b/share/man/man9/Makefile
--- a/share/man/man9/Makefile
+++ b/share/man/man9/Makefile
@@ -1639,7 +1639,7 @@
mutex.9 mtx_unlock_flags.9 \
mutex.9 mtx_unlock_spin.9 \
mutex.9 mtx_unlock_spin_flags.9
-MLINKS+=namei.9 NDFREE.9 \
+MLINKS+=namei.9 NDFREE_PNBUF.9 \
namei.9 NDINIT.9
MLINKS+=netisr.9 netisr_clearqdrops.9 \
netisr.9 netisr_default_flow2cpu.9 \
diff --git a/share/man/man9/namei.9 b/share/man/man9/namei.9
--- a/share/man/man9/namei.9
+++ b/share/man/man9/namei.9
@@ -31,13 +31,13 @@
.\" If you integrate this manpage in another OS, I'd appreciate a note
.\" - eivind@FreeBSD.org
.\"
-.Dd December 17, 2024
+.Dd May 16, 2025
.Dt NAMEI 9
.Os
.Sh NAME
.Nm namei ,
.Nm NDINIT ,
-.Nm NDFREE
+.Nm NDFREE_PNBUF
.Nd pathname translation and lookup operations
.Sh SYNOPSIS
.In sys/param.h
@@ -48,10 +48,10 @@
.Ft void
.Fo NDINIT
.Fa "struct nameidata *ndp" "u_long op" "u_long flags"
-.Fa "enum uio_seg segflg" "const char *namep" "struct thread *td"
+.Fa "enum uio_seg segflg" "const char *namep"
.Fc
.Ft void
-.Fn NDFREE "struct nameidata *ndp" "const uint flags"
+.Fn NDFREE_PNBUF "struct nameidata *ndp"
.Sh DESCRIPTION
The
.Nm
@@ -71,13 +71,13 @@
.Pp
The
.Fn NDINIT
-function is used to initialize
+macro is used to initialize
.Nm
components.
It takes the following arguments:
.Bl -tag -width ".Fa segflg"
.It Fa ndp
-The
+A pointer to the
.Vt "struct nameidata"
to initialize.
.It Fa op
@@ -106,10 +106,22 @@
.It Fa namep
Pointer to the component's pathname buffer
(the file or directory name that will be looked up).
-.It Fa td
-The thread context to use for
-.Nm
-operations and locks.
+.El
+.Pp
+The
+.Fn NDFREE_PNBUF
+macro is used to free the pathname buffer.
+It must be called exactly once for each successful
+.Fn namei
+call.
+It takes the following argument:
+.Bl -tag -width ".Fa segflg"
+.It Fa ndp
+A pointer to a
+.Vt "struct nameidata"
+that was used in a successful
+.Fn namei
+call.
.El
.Sh NAMEI OPERATION FLAGS
The
@@ -203,17 +215,6 @@
.Dv NOFOLLOW
is used to indicate to the source code reader that symlinks
are intentionally not followed.
-.It Dv SAVENAME
-Do not free the pathname buffer at the end of the
-.Fn namei
-invocation; instead, free it later in
-.Fn NDFREE
-so that the caller may access the pathname buffer.
-See below for details.
-.It Dv SAVESTART
-Retain an additional reference to the parent directory; do not free
-the pathname buffer.
-See below for details.
.El
.Sh ALLOCATED ELEMENTS
The

File Metadata

Mime Type
text/plain
Expires
Thu, Dec 25, 6:44 PM (14 h, 34 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
27256866
Default Alt Text
D50375.id155576.diff (2 KB)

Event Timeline