- if (kmsg != IKM_NULL) {
- ikm_init(kmsg, max_expanded_size);
- ikm_set_header(kmsg, data, msg_and_trailer_size);
- }
+ kmsg = zalloc_flags(ipc_kmsg_zone, Z_WAITOK | Z_ZERO | Z_NOFAIL);
+ kmsg->ikm_size = max_expanded_size;
+ ikm_qos_init(kmsg);
+ ikm_set_header(kmsg, data, msg_and_trailer_size);
+ assert((kmsg->ikm_prev = kmsg->ikm_next = IKM_BOGUS));