mirror of
https://github.com/acidanthera/audk.git
synced 2025-07-23 21:54:27 +02:00
SysCall: Fixed bug in BlockIo, DiskIo Write functions.
This commit is contained in:
parent
09ab943f86
commit
c855d93030
@ -456,6 +456,10 @@ CallBootService (
|
|||||||
return EFI_OUT_OF_RESOURCES;
|
return EFI_OUT_OF_RESOURCES;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
DisableSMAP ();
|
||||||
|
CopyMem ((VOID *)Argument5,(VOID *)UserRsp->Arguments[5], Argument4);
|
||||||
|
EnableSMAP ();
|
||||||
|
|
||||||
Status = mCoreBlockIoProtocol->WriteBlocks (
|
Status = mCoreBlockIoProtocol->WriteBlocks (
|
||||||
mCoreBlockIoProtocol,
|
mCoreBlockIoProtocol,
|
||||||
(UINT32)CoreRbp->Argument2,
|
(UINT32)CoreRbp->Argument2,
|
||||||
@ -463,9 +467,6 @@ CallBootService (
|
|||||||
Argument4,
|
Argument4,
|
||||||
(VOID *)Argument5
|
(VOID *)Argument5
|
||||||
);
|
);
|
||||||
DisableSMAP ();
|
|
||||||
CopyMem ((VOID *)UserRsp->Arguments[5], (VOID *)Argument5, Argument4);
|
|
||||||
EnableSMAP ();
|
|
||||||
|
|
||||||
FreePool ((VOID *)Argument5);
|
FreePool ((VOID *)Argument5);
|
||||||
|
|
||||||
@ -528,6 +529,10 @@ CallBootService (
|
|||||||
return EFI_OUT_OF_RESOURCES;
|
return EFI_OUT_OF_RESOURCES;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
DisableSMAP ();
|
||||||
|
CopyMem ((VOID *)Argument5, (VOID *)UserRsp->Arguments[5], Argument4);
|
||||||
|
EnableSMAP ();
|
||||||
|
|
||||||
Status = mCoreDiskIoProtocol->WriteDisk (
|
Status = mCoreDiskIoProtocol->WriteDisk (
|
||||||
mCoreDiskIoProtocol,
|
mCoreDiskIoProtocol,
|
||||||
(UINT32)CoreRbp->Argument2,
|
(UINT32)CoreRbp->Argument2,
|
||||||
@ -535,9 +540,6 @@ CallBootService (
|
|||||||
Argument4,
|
Argument4,
|
||||||
(VOID *)Argument5
|
(VOID *)Argument5
|
||||||
);
|
);
|
||||||
DisableSMAP ();
|
|
||||||
CopyMem ((VOID *)UserRsp->Arguments[5], (VOID *)Argument5, Argument4);
|
|
||||||
EnableSMAP ();
|
|
||||||
|
|
||||||
FreePool ((VOID *)Argument5);
|
FreePool ((VOID *)Argument5);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user