Loading...
iokit/Kernel/IONVRAM.cpp xnu-12377.121.6 xnu-12377.41.6
--- xnu/xnu-12377.121.6/iokit/Kernel/IONVRAM.cpp
+++ xnu/xnu-12377.41.6/iokit/Kernel/IONVRAM.cpp
@@ -311,7 +311,6 @@
 	 .p.Bits.NeverAllowedToDelete = 1},
 	{"boot-image", .p.Bits.UserWrite = 1},
 	{"com.apple.System.fp-state", .p.Bits.KernelOnly = 1},
-	{"enable-ephdm", .p.Bits.RestoreModifyOnly = 1},
 	{"fm-account-masked", .p.Bits.RootRequired = 1,
 	 .p.Bits.NeverAllowedToDelete = 1},
 	{"fm-activation-locked", .p.Bits.RootRequired = 1,
@@ -777,7 +776,7 @@
 
 	length = sizeof(uuid_string_t) - 1 + sizeof(':') + strlen(cstring) + 1;
 
-	canonicalString = (char *) IOMallocZeroData(length);
+	canonicalString = (char *) IOMallocData(length);
 	if (canonicalString == nullptr) {
 		return NULL;
 	}
@@ -957,7 +956,7 @@
 
 public:
 	bool start(IOService * provider) APPLE_KEXT_OVERRIDE;
-	void logVariable(NVRAMPartitionType region, IONVRAMOperation op, const char *name, void *data = nullptr, void *offset = nullptr);
+	void logVariable(NVRAMPartitionType region, IONVRAMOperation op, const char *name, void *data);
 };
 
 OSDefineMetaClassAndStructors(IODTNVRAMDiags, IOService)
@@ -994,22 +993,21 @@
 }
 
 void
-IODTNVRAMDiags::logVariable(NVRAMPartitionType region, IONVRAMOperation op, const char *name, void *data, void *offset)
+IODTNVRAMDiags::logVariable(NVRAMPartitionType region, IONVRAMOperation op, const char *name, void *data)
 {
 	// "Stats"        : OSDictionary
 	// - "XX:varName" : OSDictionary, XX is the region value prefix to distinguish which dictionary the variable is in
-	//   - "Init"     : OSNumber variable offset (in the proxy image passed via EDT) if variable is present at initialization (unserialize)
+	//   - "Init"     : OSBoolean True/present if variable present at initialization
 	//   - "Read"     : OSNumber count
 	//   - "Write"    : OSNumber count
 	//   - "Delete"   : OSNumber count
-	//   - "Size"     : OSNumber data size, latest size from either init or write
+	//   - "Size"     : OSNumber size, latest size from either init or write
 	//   - "Present"  : OSBoolean True/False if variable is present or not
 	char                      *entryKey;
 	size_t                    entryKeySize;
 	OSSharedPtr<OSDictionary> existingEntry;
 	OSSharedPtr<OSNumber>     currentCount;
 	OSSharedPtr<OSNumber>     varSize;
-	OSSharedPtr<OSNumber>     varOffset;
 	const char                *opCountKey = nullptr;
 
 	entryKeySize = strlen("XX:") + strlen(name) +  1;
@@ -1046,8 +1044,7 @@
 		break;
 	case kIONVRAMOperationInit:
 		varSize = OSNumber::withNumber((size_t)data, 64);
-		varOffset = OSNumber::withNumber((size_t)offset, 64);
-		existingEntry->setObject(kIODTNVRAMDiagsInitKey, varOffset);
+		existingEntry->setObject(kIODTNVRAMDiagsInitKey, varSize);
 		existingEntry->setObject(kIODTNVRAMDiagsSizeKey, varSize);
 		existingEntry->setObject(kIODTNVRAMDiagsPresentKey, kOSBooleanTrue);
 		break;
@@ -1859,7 +1856,7 @@
 	theObject.reset(localVarDict->getObject(canonicalKey.get()), OSRetain);
 
 	if (_diags) {
-		_diags->logVariable(getPartitionTypeForGUID(newGuid), kIONVRAMOperationRead, name);
+		_diags->logVariable(getPartitionTypeForGUID(newGuid), kIONVRAMOperationRead, name, NULL);
 	}
 
 	if (theObject != nullptr) {