]> git.saurik.com Git - apple/xnu.git/blobdiff - osfmk/kern/xpr.c
xnu-1699.24.23.tar.gz
[apple/xnu.git] / osfmk / kern / xpr.c
index 763259873baa200d39f2789d29199bb6b1a00afa..1b4d1670711ecaf8e0217acc40e9c19986623e1c 100644 (file)
@@ -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);