[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.

-- 
Regards/Gruss,
    Boris.

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



More information about the kexec mailing list