]> git.saurik.com Git - apple/xnu.git/blobdiff - osfmk/ipc/ipc_init.c
xnu-1504.9.17.tar.gz
[apple/xnu.git] / osfmk / ipc / ipc_init.c
index 1267d06e82a53f83931b574fb07fc54f26491e47..8e4773748bc005102d7b1b3cb54469013d0edee5 100644 (file)
@@ -111,10 +111,16 @@ vm_map_t ipc_kernel_copy_map;
 vm_size_t ipc_kernel_copy_map_size = IPC_KERNEL_COPY_MAP_SIZE;
 vm_size_t ipc_kmsg_max_vm_space = (IPC_KERNEL_COPY_MAP_SIZE * 7)/8;
 
-int ipc_space_max = SPACE_MAX;
-int ipc_tree_entry_max = ITE_MAX;
-int ipc_port_max = PORT_MAX;
-int ipc_pset_max = SET_MAX;
+int ipc_space_max;
+int ipc_tree_entry_max;
+int ipc_port_max;
+int ipc_pset_max;
+
+
+lck_grp_t              ipc_lck_grp;
+lck_attr_t             ipc_lck_attr;
+
+static lck_grp_attr_t  ipc_lck_grp_attr;
 
 extern void ikm_cache_init(void);
 
@@ -129,7 +135,11 @@ void
 ipc_bootstrap(void)
 {
        kern_return_t kr;
-
+       
+       lck_grp_attr_setdefault(&ipc_lck_grp_attr);
+       lck_grp_init(&ipc_lck_grp, "ipc", &ipc_lck_grp_attr);
+       lck_attr_setdefault(&ipc_lck_attr);
+       
        ipc_port_multiple_lock_init();
 
        ipc_port_timestamp_lock_init();
@@ -145,6 +155,7 @@ ipc_bootstrap(void)
        /* make it exhaustible */
        zone_change(ipc_space_zone, Z_EXHAUST, TRUE);
 #endif
+       zone_change(ipc_space_zone, Z_NOENCRYPT, TRUE);
 
        ipc_tree_entry_zone =
                zinit(sizeof(struct ipc_tree_entry),
@@ -155,6 +166,7 @@ ipc_bootstrap(void)
        /* make it exhaustible */
        zone_change(ipc_tree_entry_zone, Z_EXHAUST, TRUE);
 #endif
+       zone_change(ipc_tree_entry_zone, Z_NOENCRYPT, TRUE);
 
        /*
         * populate all port(set) zones
@@ -169,6 +181,7 @@ ipc_bootstrap(void)
         * XXX  panics when port allocation for an internal object fails.
         *zone_change(ipc_object_zones[IOT_PORT], Z_EXHAUST, TRUE);
         */
+       zone_change(ipc_object_zones[IOT_PORT], Z_NOENCRYPT, TRUE);
 
        ipc_object_zones[IOT_PORT_SET] =
                zinit(sizeof(struct ipc_pset),
@@ -177,6 +190,7 @@ ipc_bootstrap(void)
                      "ipc port sets");
        /* make it exhaustible */
        zone_change(ipc_object_zones[IOT_PORT_SET], Z_EXHAUST, TRUE);
+       zone_change(ipc_object_zones[IOT_PORT_SET], Z_NOENCRYPT, TRUE);
 
        /*
         * Create the basic ipc_kmsg_t zone (the one we also cache)
@@ -187,6 +201,7 @@ ipc_bootstrap(void)
                              IKM_SAVED_KMSG_SIZE,
                              IKM_SAVED_KMSG_SIZE,
                              "ipc kmsgs");
+       zone_change(ipc_kmsg_zone, Z_NOENCRYPT, TRUE);
 
 #if CONFIG_MACF_MACH
        ipc_labelh_zone =