[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <ddddba22-db88-0d1b-63e2-c70dc1346d0b@ce.jp.nec.com>
Date: Fri, 5 Apr 2019 04:19:50 +0000
From: Junichi Nomura <j-nomura@...jp.nec.com>
To: Dave Young <dyoung@...hat.com>
CC: Borislav Petkov <bp@...en8.de>, "bhe@...hat.com" <bhe@...hat.com>,
"fanc.fnst@...fujitsu.com" <fanc.fnst@...fujitsu.com>,
"x86@...nel.org" <x86@...nel.org>,
"kexec@...ts.infradead.org" <kexec@...ts.infradead.org>,
"kasong@...hat.com" <kasong@...hat.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v3] x86/boot: Use efi_setup_data for searching RSDP on
kexec-ed kernel
On 4/4/19 4:32 PM, Dave Young wrote:
> While we are still debuggin the bug I reproduced, but for this patch
> I have still some comments inline.
>
> BTW, it would be good to start a new thread when you send V4 :)
Sure.
>> + /* Get systab from boot params. */
>> + systab = (efi_system_table_64_t *) (ei->efi_systab | ((__u64)ei->efi_systab_hi << 32));
>> + if (!systab)
>> + error("EFI system table not found in kexec boot_params.");
>
> Instead of hang the system, return 0 should be better
OK. I'll make it something like:
if (!systab) {
debug_putstr(...);
return 0;
}
>> if (!pa)
>> + pa = kexec_get_rsdp_addr();
>> +
>> + if (!pa)
>> pa = efi_get_rsdp_addr();
>
> In case kexec_get_rsdp_addr failed, above code will try efi_get.. again,
> but that will also fail for same issue this patch is fixing. In case
> kexec we should avoid the efi_get_rsdp_addr.
Yeah, I'll set efi_kexec_booted to true in kexec_get_rsdp_addr() if it's
kexec booted so that efi_get_rsdp_addr() can exit early in such a case.
--
Jun'ichi Nomura, NEC Corporation / NEC Solution Innovators, Ltd.
Powered by blists - more mailing lists