]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
erofs: fix PSI memstall accounting
authorGao Xiang <hsiangkao@linux.alibaba.com>
Fri, 27 Mar 2026 04:33:59 +0000 (12:33 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 11 Apr 2026 12:16:37 +0000 (14:16 +0200)
commit 1a2180f6859c73c674809f9f82e36c94084682ba upstream.

Max Kellermann recently reported psi_group_cpu.tasks[NR_MEMSTALL] is
incorrect in the 6.11.9 kernel.

The root cause appears to be that, since the problematic commit, bio
can be NULL, causing psi_memstall_leave() to be skipped in
z_erofs_submit_queue().

Reported-by: Max Kellermann <max.kellermann@ionos.com>
Closes: https://lore.kernel.org/r/CAKPOu+8tvSowiJADW2RuKyofL_CSkm_SuyZA7ME5vMLWmL6pqw@mail.gmail.com
Fixes: 9e2f9d34dd12 ("erofs: handle overlapped pclusters out of crafted images properly")
Reviewed-by: Chao Yu <chao@kernel.org>
Link: https://lore.kernel.org/r/20241127085236.3538334-1-hsiangkao@linux.alibaba.com
Signed-off-by: Alexey Panov <apanov@astralinux.ru>
Link: https://lore.kernel.org/r/20250304110558.8315-3-apanov@astralinux.ru
Link: https://lore.kernel.org/r/20250304110558.8315-1-apanov@astralinux.ru
[ Gao Xiang: re-address the previous Alexey's backport. ]
CVE: CVE-2024-47736
Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/erofs/zdata.c

index 0461c41d15b114d497351d92571597e70af279ab..66c323cbdd73e119c1147382e68cef34604e1f39 100644 (file)
@@ -1574,11 +1574,10 @@ drain_io:
                        move_to_bypass_jobqueue(pcl, qtail, owned_head);
        } while (owned_head != Z_EROFS_PCLUSTER_TAIL);
 
-       if (bio) {
+       if (bio)
                submit_bio(bio);
-               if (memstall)
-                       psi_memstall_leave(&pflags);
-       }
+       if (memstall)
+               psi_memstall_leave(&pflags);
 
        /*
         * although background is preferred, no one is pending for submission.