bzimage: Check that the kernel is relocatable
It's not enough to check that bzImage header supports the
'relocatable_kernel' field, we also need to make sure that the field
is set.
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
diff --git a/loaders/bzimage/bzimage.c b/loaders/bzimage/bzimage.c
index efdb884..d683eae 100644
--- a/loaders/bzimage/bzimage.c
+++ b/loaders/bzimage/bzimage.c
@@ -248,6 +248,12 @@
goto out;
}
+ if (!buf->hdr.relocatable_kernel) {
+ Print(L"Expected relocatable kernel");
+ err = EFI_INVALID_PARAMETER;
+ goto out;
+ }
+
if (buf->hdr.version >= 0x20a) {
pref_address = buf->hdr.pref_address;
init_size = buf->hdr.init_size;