squashfs: don't call kmalloc in decompressors
authorPhillip Lougher <phillip@squashfs.org.uk>
Mon, 22 Aug 2022 21:54:30 +0000 (22:54 +0100)
committerAndrew Morton <akpm@linux-foundation.org>
Sun, 28 Aug 2022 21:02:45 +0000 (14:02 -0700)
commit1f13dff09ffc8bcf6aa20639b638d813379c7f6b
treeb5fea4fe8fed9c9688db989c1ce7a6dafc0a4759
parentd26f60703606ab425eee9882b32a1781a8bed74d
squashfs: don't call kmalloc in decompressors

The decompressors may be called while in an atomic section.  So move the
kmalloc() out of this path, and into the "page actor" init function.

This fixes a regression introduced by commit
f268eedddf35 ("squashfs: extend "page actor" to handle missing pages")

Link: https://lkml.kernel.org/r/20220822215430.15933-1-phillip@squashfs.org.uk
Fixes: f268eedddf35 ("squashfs: extend "page actor" to handle missing pages")
Reported-by: Chris Murphy <lists@colorremedies.com>
Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
fs/squashfs/file.c
fs/squashfs/file_direct.c
fs/squashfs/page_actor.c
fs/squashfs/page_actor.h