Re: [PATCH v1 01/10] man/man2/statmount.2: Document req.mnt_ns_id and STATMOUNT_MNT_NS_ID

Alejandro Colomar <[email protected]> Wed, 11 Feb 2026 14:39:33 +0100
Newsgroups dev.linux.lists.criu,org.kernel.vger.linux-man
Message-ID <aYyF1NWuzxTPr5pE@devuan>
Hi Bhavik,

On 2026-02-10T02:47:34+0530, Bhavik Sachdev wrote:
> Document the new mnt_ns_id parameter to struct mnt_id_req and the
> STATMOUNT_MNT_NS_ID flag.
> 
> req.mnt_ns_id can be used to query for a mount in a foreign mount
> namespace.
> 
> STATMOUNT_MNT_NS_ID can be used to retreive the mnt_ns_id of the mount
> being queried.
> 
> The mnt_ns_id parameter description is based on this commit message [1]
> and STATMOUNT_MNT_NS_ID text is based on [2].
> 
> Link [1]:
> <https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=71aacb4c8c3d19da053363a5fe7538a8af082d56>
> Link [2]:
> <https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=09b31295f833031c88419550172703d45c5401e3>
> 
> Signed-off-by: Bhavik Sachdev <[email protected]>
> ---
>  man/man2/statmount.2 | 22 +++++++++++++++++++---
>  1 file changed, 19 insertions(+), 3 deletions(-)
> 
> diff --git a/man/man2/statmount.2 b/man/man2/statmount.2
> index cdc96da92..f5c4da122 100644
> --- a/man/man2/statmount.2
> +++ b/man/man2/statmount.2
> @@ -23,9 +23,10 @@ .SH SYNOPSIS
>  .P
>  .EX
>  .B struct mnt_id_req {
> -.BR "    __u32  size;" "    /* sizeof(struct mnt_id_req) */"
> -.BR "    __u64  mnt_id;" "  /* The mnt_id being queried */"
> -.BR "    __u64  param;" "   /* An ORed combination of the STATMOUNT_ constants */"
> +.BR "    __u32  size;" "        /* sizeof(struct mnt_id_req) */"
> +.BR "    __u64  mnt_id;" "      /* The mnt_id being queried */"
> +.BR "    __u64  param;" "       /* An ORed combination of the STATMOUNT_ constants */"
> +.BR "    __u32  mnt_ns_id;" "   /* The id of mnt_ns to query the mnt_id in */"
>  .B };
>  .P
>  .B struct statmount {
> @@ -47,6 +48,7 @@ .SH SYNOPSIS
>  .B "    __u64  propagate_from;"
>  .B "    __u32  mnt_root;"
>  .B "    __u32  mnt_point;"
> +.B "    __u64  mnt_ns_id;"
>  .B "    char   str[];"
>  .B };
>  .EE
> @@ -59,6 +61,9 @@ .SH SYNOPSIS
>  .SH DESCRIPTION
>  To access a mount's status,
>  the caller must have CAP_SYS_ADMIN in the user namespace.
> +In case of accessing a mount in a foreign mount namespace (specified via
> +.IR req.mnt_ns_id ),
> +the foreign mount namespace should be child of the current namespace.
>  .P
>  This function returns information about a mount,
>  storing it in the buffer pointed to by
> @@ -102,6 +107,7 @@ .SS The mnt_id_req structure
>  STATMOUNT_MNT_ROOT	/* Want/got mnt_root  */
>  STATMOUNT_MNT_POINT	/* Want/got mnt_point */
>  STATMOUNT_FS_TYPE	/* Want/got fs_type */
> +STATMOUNT_MNT_NS_ID	/* Want/got mnt_ns_id */
>  .TE
>  .in
>  .P
> @@ -130,6 +136,13 @@ .SS The mnt_id_req structure
>  as one or more bits may,
>  in the future,
>  be used to specify an extension to the buffer.
> +.P
> +.I req.mnt_ns_id
> +can be obtained from
> +.B NS_GET_MNTNS_ID

Should this ioctl(2) be documented?  I don't find it in any manual page.
You don't need to do it in this patch set, though.

> +.BR ioctl (2)
> +operation and is used to specify a foreign mount namespace in which to query
> +.IR req.mnt_id .
>  .SS The returned information
>  The status information for the target mount is returned in the
>  .I statmount
> @@ -232,6 +245,9 @@ .SS The returned information
>  relative to the current root (ie if you are in a
>  .BR chroot ).
>  It is a null-terminated string.
> +.TP
> +.I smbuf.mnt_ns_id

We should document the Linux version in which this was added.  It should
be something like this

.IR smbuf.mnt_ns_id " (since Linux 1.23)"


Have a lovely day!
Alex

> +The unique ID of the mount namespace the mount belongs to.
>  .SH RETURN VALUE
>  On success, zero is returned.
>  On error, \-1 is returned, and
> -- 
> 2.53.0
> 
> 

-- 
<https://www.alejandro-colomar.es>
signature.asc (application/pgp-signature, 833 B)
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEES7Jt9u9GbmlWADAi64mZXMKQwqkFAmmMhpQACgkQ64mZXMKQ
wqlDBA/+Nr3IuKqY2THokCmpcqtIiPLXta+YlRlx1fG00uNBe42A8F7h4RRrrx6P
IZQncpwWsb/2PMWzL2p4/LOXgyZrJM3z4RhNvkkXOtZEMkTbKx84VTZAyKe452qg
K3foWHka9ulWkXDvUrDAMw4YoOFa6fbJziB/4ul9DSc2tpvX02c7y/KLktQgUnp4
8ruEg4fBpdrhyWMqM2X5BUJ6xl3hTE5driz99LStbHoVELM5KdLAFtsqU+sLPHME
Tt+M+4QW078TEFb6gnF4uVxJc0ir5Uitc7KIcKu1+n/f/8vOesiBz3VNRrgm2nhp
h7ru9mf0MA+AB8yJS/XUiZJIrnJDuXFlsmli0ki6xxBv/n3eVlJ3xbD3pbmHjkcF
xsmruKWhyp8cwyxXD7WM5woqG/aZhSw3meMchAjjDzcP2+RxdFCZgNA3VTUWjWj6
OZIQLH5c/PFSHcBNOORXr9cVqfIq+wWK1W2aH44WVpmIYfeSGBXYIdjyf/d4mLEf
VGsIatOSg8HxtJU4GEAd4Vwq5TdSlqIogOBB4K3OE9jTrHs7PmQ5k71wJPQEeZ5W
5kmf3gUO5zzicZuqcNdqDris9WH/geEJ3WXmGXVATL1uMJXl8Fpx3wjciLI3QgGc
jLFMwXOBJad8nqBExOYIDmW9Wskz2kzxvu5YOK90VU6TeRzf0ys=
=WSCN
-----END PGP SIGNATURE-----