On Fri, Apr 19, 2019 at 7:34 PM Borislav Petkov <bp@xxxxxxxxx> wrote: > > On Fri, Apr 19, 2019 at 07:20:06PM +0800, Kairui Song wrote: > > Thanks for the declaration Bao, I can verify on the machine I have, > > the issue still exist without kaslr. Currently, we read rsdp in early > > code and fill in boot_params unconditional, so it will read from the > > systab anyway. > > Yes, and in the future, info required by the kexec'ed kernel - like the > EFI systab address or even whether the kernel has been kexec'ed or comes > from cold boot - should be passed in boot_params. So that we don't have > to do all that ugly dancing in early code. > > > Yes, kexec only cover RAM in the ident map it prepared for second > > kernel, but the systab could be in reserved region, so if it didn't > > fall into the 1G padding by accident it will fail when reading from > > it. Fix in early code could make sure 2nd kernel always work. Or > > should we treat it specially in kexec mapping prepare code? > > Yes, we should. As I said, this is not early boot code's problem but the > kexec setup code's problem. > > If the new kernel cannot get RSDP that early, then it should fail the > same way it failed before. That early RDSP parsing was added for the > movable regions thing working with KASLR. > > If it can't get a RDSP for whatever reason, then if KASLR selects > a region overlapping with the movable regions, then it is the old > behavior. > > Ok? > OK. And then fix the mapping issue in 1st kernel is the right way, I'll skip the update for the early code mapping thing. -- Best Regards, Kairui Song _______________________________________________ kexec mailing list kexec@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/kexec