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.

_______________________________________________
kexec mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/kexec

Reply via email to