tree af52b942aba6e0539e65ebfced7d46f8bb770cfd
parent 858fd168a95c5b9669aac8db6c14a9aeab446375
author Mickaël Salaün <mic@digikod.net> 1686597265 +0200
committer Mickaël Salaün <mic@digikod.net> 1686597979 +0200
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iIYEABYIAC4WIQSVyBthFV4iTW/VU1/l49DojIL20gUCZIdxXBAcbWljQGRpZ2lr
 b2QubmV0AAoJEOXj0OiMgvbSis4A+wXWbhZ0iMlZdoafDUB8ft49NjCOC4owQtjp
 ++sn1iXBAQDiOnmhQSmEt5453qVb/hDe+sm6Vdi2XW+iYlREvDogBg==
 =ho1w
 -----END PGP SIGNATURE-----

hostfs: Fix ephemeral inodes

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>
