Loading...
iokit/Kernel/IOSharedDataQueue.cpp xnu-12377.101.15 xnu-7195.101.1
--- xnu/xnu-12377.101.15/iokit/Kernel/IOSharedDataQueue.cpp
+++ xnu/xnu-7195.101.1/iokit/Kernel/IOSharedDataQueue.cpp
@@ -34,8 +34,6 @@
 #include <IOKit/IOMemoryDescriptor.h>
 #include <libkern/c++/OSSharedPtr.h>
 
-#include <vm/vm_kern_xnu.h>
-
 #ifdef enqueue
 #undef enqueue
 #endif
@@ -81,13 +79,12 @@
 {
 	IODataQueueAppendix *   appendix;
 	vm_size_t               allocSize;
-	kern_return_t           kr;
 
 	if (!super::init()) {
 		return false;
 	}
 
-	_reserved = IOMallocType(ExpansionData);
+	_reserved = (ExpansionData *)IOMalloc(sizeof(struct ExpansionData));
 	if (!_reserved) {
 		return false;
 	}
@@ -102,11 +99,11 @@
 		return false;
 	}
 
-	kr = kmem_alloc(kernel_map, (vm_offset_t *)&dataQueue, allocSize,
-	    (kma_flags_t)(KMA_DATA_SHARED | KMA_ZERO), IOMemoryTag(kernel_map));
-	if (kr != KERN_SUCCESS) {
-		return false;
-	}
+	dataQueue = (IODataQueueMemory *)IOMallocAligned(allocSize, PAGE_SIZE);
+	if (dataQueue == NULL) {
+		return false;
+	}
+	bzero(dataQueue, allocSize);
 
 	dataQueue->queueSize    = size;
 //  dataQueue->head         = 0;
@@ -120,7 +117,7 @@
 	appendix->version   = 0;
 
 	if (!notifyMsg) {
-		notifyMsg = IOMallocType(mach_msg_header_t);
+		notifyMsg = IOMalloc(sizeof(mach_msg_header_t));
 		if (!notifyMsg) {
 			return false;
 		}
@@ -136,17 +133,16 @@
 IOSharedDataQueue::free()
 {
 	if (dataQueue) {
-		kmem_free(kernel_map, (vm_offset_t)dataQueue, round_page(getQueueSize() +
-		    DATA_QUEUE_MEMORY_HEADER_SIZE + DATA_QUEUE_MEMORY_APPENDIX_SIZE));
+		IOFreeAligned(dataQueue, round_page(getQueueSize() + DATA_QUEUE_MEMORY_HEADER_SIZE + DATA_QUEUE_MEMORY_APPENDIX_SIZE));
 		dataQueue = NULL;
 		if (notifyMsg) {
-			IOFreeType(notifyMsg, mach_msg_header_t);
+			IOFree(notifyMsg, sizeof(mach_msg_header_t));
 			notifyMsg = NULL;
 		}
 	}
 
 	if (_reserved) {
-		IOFreeType(_reserved, ExpansionData);
+		IOFree(_reserved, sizeof(struct ExpansionData));
 		_reserved = NULL;
 	}