[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250922002529.95574-1-safinaskar@gmail.com>
Date: Mon, 22 Sep 2025 03:25:29 +0300
From: Askar Safin <safinaskar@...il.com>
To: cyphar@...har.com
Cc: alx@...nel.org,
brauner@...nel.org,
dhowells@...hat.com,
g.branden.robinson@...il.com,
jack@...e.cz,
linux-api@...r.kernel.org,
linux-fsdevel@...r.kernel.org,
linux-kernel@...r.kernel.org,
linux-man@...r.kernel.org,
mtk.manpages@...il.com,
safinaskar@...omail.com,
viro@...iv.linux.org.uk
Subject: Re: [PATCH v4 03/10] man/man2/fspick.2: document "new" mount API
> With the notable caveat that in this example, mount(2) will clear all other filesystem parameters (such as MS_NOSUID or MS_NOEXEC); fsconfig(2) will only modify the ro parameter.
MS_NOSUID and MS_NOEXEC are not filesystem parameters. They can be set per-mount, but not
per-filesystem. Here is list of all filesystem-agnostic per-superblock parameters:
https://elixir.bootlin.com/linux/v6.17-rc6/source/fs/namespace.c#L4103
Note that these SB_* constants are equal to corresponding MS_* constants.
As you can see, there is no NOSUID and NOEXEC in that list.
Also, SB_NOSUID does exist:
https://elixir.bootlin.com/linux/v6.17-rc6/source/include/linux/fs.h#L1240
.
So, it seems that "NOSUID superblock" does exist as a concept. But, thanks to
code in path_mount (provided above) user cannot (in filesystem-agnostic way)
make given superblock NOSUID.
So, from user point of view, NOSUID and NOEXEC are not filesystem parameters.
If you need some example of filesystem parameter, I suggest MS_SYNCHRONOUS,
I used it here:
https://lore.kernel.org/all/198d1f2e189.11dbac16b2998.3847935512688537521@zohomail.com/
--
Askar Safin
Powered by blists - more mailing lists