On Wed, 03 Dec 2025, Chaitanya Kumar Borah <[email protected]> wrote: > From: "Rafael J. Wysocki" <[email protected]> > > The freeze_all_ptr check in filesystems_freeze_callback() introduced by > commit a3f8f8662771 ("power: always freeze efivarfs") is reverse which > quite confusingly causes all file systems to be frozen when > filesystem_freeze_enabled is false. > > On my systems it causes the WARN_ON_ONCE() in __set_task_frozen() to > trigger, most likely due to an attempt to freeze a file system that is > not ready for that. > > Add a logical negation to the check in question to reverse it as > appropriate. > > Fixes: a3f8f8662771 ("power: always freeze efivarfs") > Cc: 6.18+ <[email protected]> # 6.18+ > Link: https://lore.kernel.org/linux-pm/[email protected]/ > References: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15341 > Signed-off-by: Rafael J. Wysocki <[email protected]> > Reviewed-by: Jan Kara <[email protected]> > Signed-off-by: Chaitanya Kumar Borah <[email protected]>
Thanks, pushed to topic/core-for-CI. BR, Jani. > --- > fs/super.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/fs/super.c b/fs/super.c > index 277b84e5c279..4c79f170ac0d 100644 > --- a/fs/super.c > +++ b/fs/super.c > @@ -1188,7 +1188,7 @@ static void filesystems_freeze_callback(struct > super_block *sb, void *freeze_all > if (!sb->s_op->freeze_fs && !sb->s_op->freeze_super) > return; > > - if (freeze_all_ptr && !(sb->s_type->fs_flags & FS_POWER_FREEZE)) > + if (!freeze_all_ptr && !(sb->s_type->fs_flags & FS_POWER_FREEZE)) > return; > > if (!get_active_super(sb)) -- Jani Nikula, Intel
