Re: [PATCH v4 03/10] man/man2/fspick.2: document "new" mount API
From: Askar Safin <hidden>
Date: 2025-09-22 00:25:48
Also in:
linux-fsdevel, linux-man, lkml
From: Askar Safin <hidden>
Date: 2025-09-22 00:25:48
Also in:
linux-fsdevel, linux-man, lkml
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/ (local) -- Askar Safin