Date: Wed, 15 Jan 1997 20:10:47 +0100 From: Poul-Henning Kamp <phk@critter.dk.tfs.com> To: Bruce Evans <bde@zeta.org.au> Cc: dg@root.com, bugs@freebsd.org, dyson@freebsd.org, wollman@freebsd.org Subject: Re: malloc(..., M_WAITOK) found harmful Message-ID: <28145.853355447@critter.dk.tfs.com> In-Reply-To: Your message of "Thu, 16 Jan 1997 04:54:18 %2B1100." <199701151754.EAA31434@godzilla.zeta.org.au>
next in thread | previous in thread | raw e-mail | index | archive | help
In message <199701151754.EAA31434@godzilla.zeta.org.au>, Bruce Evans writes:
>> Arrg!!!! I didn't even know about "mcl_map". Okay, this is easy to fix -
>>mcl_map simply needs to be added to the list of maps in vm_map_entry_create.
>
>The maps are special-cased in too many other places. I added a check for
>mcl_map after all the relevant checks for mb_map in vm_map.c. It is also
>missing in vm_object.c. I think it is already handled right in vm_kern.c.
Isn't it time to associate an attribute with the map, where we can see
this special casing, rather than have these if() statements get longer
and longer... ?
>*** vm_map.c~ Wed Jan 15 04:50:05 1997
>--- vm_map.c Thu Jan 16 04:03:39 1997
>***************
>*** 333,338 ****
> int s;
>
>! if (map == kernel_map || map == kmem_map ||
>! map == mb_map || map == pager_map) {
> s = splvm();
> entry->next = kentry_free;
>--- 331,336 ----
> int s;
>
>! if (map == kernel_map || map == kmem_map || map == mb_map ||
>! map == mcl_map || map == pager_map) {
> s = splvm();
> entry->next = kentry_free;
--
Poul-Henning Kamp | phk@FreeBSD.ORG FreeBSD Core-team.
http://www.freebsd.org/~phk | phk@login.dknet.dk Private mailbox.
whois: [PHK] | phk@tfs.com TRW Financial Systems, Inc.
Power and ignorance is a disgusting cocktail.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?28145.853355447>
