]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
super: fix dying superblock warning messages
authorKarl Mehltretter <kmehltretter@gmail.com>
Sat, 8 Aug 2026 12:38:02 +0000 (14:38 +0200)
committerChristian Brauner <brauner@kernel.org>
Wed, 12 Aug 2026 07:20:35 +0000 (09:20 +0200)
WARN_ON_ONCE() takes a condition, not a message. The string literals
are always true, so the warnings still trigger but the messages are
never printed.

Use WARN_ONCE(1, ...) instead to print the messages and keep the
once-only behavior.

Found with a Coccinelle script. Clang's -Wstring-conversion also flags
such calls but is not enabled in kernel builds.

Fixes: f0cd988016f6 ("fs: massage locking helpers")
Signed-off-by: Karl Mehltretter <kmehltretter@gmail.com>
Link: https://patch.msgid.link/20260808123802.73687-1-kmehltretter@gmail.com
Signed-off-by: Christian Brauner (Amutable) <brauner@kernel.org>
fs/super.c

index 93f24aea75c4d66cd8683baf484fe34aabc5baa8..a62af36f7aaf122d690963e8d5fa679eea7ea53e 100644 (file)
@@ -2244,7 +2244,7 @@ int freeze_super(struct super_block *sb, enum freeze_holder who, const void *fre
        int ret;
 
        if (!super_lock_excl(sb)) {
-               WARN_ON_ONCE("Dying superblock while freezing!");
+               WARN_ONCE(1, "Dying superblock while freezing!");
                return -EINVAL;
        }
        atomic_inc(&sb->s_active);
@@ -2408,7 +2408,7 @@ int thaw_super(struct super_block *sb, enum freeze_holder who,
               const void *freeze_owner)
 {
        if (!super_lock_excl(sb)) {
-               WARN_ON_ONCE("Dying superblock while thawing!");
+               WARN_ONCE(1, "Dying superblock while thawing!");
                return -EINVAL;
        }
        return thaw_super_locked(sb, who, freeze_owner);