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>
|
||
|---|---|---|
| .. | ||
| block.c | ||
| cache.c | ||
| decompressor_multi_percpu.c | ||
| decompressor_multi.c | ||
| decompressor_single.c | ||
| decompressor.c | ||
| decompressor.h | ||
| dir.c | ||
| export.c | ||
| file_cache.c | ||
| file_direct.c | ||
| file.c | ||
| fragment.c | ||
| id.c | ||
| inode.c | ||
| Kconfig | ||
| lz4_wrapper.c | ||
| lzo_wrapper.c | ||
| Makefile | ||
| namei.c | ||
| page_actor.c | ||
| page_actor.h | ||
| squashfs_fs_i.h | ||
| squashfs_fs_sb.h | ||
| squashfs_fs.h | ||
| squashfs.h | ||
| super.c | ||
| symlink.c | ||
| xattr_id.c | ||
| xattr.c | ||
| xattr.h | ||
| xz_wrapper.c | ||
| zlib_wrapper.c | ||
| zstd_wrapper.c | ||