linux-yocto/fs/isofs
Jonas 'Sortie' Termansen 7e73f517ca isofs: fix Y2038 and Y2156 issues in Rock Ridge TF entry
[ Upstream commit 5ea45f54c8 ]

This change implements the Rock Ridge TF entry LONG_FORM bit, which uses
the ISO 9660 17-byte date format (up to year 9999, with 10ms precision)
instead of the 7-byte date format (up to year 2155, with 1s precision).

Previously the LONG_FORM bit was ignored; and isofs would entirely
misinterpret the date as the wrong format, resulting in garbage
timestamps on the filesystem.

The Y2038 issue in iso_date() is fixed by returning a struct timespec64
instead of an int.

parse_rock_ridge_inode_internal() is fixed so it does proper bounds
checks of the TF entry timestamps.

Signed-off-by: Jonas 'Sortie' Termansen <sortie@maxsi.org>
Signed-off-by: Jan Kara <jack@suse.cz>
Link: https://patch.msgid.link/20250411145022.2292255-1-sortie@maxsi.org
Signed-off-by: Sasha Levin <sashal@kernel.org>
2025-06-27 11:11:34 +01:00
..
compress.c isofs: Remove calls to set/clear the error flag 2024-04-23 23:22:11 +02:00
dir.c isofs: fix KMSAN uninit-value bug in do_isofs_readdir() 2025-04-10 14:39:22 +02:00
export.c isofs: Prevent the use of too small fid 2025-04-25 10:47:52 +02:00
inode.c isofs: fix Y2038 and Y2156 issues in Rock Ridge TF entry 2025-06-27 11:11:34 +01:00
isofs.h isofs: fix Y2038 and Y2156 issues in Rock Ridge TF entry 2025-06-27 11:11:34 +01:00
joliet.c
Kconfig
Makefile isofs: Use *-y instead of *-objs in Makefile 2024-05-09 18:09:57 +02:00
namei.c
rock.c isofs: fix Y2038 and Y2156 issues in Rock Ridge TF entry 2025-06-27 11:11:34 +01:00
rock.h isofs: fix Y2038 and Y2156 issues in Rock Ridge TF entry 2025-06-27 11:11:34 +01:00
util.c isofs: fix Y2038 and Y2156 issues in Rock Ridge TF entry 2025-06-27 11:11:34 +01:00
zisofs.h