Currently, LUO does not prevent the same file from being preserved twice across different active sessions.
Because LUO preserves files of absolutely different types: memfd, and upcoming vfiofd [1], iommufd [2], guestmefd (and possible kvmfd/cpufd). There is no common private data or guarantee on how to prevent that the same file is not preserved twice beside using inode or some slower and expensive method like hashtables. [1] https://lore.kernel.org/all/[email protected] [2] https://lore.kernel.org/all/[email protected] Changelog: v3: - Renamed luo_preserved_files_xa to luo_preserved_files (Mike) - Added xa inserts during restoration, so a file that is not yet finished is not preserved at the same time. (Sashiko) v2: - Because inodes of preserved files can be shared, we cannot rely on a flag in the inode. Therefore, use an xarray to prevent preserving duplicated files. Pasha Tatashin (2): liveupdate: prevent double management of files selftests: liveupdate: add test for double preservation kernel/liveupdate/luo_file.c | 26 ++++++++++-- .../testing/selftests/liveupdate/liveupdate.c | 41 +++++++++++++++++++ 2 files changed, 64 insertions(+), 3 deletions(-) base-commit: 785f0eb2f85decbe7c1ef9ae922931f0194ffc2e -- 2.43.0

