Hello! On Tue, Apr 24, 2007 at 03:04:26PM +0200, Richard Braun wrote: > On Tue, Apr 24, 2007 at 02:50:52PM +0200, Thomas Schwinge wrote: > > Okay, a new zalloc zone would be overkill, but I've implemented a tiny > > new kernel object, lumped it all together -- and it even works, it seems! > > > > But then noticed that I had forgotten to deallocate the kernel object's > > `kalloc'ed memory, added such a deallocation as well -- and now get a > > kernel page fault after having `kfree'ed that memory in a ``no senders'' > > service routine. If I leave away the `kfree' then everything is fine, > > save the memory leak, of course. Hmm. > > > > Is there any Mach savvy person who feels like helping poor tschwinge? > > I can spend some time on this with you :-).
Okay, problem solved. Richard just told me (thank you!) that I need to pass the object's size to `kfree' as the second parameter. Which I hadn't done. Which Marcus also hadn't done in his original code... And which the compiler didn't even have a chance of catching, because in `kern/kalloc.h' it was simply declared like ``extern void kfree()''. I changed that to ``extern void kfree (vm_offset_t data, vm_size_t size)'' and likewise for the other functions. #v+ 2007-04-25 Thomas Schwinge <[EMAIL PROTECTED]> * kern/kalloc.h (kalloc, kget, kfree, kalloc_init): List the arguments. #v- Now that it finally works, I can now polish and test my patch a bit. :-) Regards, Thomas
signature.asc
Description: Digital signature
_______________________________________________ Bug-hurd mailing list Bug-hurd@gnu.org http://lists.gnu.org/mailman/listinfo/bug-hurd