On 02/24/20 at 10:51am, tip-bot2 for Dave Young wrote: > The following commit has been merged into the x86/kdump branch of tip: > > Commit-ID: 8efbc518b884e1db2dd6a6fce62d0112ab871dcf > Gitweb: https://git.kernel.org/tip/8efbc518b884e1db2dd6a6fce62d0112ab871dcf > Author: Dave Young <dyoung@xxxxxxxxxx> > AuthorDate: Wed, 12 Feb 2020 19:04:24 +08:00 > Committer: Borislav Petkov <bp@xxxxxxx> > CommitterDate: Mon, 24 Feb 2020 11:41:57 +01:00 > > x86/kexec: Do not reserve EFI setup_data in the kexec e820 table > > The e820 table for the kexec kernel unconditionally marks setup_data as > reserved because the second kernel can reuse setup_data passed by the > 1st kernel's boot loader, for example SETUP_PCI marked regions like PCI > BIOS, etc. > > SETUP_EFI types, however, are used by kexec itself to enable EFI in the > 2nd kernel. Thus, it is pointless to add this type of setup_data to the > kexec e820 table as reserved. > > IOW, what happens is this: > > - 1st physical boot: no SETUP_EFI. > > - kexec loads a new kernel and prepares a SETUP_EFI setup_data blob, then > reboots the machine. > > - 2nd kernel sees SETUP_EFI, reserves it both in the e820 and in the > kexec e820 table. > > - If another kexec load is executed, it prepares a new SETUP_EFI blob and > then reboots the machine into the new kernel. > > 5. The 3rd kexec-ed kernel has two SETUP_EFI ranges reserved. And so on... > > Thus skip SETUP_EFI while reserving setup_data in the e820_table_kexec > table because it is not needed. > > [ bp: Heavily massage commit message, shorten line and improve comment. ] Boris, thanks for the amending and log massage. I was hesitating to break the long line or not and then I choosed leaving it as is. Both are not very good and either of them is fine to me. Thanks Dave
![]() |