[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: oskit-mach: vm_map_copyout crash

From: Roland McGrath
Subject: Re: oskit-mach: vm_map_copyout crash
Date: Tue, 6 Nov 2001 17:22:46 -0500 (EST)

No, that doesn't quite make sense.  The mflags argument to
oskit_skbufio_mem_alloc uses OSENV_* flag bits, not GFP_* flag bits.
kmalloc needs GFP_* flag bits.  However, note the assert early in
oskit_skbufio_mem_alloc, so you know mflags is always just OSENV_NONBLOCKING.

So just calling it with GFP_ATOMIC seems more or less correct.
The assert ensures that no other flags (e.g. OSAENV_ISADA_MEM) are there,
so no other flags should be needed in the allocation.

Perhaps the problem is "#define GFP_ATOMIC 0" in <oskit/io/skbufio.h>?  I
don't know why that's there.  But if skbuff_mem.c is using 0 instead of the
actual GFP_ATOMIC bit value, that would explain your problem, right?
Try changing that kmalloc call to use __GFP_HIGH instead (that's what
GFP_ATOMIC is defined to in oskit/linux/src/include/linux/mm.h).

You should definitely post to oskit-users about what that #define is doing
there.  (But note that one of the key guys is out of town right now.)

reply via email to

[Prev in Thread] Current Thread [Next in Thread]