[PATCH v3 3/5] Revert "OvmfPkg/QemuKernelLoaderFsDxe: don't expose kernel command line"
Dov Murik
This reverts commit efc52d67e1573ce174d301b52fa1577d552c8441.
Manually fixed conflicts in: OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe.c Note that besides re-exposing the kernel command line as a file in the synthetic filesystem, we also revert back to AllocatePool instead of AllocatePages. Cc: Laszlo Ersek <lersek@...> Cc: Ard Biesheuvel <ardb+tianocore@...> Cc: Jordan Justen <jordan.l.justen@...> Cc: James Bottomley <jejb@...> Cc: Tobin Feldman-Fitzthum <tobin@...> Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=3D3457 Signed-off-by: Dov Murik <dovmurik@...> Reviewed-by: Laszlo Ersek <lersek@...> --- OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe.c b/OvmfPk= g/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe.c index b09ff6a3590d..c7ddd86f5c75 100644 --- a/OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe.c +++ b/OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe.c @@ -33,6 +33,7 @@ typedef enum {=0D KernelBlobTypeKernel,=0D KernelBlobTypeInitrd,=0D + KernelBlobTypeCommandLine,=0D KernelBlobTypeMax=0D } KERNEL_BLOB_TYPE;=0D =0D @@ -59,6 +60,11 @@ STATIC KERNEL_BLOB mKernelBlob[KernelBlobTypeMax] =3D { {=0D { QemuFwCfgItemInitrdSize, QemuFwCfgItemInitrdData, },=0D }=0D + }, {=0D + L"cmdline",=0D + {=0D + { QemuFwCfgItemCommandLineSize, QemuFwCfgItemCommandLineData, },=0D + }=0D }=0D };=0D =0D @@ -948,7 +954,7 @@ FetchBlob ( //=0D // Read blob.=0D //=0D - Blob->Data =3D AllocatePages (EFI_SIZE_TO_PAGES ((UINTN)Blob->Size));=0D + Blob->Data =3D AllocatePool (Blob->Size);=0D if (Blob->Data =3D=3D NULL) {=0D DEBUG ((DEBUG_ERROR, "%a: failed to allocate %Ld bytes for \"%s\"\n",= =0D __FUNCTION__, (INT64)Blob->Size, Blob->Name));=0D @@ -1083,8 +1089,7 @@ FreeBlobs: while (BlobType > 0) {=0D CurrentBlob =3D &mKernelBlob[--BlobType];=0D if (CurrentBlob->Data !=3D NULL) {=0D - FreePages (CurrentBlob->Data,=0D - EFI_SIZE_TO_PAGES ((UINTN)CurrentBlob->Size));=0D + FreePool (CurrentBlob->Data);=0D CurrentBlob->Size =3D 0;=0D CurrentBlob->Data =3D NULL;=0D }=0D --=20 2.25.1 |
|