Message ID | 20240527075854.1260981-1-lihongbo22@huawei.com (mailing list archive) |
---|---|
Headers | show |
Series | enhance the path resolution capability in fs_parser | expand |
On Mon, May 27, 2024 at 03:58:50PM +0800, Hongbo Li wrote: > Mount options with path should be parsed into block device or inode. As > the new mount API provides a serial of parsers, path should also be > looked up into block device within these parsers, not in each specific > filesystem. The problem is that by moving those options into the VFS layer we're dictating when and with what permissions paths are resolved. Parsing of parameters via fsconfig(FSCONFIG_SET_*) and superblock creation via fsconfig(FSCONFIG_CMD_CREAT) can happen in different contexts. It's entirely possible that the parameter is set by an unprivileged task that cannot open the provided path while the task that actually creates the superblock does have the permission to resolve the path. It's also legitimate that a filesystem may want to explicitly delay all path resolution until the superblock is created and not resolve the path right when it's passed. That wouldn't be possible anymore after your changes. So this is a more subtle change than it seems and I'm not sure it's worth it.