X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/2d21ac55c334faf3a56e5634905ed6987fc787d4..e2d2fc5c71f7d145cba7267989251af45e3bb5ba:/osfmk/kern/xpr.c diff --git a/osfmk/kern/xpr.c b/osfmk/kern/xpr.c index 763259873..1b4d16707 100644 --- a/osfmk/kern/xpr.c +++ b/osfmk/kern/xpr.c @@ -139,7 +139,7 @@ xprbootstrap(void) /* leave room at the end for a saved copy of xprptr */ size = nxprbufs * sizeof(struct xprbuf) + sizeof xprptr; - kr = kmem_alloc_wired(kernel_map, &addr, size); + kr = kmem_alloc_kobject(kernel_map, &addr, size); if (kr != KERN_SUCCESS) panic("xprbootstrap"); @@ -267,13 +267,13 @@ xpr_search( if (!nxprbufs) return; - n = nxprbufs; - s = splhigh(); simple_lock(&xprlock); prev = db_recover; - if (_setjmp(db_recover = &db_jmpbuf) == 0) + if (_setjmp(db_recover = &db_jmpbuf) == 0) { + n = nxprbufs; + for (x = *(struct xprbuf **)xprlast ; n--; ) { if (--x < xprbase) x = xprlast - 1; @@ -289,6 +289,7 @@ xpr_search( x->cpuinfo, x->timestamp); db_printf(x->msg, x->arg1,x->arg2,x->arg3,x->arg4,x->arg5); } + } db_recover = prev; simple_unlock(&xprlock);