Skip site navigation (1)Skip section navigation (2)
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>