Re: 2.6.2-rc1-mm1 pppd: page allocation failure (Got it now :-)

From: Andrew Morton
Date: Sat Jan 31 2004 - 03:43:10 EST


haiquy@xxxxxxxxx wrote:
>
> Finally I got it happened again and here is the attached dmesg output.
>

Good, thanks.

>
> pppd: page allocation failure. order:4, mode:0xd0
> Call Trace:
> [<c013a140>] __alloc_pages+0x300/0x350
> [<c013a1af>] __get_free_pages+0x1f/0x50
> [<c013ccdc>] cache_grow+0x8c/0x250
> [<c013cfee>] cache_alloc_refill+0x14e/0x210
> [<c013d334>] __kmalloc+0x74/0x80
> [<c01fe857>] z_decomp_alloc+0xb7/0x100
> [<c01fae94>] ppp_set_compress+0x1b4/0x270
> [<c01f92b1>] ppp_ioctl+0x4e1/0x610
> [<c0150052>] vfs_write+0xd2/0x130
> [<c0160cbb>] sys_ioctl+0xdb/0x260
> [<c02b604f>] syscall_call+0x7/0xb

This should fix it up.


diff -puN drivers/net/ppp_deflate.c~ppp-allocation-fix drivers/net/ppp_deflate.c
--- 25/drivers/net/ppp_deflate.c~ppp-allocation-fix 2004-01-31 00:39:08.000000000 -0800
+++ 25-akpm/drivers/net/ppp_deflate.c 2004-01-31 00:40:21.000000000 -0800
@@ -351,7 +351,7 @@ static void *z_decomp_alloc(unsigned cha
state->w_size = w_size;
state->strm.next_out = NULL;
state->strm.workspace = kmalloc(zlib_inflate_workspacesize(),
- GFP_KERNEL);
+ GFP_KERNEL|__GFP_REPEAT);
if (state->strm.workspace == NULL)
goto out_free;


_

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/