linux/fs/gfs2
Alexey Velichayshiy 3715bb43cc gfs2: fix freeze error handling
commit 4cfc7d5a4a upstream.

After commit b77b4a4815 ("gfs2: Rework freeze / thaw logic"),
the freeze error handling is broken because gfs2_do_thaw()
overwrites the 'error' variable, causing incorrect processing
of the original freeze error.

Fix this by calling gfs2_do_thaw() when gfs2_lock_fs_check_clean()
fails but ignoring its return value to preserve the original
freeze error for proper reporting.

Found by Linux Verification Center (linuxtesting.org) with SVACE.

Fixes: b77b4a4815 ("gfs2: Rework freeze / thaw logic")
Cc: stable@vger.kernel.org # v6.5+
Signed-off-by: Alexey Velichayshiy <a.velichayshiy@ispras.ru>
Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2026-01-02 12:57:08 +01:00
..
acl.c gfs2: convert to ctime accessor functions 2023-07-24 10:29:59 +02:00
acl.h gfs2: No longer use 'extern' in function declarations 2023-11-06 01:51:26 +01:00
aops.c iomap: pass more arguments using the iomap writeback context 2025-07-14 10:51:31 +02:00
aops.h gfs2: Don't start unnecessary transactions during log flush 2025-05-22 09:12:27 +02:00
bmap.c iomap: replace iomap_folio_ops with iomap_write_ops 2025-07-14 10:51:33 +02:00
bmap.h iomap: replace iomap_folio_ops with iomap_write_ops 2025-07-14 10:51:33 +02:00
dentry.c gfs2_drevalidate(): use stable parent inode and name passed by caller 2025-01-27 19:25:24 -05:00
dir.c gfs2: Validate i_depth for exhash directories 2025-07-16 15:26:44 +02:00
dir.h gfs2: No longer use 'extern' in function declarations 2023-11-06 01:51:26 +01:00
export.c exportfs: Remove EXPORT_OP_ASYNC_LOCK 2024-10-01 17:01:08 +02:00
file.c gfs2: Add proper lockspace locking 2025-09-12 12:02:57 +02:00
gfs2.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 398 2019-06-05 17:37:12 +02:00
glock.c gfs2: Prevent recursive memory reclaim 2025-12-18 14:03:20 +01:00
glock.h gfs2: Further sanitize lock_dlm.c 2025-09-12 12:02:20 +02:00
glops.c gfs2: fix remote evict for read-only filesystems 2026-01-02 12:56:42 +01:00
glops.h gfs2: No longer use 'extern' in function declarations 2023-11-06 01:51:26 +01:00
incore.h gfs2: Add proper lockspace locking 2025-09-12 12:02:57 +02:00
inode.c gfs2: Prevent recursive memory reclaim 2025-12-18 14:03:20 +01:00
inode.h gfs2: Prevent recursive memory reclaim 2025-12-18 14:03:20 +01:00
Kconfig lib/crc: remove CONFIG_LIBCRC32C 2025-04-04 11:31:42 -07:00
lock_dlm.c dlm for 6.18 2025-09-29 15:24:58 -07:00
log.c gfs2: Don't start unnecessary transactions during log flush 2025-05-22 09:12:27 +02:00
log.h gfs2: Move gfs2_log_pointers_init 2025-05-22 09:12:27 +02:00
lops.c gfs2: Fix use of bio_chain 2026-01-02 12:56:43 +01:00
lops.h gfs2: No more gfs2_find_jhead caching 2025-05-22 09:12:27 +02:00
main.c fs: WQ_PERCPU added to alloc_workqueue users 2025-09-19 16:15:07 +02:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
meta_io.c gfs2: Set .migrate_folio in gfs2_{rgrp,meta}_aops 2025-07-15 13:10:01 +02:00
meta_io.h gfs2: replace sd_aspace with sd_inode 2025-04-21 18:20:36 +02:00
ops_fstype.c gfs2: Prevent recursive memory reclaim 2025-12-18 14:03:20 +01:00
quota.c gfs2: Fix "gfs2: Switch to wait_event in gfs2_quotad" 2026-01-02 12:56:42 +01:00
quota.h gfs2: reorder capability check last 2024-12-09 10:44:35 +01:00
recovery.c gfs2: No more gfs2_find_jhead caching 2025-05-22 09:12:27 +02:00
recovery.h gfs2: Simplify gfs2_log_pointers_init 2025-05-22 09:12:27 +02:00
rgrp.c gfs2: Use get_random_u32 in gfs2_orlov_skip 2024-11-05 12:39:29 +01:00
rgrp.h gfs2: No longer use 'extern' in function declarations 2023-11-06 01:51:26 +01:00
super.c gfs2: fix freeze error handling 2026-01-02 12:57:08 +01:00
super.h gfs2 fixes 2023-11-07 11:54:17 -08:00
sys.c gfs2: Don't clear sb->s_fs_info in gfs2_sys_fs_add 2025-05-30 19:20:20 +02:00
sys.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 398 2019-06-05 17:37:12 +02:00
trace_gfs2.h gfs2: Get rid of GLF_INVALIDATE_IN_PROGRESS 2025-09-12 12:02:41 +02:00
trans.c gfs2: Move gfs2_trans_add_databufs 2025-05-22 09:12:27 +02:00
trans.h gfs2: Move gfs2_trans_add_databufs 2025-05-22 09:12:27 +02:00
util.c gfs2: Sanitize gfs2_meta_check, gfs2_metatype_check, gfs2_io_error 2025-09-12 12:02:15 +02:00
util.h gfs2: Sanitize gfs2_meta_check, gfs2_metatype_check, gfs2_io_error 2025-09-12 12:02:15 +02:00
xattr.c gfs2: Move GIF_ALLOC_FAILED check out of gfs2_ea_dealloc 2025-04-21 18:20:36 +02:00
xattr.h gfs2: Move GIF_ALLOC_FAILED check out of gfs2_ea_dealloc 2025-04-21 18:20:36 +02:00