On Wed, Aug 30, 2023 at 05:58:20PM +0200, Andrea Righi wrote: > Use a similar approach as commit a419beac4a07 ("module/decompress: use > vmalloc() for zstd decompression workspace") and replace kmalloc() with > vmalloc() also for the gzip module decompression workspace. > > In this case the workspace is represented by struct inflate_workspace > that can be fairly large for kmalloc() and it can potentially lead to > allocation errors on certain systems: > > $ pahole inflate_workspace > struct inflate_workspace { > struct inflate_state inflate_state; /* 0 9544 */ > /* --- cacheline 149 boundary (9536 bytes) was 8 bytes ago --- */ > unsigned char working_window[32768]; /* 9544 32768 */ > > /* size: 42312, cachelines: 662, members: 2 */ > /* last cacheline: 8 bytes */ > }; > > Considering that there is no need to use continuous physical memory, > simply switch to vmalloc() to provide a more reliable in-kernel module > decompression. > > Fixes: b1ae6dc41eaa ("module: add in-kernel support for decompressing") > Signed-off-by: Andrea Righi <andrea.righi@xxxxxxxxxxxxx> Applied, and pushed, thanks! Luis