[PATCH v4] x86/boot: Use efi_setup_data for searching RSDP on kexec-ed kernel

Borislav Petkov bp at alien8.de
Thu Apr 11 01:37:38 PDT 2019

On Thu, Apr 11, 2019 at 08:16:45AM +0000, Junichi Nomura wrote:
> kexec_get_rsdp_addr() might fail on kexec-booted kernel, e.g. if the
> setup_data was invalid. In such a case, falling back to efi_get_rsdp_addr()
> will hit the problem of accessing invalid table pointer again.

Then you need to do this:

	if (kexeced kernel) {
		addr = kexec_get_rsdp_addr();
		if (!addr) {
			/* cannot get address */
			return -1;

		return addr;

and the calling function get_rsdp_addr() must check the return value and
if it is not 0, return immediately.


Good mailing practices for 400: avoid top-posting and trim the reply.

More information about the kexec mailing list