[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH] tools/libxg: Don't gunzip the guests initrd
On 04.09.2024 14:31, Andrew Cooper wrote: > When booting guests, compressed first executables (the kernel itself for > direct-boot, or firmware binaries) need decompressing in order to inspect the > ELF notes or other relevant headers. > > However for unclear reasons, libxenguest will also gunzip() all modules which > happen to be compressed (typically a direct-boot kernel's initrd), before > loading the contents into guest memory. I suppose the simple reason was that grub also decompresse{s,d} everything. > This was an unexpected discovery while trying to test Xen's gunzip() > logic (Xen as a PVH guest, with a gzipped XTF kernel as dom0). > > More generally, it is work that we should not be doing in the domain builder; > it can and should be done in guest context. > > This is unlikely to cause any issues; a kernel incapable of decompression > wouldn't have a compressed initrd to start with, Unless relying on the bootloader, which an OS may certainly do. > and these days there are > other algorithms typically preferred over gzip. > > Furthermore, this change also fixes a bug with Linux guests. Linux is happy > consuming a initrd constructed of multiple CPIO fragments, including with > differing compression, and Xen gunzip()'ing from the start would result in all > subsequent fragments being silently dropped during load. Now this and perhaps also ... > Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> > --- > CC: Anthony PERARD <anthony.perard@xxxxxxxxxx> > CC: Juergen Gross <jgross@xxxxxxxx> > CC: Jan Beulich <JBeulich@xxxxxxxx> > CC: Stefano Stabellini <sstabellini@xxxxxxxxxx> > CC: Julien Grall <julien@xxxxxxx> > CC: Oleksii Kurochko <oleksii.kurochko@xxxxxxxxx> > > Furthermore, Linux's habit of prepending an uncompressed CPIO containing > microcode will also stop it being recognised as a compressed blob. ... this are fair reasons on their own to get rid of that logic. So let's hope there's not going to be any fallout. Jan
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |