[PATCH] man/man2/setns.2: clarify type of nsfs fd required

From: Alyssa Ross

Date: Sat Dec 13 2025 - 12:59:32 EST


I was surprised to discover than an O_PATH file descriptor was
insufficient. Since the mode of nsfs files is always 0444, tell
callers to always a file descriptor opened for reading.

Signed-off-by: Alyssa Ross <hi@xxxxxxxxx>
---
man/man2/setns.2 | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/man/man2/setns.2 b/man/man2/setns.2
index ea6a9c054..ed4937280 100644
--- a/man/man2/setns.2
+++ b/man/man2/setns.2
@@ -23,7 +23,7 @@ The
.I fd
argument is one of the following:
.IP \[bu] 3
-a file descriptor referring to one of the magic links in a
+a file descriptor opened for reading one of the magic links in a
.IR /proc/ pid /ns/
directory (or a bind mount to such a link);
.IP \[bu]
@@ -265,6 +265,12 @@ is set to indicate the error.
.I fd
is not a valid file descriptor.
.TP
+.B EBADF
+.I fd
+is an
+.B O_PATH
+file descriptor.
+.TP
.B EINVAL
.I fd
refers to a namespace whose type does not match that specified in

base-commit: 46950a0845de91c422efe6c639091ace42cb92f8
--
2.51.0