Commit d3f4141d authored by Theodore Ts'o's avatar Theodore Ts'o Committed by sanglipeng
Browse files

ext4: improve error recovery code paths in __ext4_remount()

stable inclusion
from stable-v5.10.180
commit 37c69da3adc45fc34df0b8d07a158a6fa5b2a3f7
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/I8FC2O

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=37c69da3adc45fc34df0b8d07a158a6fa5b2a3f7

--------------------------------

commit 4c0b4818 upstream.

If there are failures while changing the mount options in
__ext4_remount(), we need to restore the old mount options.

This commit fixes two problem.  The first is there is a chance that we
will free the old quota file names before a potential failure leading
to a use-after-free.  The second problem addressed in this commit is
if there is a failed read/write to read-only transition, if the quota
has already been suspended, we need to renable quota handling.

Cc: stable@kernel.org
Link: https://lore.kernel.org/r/20230506142419.984260-2-tytso@mit.edu


Signed-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: default avatarsanglipeng <sanglipeng1@jd.com>

Conflicts:
	fs/ext4/super.c
parent 09044bb3
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment