mirror of
https://github.com/torvalds/linux.git
synced 2024-11-23 20:51:44 +00:00
74ce793bcb
hostfs creates a new inode for each opened or created file, which created useless inode allocations and forbade identifying a host file with a kernel inode. Fix this uncommon filesystem behavior by tying kernel inodes to host file's inode and device IDs. Even if the host filesystem inodes may be recycled, this cannot happen while a file referencing it is opened, which is the case with hostfs. It should be noted that hostfs inode IDs may not be unique for the same hostfs superblock because multiple host's (backed) superblocks may be used. Delete inodes when dropping them to force backed host's file descriptors closing. This enables to entirely remove ARCH_EPHEMERAL_INODES, and then makes Landlock fully supported by UML. This is very useful for testing changes. These changes also factor out and simplify some helpers thanks to the new hostfs_inode_update() and the hostfs_iget() revamp: read_name(), hostfs_create(), hostfs_lookup(), hostfs_mknod(), and hostfs_fill_sb_common(). A following commit with new Landlock tests check this new hostfs inode consistency. Cc: Anton Ivanov <anton.ivanov@cambridgegreys.com> Cc: Johannes Berg <johannes@sipsolutions.net> Acked-by: Richard Weinberger <richard@nod.at> Link: https://lore.kernel.org/r/20230612191430.339153-2-mic@digikod.net Signed-off-by: Mickaël Salaün <mic@digikod.net>
22 lines
905 B
Plaintext
22 lines
905 B
Plaintext
# SPDX-License-Identifier: GPL-2.0-only
|
|
|
|
config SECURITY_LANDLOCK
|
|
bool "Landlock support"
|
|
depends on SECURITY
|
|
select SECURITY_PATH
|
|
help
|
|
Landlock is a sandboxing mechanism that enables processes to restrict
|
|
themselves (and their future children) by gradually enforcing
|
|
tailored access control policies. A Landlock security policy is a
|
|
set of access rights (e.g. open a file in read-only, make a
|
|
directory, etc.) tied to a file hierarchy. Such policy can be
|
|
configured and enforced by any processes for themselves using the
|
|
dedicated system calls: landlock_create_ruleset(),
|
|
landlock_add_rule(), and landlock_restrict_self().
|
|
|
|
See Documentation/userspace-api/landlock.rst for further information.
|
|
|
|
If you are unsure how to answer this question, answer N. Otherwise,
|
|
you should also prepend "landlock," to the content of CONFIG_LSM to
|
|
enable Landlock at boot time.
|