ext4: make ext4_lazyinit_thread freezable
authorLalith Rajendran <lalithkraj@google.com>
Thu, 18 Aug 2022 21:40:49 +0000 (21:40 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 26 Oct 2022 10:34:29 +0000 (12:34 +0200)
commit 3b575495ab8dbb4dbe85b4ac7f991693c3668ff5 upstream.

ext4_lazyinit_thread is not set freezable. Hence when the thread calls
try_to_freeze it doesn't freeze during suspend and continues to send
requests to the storage during suspend, resulting in suspend failures.

Cc: stable@kernel.org
Signed-off-by: Lalith Rajendran <lalithkraj@google.com>
Link: https://lore.kernel.org/r/20220818214049.1519544-1-lalithkraj@google.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/ext4/super.c

index c3b0909..823f35e 100644 (file)
@@ -3377,6 +3377,7 @@ static int ext4_lazyinit_thread(void *arg)
        unsigned long next_wakeup, cur;
 
        BUG_ON(NULL == eli);
+       set_freezable();
 
 cont_thread:
        while (true) {