Killed bogus kernacc() call in malloc() DIAGNOSTIC code. kernacc() by
it's nature, locks the kernal_map, and this is deadly if kernal_map had been locked previous to a (net) interrupt.
This commit is contained in:
parent
ee889b3ba0
commit
358311fe63
@ -31,7 +31,7 @@
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* @(#)kern_malloc.c 8.3 (Berkeley) 1/4/94
|
||||
* $Id$
|
||||
* $Id: kern_malloc.c,v 1.26 1997/02/22 09:39:07 peter Exp $
|
||||
*/
|
||||
|
||||
#include <sys/param.h>
|
||||
@ -199,13 +199,6 @@ malloc(size, type, flags)
|
||||
freep = (struct freelist *)va;
|
||||
savedtype = (unsigned)freep->type < M_LAST ?
|
||||
memname[freep->type] : "???";
|
||||
if (kbp->kb_next &&
|
||||
!kernacc(kbp->kb_next, sizeof(struct freelist), 0)) {
|
||||
printf("%s of object %p size %ld %s %s (invalid addr %p)\n",
|
||||
"Data modified on freelist: word 2.5", va, size,
|
||||
"previous type", savedtype, kbp->kb_next);
|
||||
kbp->kb_next = NULL;
|
||||
}
|
||||
#if BYTE_ORDER == BIG_ENDIAN
|
||||
freep->type = WEIRD_ADDR >> 16;
|
||||
#endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user