Loading...
--- xnu/xnu-4570.71.2/iokit/Kernel/RootDomainUserClient.cpp
+++ xnu/xnu-3248.30.4/iokit/Kernel/RootDomainUserClient.cpp
@@ -198,7 +198,7 @@
}
IOReturn RootDomainUserClient::secureGetSystemSleepType(
- uint32_t *outSleepType, uint32_t *sleepTimer)
+ uint32_t *outSleepType)
{
int admin_priv = 0;
IOReturn ret;
@@ -207,7 +207,7 @@
admin_priv = (kIOReturnSuccess == ret);
if (admin_priv && fOwner) {
- ret = fOwner->getSystemSleepType(outSleepType, sleepTimer);
+ ret = fOwner->getSystemSleepType(outSleepType);
} else {
ret = kIOReturnNotPrivileged;
}
@@ -216,19 +216,14 @@
IOReturn RootDomainUserClient::clientClose( void )
{
- terminate();
-
- return kIOReturnSuccess;
-}
-
-void RootDomainUserClient::stop( IOService *provider)
-{
+ detach(fOwner);
+
if(fOwningTask) {
task_deallocate(fOwningTask);
fOwningTask = 0;
}
- super::stop(provider);
+ return kIOReturnSuccess;
}
IOReturn RootDomainUserClient::externalMethod(
@@ -304,13 +299,10 @@
(uint32_t *)&arguments->scalarOutput[0]);
break;
case kPMSetMaintenanceWakeCalendar:
- if ((arguments->structureInputSize >= sizeof(IOPMCalendarStruct)) &&
- (arguments->structureOutputSize >= sizeof(uint32_t) )) {
- ret = this->secureSetMaintenanceWakeCalendar(
- (IOPMCalendarStruct *)arguments->structureInput,
- (uint32_t *)&arguments->structureOutput);
- arguments->structureOutputSize = sizeof(uint32_t);
- }
+ ret = this->secureSetMaintenanceWakeCalendar(
+ (IOPMCalendarStruct *)arguments->structureInput,
+ (uint32_t *)&arguments->structureOutput);
+ arguments->structureOutputSize = sizeof(uint32_t);
break;
case kPMSetUserAssertionLevels:
@@ -333,11 +325,10 @@
break;
case kPMGetSystemSleepType:
- if (2 == arguments->scalarOutputCount)
+ if (1 == arguments->scalarOutputCount)
{
ret = this->secureGetSystemSleepType(
- (uint32_t *) &arguments->scalarOutput[0],
- (uint32_t *) &arguments->scalarOutput[1]);
+ (uint32_t *) &arguments->scalarOutput[0]);
}
break;