[edk2-devel] [PATCH v1 1/1] RamDiskDxe: Initialize list head before registering RAM disk protocol
Daniel Schaefer
daniel.schaefer at hpe.com
Tue Jul 13 01:09:31 UTC 2021
From: Trammell Hudson <hudson at trmm.net>
This patch initializes the linked list RegisteredRamDisks in
RamDiskDxeEntryPoint before the registration of gEfiRamDiskProtocolGuid
with InstallMultipleProtocolInterfaces, allowing ramdisks to be created
via a callback installed with RegisterProtocolNotify as soon as the
protocol is registered.
Without this, calling RamDisk->Register() in the callback causes a crash:
ASSERT [RamDiskDxe] MdePkg/Library/BaseLib/LinkedList.c(75): List->ForwardLink != ((void *) 0)
Signed-off-by: Trammell Hudson <hudson at trmm.net>
Cc: Daniel Schaefer <daniel.schaefer at hpe.com>
Cc: Jian J Wang <jian.j.wang at intel.com>
Cc: Hao A Wu <hao.a.wu at intel.com>
Cc: Ray Ni <ray.ni at intel.com>
Cc: Zhichao Gao <zhichao.gao at intel.com>
---
MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDriver.c | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDriver.c b/MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDriver.c
index fcbf4f117dc6..13e2aed87cef 100644
--- a/MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDriver.c
+++ b/MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDriver.c
@@ -154,6 +154,12 @@ RamDiskDxeEntryPoint (
goto ErrorExit;
}
+ //
+ // Initialize the list of registered RAM disks maintained by the driver
+ // before installing the protocol
+ //
+ InitializeListHead (&RegisteredRamDisks);
+
//
// Install the EFI_RAM_DISK_PROTOCOL and RAM disk private data onto a
// new handle
@@ -170,11 +176,6 @@ RamDiskDxeEntryPoint (
goto ErrorExit;
}
- //
- // Initialize the list of registered RAM disks maintained by the driver
- //
- InitializeListHead (&RegisteredRamDisks);
-
Status = EfiCreateEventReadyToBootEx (
TPL_CALLBACK,
RamDiskAcpiCheck,
--
2.31.1
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#77723): https://edk2.groups.io/g/devel/message/77723
Mute This Topic: https://groups.io/mt/84169086/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-
More information about the edk2-devel-archive
mailing list