There are various issues regarding DebugImageInfoTable: 1) Interrupting the table updates (e.g. an exception occured) may leave the table in an inconsistent state. 2) Deleting an entry from the table may hide a different entry. 3) The type of image entries is not checked before accessing them as NormalImage. This is practically safe now, because there is only one type, but it adding more types would cause the accesses to potentially invoke Undefined Behaviour. 4) The guarantees the table gives are not clear. For example, the LoadedImage protocol instance can never be NULL (and wouldn't make sense to be either), yet it is checked in some places, but not in others.
This patch series addresses all of these issues. Marvin Häuser (7): MdeModulePkg/DxeCore: Consistent DebugImageInfoTable updates MdeModulePkg/DxeCore: Fix DebugImageInfoTable size report EmbeddedPkg/GdbStub: Check DebugImageInfoTable type safely ArmPkg/DefaultExceptionHandlerLib: Check DebugImageInfoTable type safely MdeModulePkg/CoreDxe: Mandatory LoadedImage for DebugImageInfoTable EmbeddedPkg/GdbStub: Mandatory LoadedImage for DebugImageInfoTable ArmPkg/DefaultExceptionHandlerLib: Mandatory LoadedImage for DebugImageInfoTable ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandlerUefi.c | 7 +- EmbeddedPkg/GdbStub/GdbStub.c | 7 +- MdeModulePkg/Core/Dxe/Misc/DebugImageInfo.c | 82 +++++++++++++------- 3 files changed, 60 insertions(+), 36 deletions(-) -- 2.31.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#78936): https://edk2.groups.io/g/devel/message/78936 Mute This Topic: https://groups.io/mt/84764899/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-