jbd2: avoid transaction reuse after reformatting
mainline inclusion from mainline-v5.10-rc1 commit fc750a3b category: bugfix bugzilla: 45093 CVE: NA ----------------------------------------------- When ext4 is formatted with lazy_journal_init=1 and transactions from the previous filesystem are still on disk, it is possible that they are considered during a recovery after a crash. Because the checksum seed has changed, the CRC check will fail, and the journal recovery fails with checksum error although the journal is otherwise perfectly valid. Fix the problem by checking commit block time stamps to determine whether the data in the journal block is just stale or whether it is indeed corrupt. Reported-by:kernel test robot <lkp@intel.com> Reviewed-by:
Andreas Dilger <adilger@dilger.ca> Signed-off-by:
Fengnan Chang <changfengnan@hikvision.com> Signed-off-by:
Jan Kara <jack@suse.cz> Link: https://lore.kernel.org/r/20201012164900.20197-1-jack@suse.cz Signed-off-by:
Theodore Ts'o <tytso@mit.edu> Signed-off-by:
Ye Bin <yebin10@huawei.com> Reviewed-by:
Zhang Yi <yi.zhang@huawei.com> Signed-off-by:
Yang Yingliang <yangyingliang@huawei.com>
Please register or sign in to comment