mirror of
https://github.com/acidanthera/audk.git
synced 2025-04-08 17:05:09 +02:00
SysCall: Added FreeUserSpaceDriver().
This commit is contained in:
parent
23b53c960d
commit
0e31c462fe
@ -326,6 +326,27 @@ FindUserInfo (
|
||||
return NULL;
|
||||
}
|
||||
|
||||
STATIC
|
||||
VOID
|
||||
EFIAPI
|
||||
FreeUserSpaceDriver (
|
||||
IN VOID *CoreWrapper
|
||||
)
|
||||
{
|
||||
LIST_ENTRY *Link;
|
||||
USER_SPACE_DRIVER *UserDriver;
|
||||
|
||||
for (Link = gUserSpaceDriversHead.ForwardLink; Link != &gUserSpaceDriversHead; Link = Link->ForwardLink) {
|
||||
UserDriver = BASE_CR (Link, USER_SPACE_DRIVER, Link);
|
||||
|
||||
if (UserDriver->CoreWrapper == CoreWrapper) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
RemoveEntryList (&UserDriver->Link);
|
||||
}
|
||||
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
CallBootService (
|
||||
@ -498,6 +519,7 @@ CallBootService (
|
||||
ForbidSupervisorAccessToUserMemory ();
|
||||
|
||||
while (Index > 0) {
|
||||
FreeUserSpaceDriver (CoreArgList[Index - 1]);
|
||||
FreePool (CoreArgList[Index - 1]);
|
||||
Index -= 2;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user