mirror of
https://github.com/hardkernel/linux.git
synced 2026-04-19 03:50:43 +09:00
net: ppp_deflate: Switch z_decomp_alloc to vmalloced decompress buffers
On systems with high memory pressure, allocating an order 4 contiguous region for decompression can fail at run time. Instead use virtually contigous memory allocated via vmalloc. Change-Id: I7821882bd183a1de0d73ab2932f6e6978e4f0970 Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>
This commit is contained in:
committed by
Colin Cross
parent
c7c0790dce
commit
bfea4fcd5b
@@ -306,7 +306,7 @@ static void z_decomp_free(void *arg)
|
||||
|
||||
if (state) {
|
||||
zlib_inflateEnd(&state->strm);
|
||||
kfree(state->strm.workspace);
|
||||
vfree(state->strm.workspace);
|
||||
kfree(state);
|
||||
}
|
||||
}
|
||||
@@ -346,8 +346,7 @@ static void *z_decomp_alloc(unsigned char *options, int opt_len)
|
||||
|
||||
state->w_size = w_size;
|
||||
state->strm.next_out = NULL;
|
||||
state->strm.workspace = kmalloc(zlib_inflate_workspacesize(),
|
||||
GFP_KERNEL|__GFP_REPEAT);
|
||||
state->strm.workspace = vmalloc(zlib_inflate_workspacesize());
|
||||
if (state->strm.workspace == NULL)
|
||||
goto out_free;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user