]> git.saurik.com Git - apple/xnu.git/blobdiff - bsd/net/radix.c
xnu-2422.1.72.tar.gz
[apple/xnu.git] / bsd / net / radix.c
index 876675d542b5086d68e28f5770b768395e67d3c4..fdc7058b3e0006cb8c6130be8ac21e3a6218e21e 100644 (file)
@@ -1,8 +1,8 @@
 /*
- * Copyright (c) 2000-2008 Apple Inc. All rights reserved.
+ * Copyright (c) 2000-2013 Apple Inc. All rights reserved.
  *
  * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
- * 
+ *
  * This file contains Original Code and/or Modifications of Original Code
  * as defined in and that are subject to the Apple Public Source License
  * Version 2.0 (the 'License'). You may not use this file except in
  * unlawful or unlicensed copies of an Apple operating system, or to
  * circumvent, violate, or enable the circumvention or violation of, any
  * terms of an Apple operating system software license agreement.
- * 
+ *
  * Please obtain a copy of the License at
  * http://www.opensource.apple.com/apsl/ and read it before using this file.
- * 
+ *
  * The Original Code and all software distributed under the License are
  * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
@@ -22,7 +22,7 @@
  * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  * Please see the License for the specific language governing rights and
  * limitations under the License.
- * 
+ *
  * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  */
 /*
  */
 #ifndef _RADIX_H_
 #include <sys/param.h>
-#ifdef KERNEL
 #include <sys/systm.h>
 #include <sys/malloc.h>
 #define        M_DONTWAIT M_NOWAIT
 #include <sys/domain.h>
-#else
-#include <stdlib.h>
-#endif
 #include <sys/syslog.h>
 #include <net/radix.h>
 #include <sys/socket.h>
@@ -101,12 +97,11 @@ static char *rn_zeros, *rn_ones;
 
 extern lck_grp_t       *domain_proto_mtx_grp;
 extern lck_attr_t      *domain_proto_mtx_attr;
-lck_mtx_t *rn_mutex;
 
 #define rn_masktop (mask_rnhead->rnh_treetop)
 #undef Bcmp
 #define Bcmp(a, b, l) \
-       (l == 0 ? 0 : bcmp((caddr_t)(a), (caddr_t)(b), (u_long)l))
+       (l == 0 ? 0 : bcmp((caddr_t)(a), (caddr_t)(b), (uint32_t)l))
 
 static int     rn_lexobetter(void *m_arg, void *n_arg);
 static struct radix_mask *
@@ -899,9 +894,10 @@ on1:
                                        m = mm;
                                }
                        if (m)
-                               log(LOG_ERR,
-                                   "rn_delete: Orphaned Mask %p at %p\n",
-                                   (void *)m, (void *)x);
+                               log(LOG_ERR, "rn_delete: Orphaned Mask "
+                                   "0x%llx at 0x%llx\n",
+                                   (uint64_t)VM_KERNEL_ADDRPERM(m),
+                                   (uint64_t)VM_KERNEL_ADDRPERM(x));
                }
        }
        /*
@@ -1150,14 +1146,13 @@ void
 rn_init(void)
 {
        char *cp, *cplim;
-#ifdef KERNEL
        struct domain *dom;
 
        /* lock already held when rn_init is called */
-       for (dom = domains; dom; dom = dom->dom_next)
+       TAILQ_FOREACH(dom, &domains, dom_entry) {
                if (dom->dom_maxrtkey > max_keylen)
                        max_keylen = dom->dom_maxrtkey;
-#endif
+       }
        if (max_keylen == 0) {
                log(LOG_ERR,
                    "rn_init: radix functions require max_keylen be set\n");
@@ -1173,6 +1168,4 @@ rn_init(void)
                *cp++ = -1;
        if (rn_inithead((void **)&mask_rnhead, 0) == 0)
                panic("rn_init 2");
-
-       rn_mutex = lck_mtx_alloc_init(domain_proto_mtx_grp, domain_proto_mtx_attr);
 }