git: ecb5fe3c5e48 - main - nv.9: Add a new subsection documenting kernel-specific behavior
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 03 Jan 2025 15:52:06 UTC
The branch main has been updated by jhb:
URL: https://cgit.FreeBSD.org/src/commit/?id=ecb5fe3c5e483e09544645ba84281b4a8cba4edf
commit ecb5fe3c5e483e09544645ba84281b4a8cba4edf
Author: John Baldwin <jhb@FreeBSD.org>
AuthorDate: 2025-01-03 15:51:51 +0000
Commit: John Baldwin <jhb@FreeBSD.org>
CommitDate: 2025-01-03 15:51:51 +0000
nv.9: Add a new subsection documenting kernel-specific behavior
Reviewed by: emaste
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D48257
---
share/man/man9/nv.9 | 32 +++++++++++++++++++++++++++++++-
1 file changed, 31 insertions(+), 1 deletion(-)
diff --git a/share/man/man9/nv.9 b/share/man/man9/nv.9
index 4e4542c146ef..8c99f1d12200 100644
--- a/share/man/man9/nv.9
+++ b/share/man/man9/nv.9
@@ -859,7 +859,7 @@ If no element named
.Fa name
with the appropriate type exists, the program aborts.
The nvlist must not be in the error state.
-.Sh NOTES
+.Ss Notes
The
.Fn nvlist_pack
and
@@ -873,6 +873,36 @@ The
and
.Fn nvlist_xfer
functions can transfer nvlists between hosts with different endianness.
+.Ss Kernel Considerations
+The
+.Nm nv ,
+.Nm cnv ,
+and
+.Nm dnv
+APIs can be used in the kernel with the following differences:
+.Bl -bullet
+.It
+File descriptor and file descriptor array value types are not supported.
+.It
+.Fn nvlist_recv ,
+.Fn nvlist_send ,
+and
+.Fn nvlist_xfer
+are not supported.
+.It
+All memory allocations use the
+.Dv M_NVLIST
+memory type with
+.Xr malloc 9
+and
+.Xr free 9 .
+As a result, any allocated buffers moved into an nvlist must be allocated with
+.Dv M_NVLIST ,
+and buffers returned by functions such as
+.Fn nvlist_pack
+must be freed with
+.Dv M_NVLIST .
+.El
.Sh EXAMPLES
The following example demonstrates how to prepare an nvlist and send it over a
.Xr unix 4