diff options
| author | Michael Brown | 2020-10-26 16:10:18 +0100 |
|---|---|---|
| committer | Michael Brown | 2020-10-26 16:24:00 +0100 |
| commit | 5b41b9a80ffb365376d8d522675a8d248a8717ab (patch) | |
| tree | 74a87587b08135b0694b29c981671467ada3acc5 /src/include/linux_api.h | |
| parent | [efi] Allow block devices to provide their own EFI device paths (diff) | |
| download | ipxe-5b41b9a80ffb365376d8d522675a8d248a8717ab.tar.gz ipxe-5b41b9a80ffb365376d8d522675a8d248a8717ab.tar.xz ipxe-5b41b9a80ffb365376d8d522675a8d248a8717ab.zip | |
[efi] Nullify interfaces and leak memory on uninstallation failure
The UEFI specification allows uninstallation of a protocol interface
to fail. There is no sensible way for code to react to this, since
uninstallation is likely to be taking place on a code path that cannot
itself fail (e.g. a code path that is itself a failure path).
Where the protocol structure exists within a dynamically allocated
block of memory, this leads to possible use-after-free bugs. Work
around this unfortunate design choice by nullifying the protocol
(i.e. overwriting the method pointers with no-ops) and leaking the
memory containing the protocol structure.
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/include/linux_api.h')
0 files changed, 0 insertions, 0 deletions
