On 4/11/19 6:21 PM, Boris Petkov wrote: > On April 11, 2019 11:13:03 AM GMT+02:00, Junichi Nomura <j-nomura@xxxxxxxxxxxxx> wrote: >> On 4/11/19 5:37 PM, Borislav Petkov wrote: >>> 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. >> >> Do you mean making get_rsdp_addr() like this? > > Does that look like what I've typed above? No. But that's why I asked the question. Do you mean putting the above code in efi_get_rsdp_addr()? -- Jun'ichi Nomura, NEC Corporation / NEC Solution Innovators, Ltd. _______________________________________________ kexec mailing list kexec@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/kexec