[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: xen (multiboot) binary gets corrupted ELF notes
On 13.02.2023 15:12, Marek Marczykowski-Górecki wrote: > On Mon, Feb 13, 2023 at 01:53:21PM +0100, Jan Beulich wrote: >> On 13.02.2023 12:14, Marek Marczykowski-Górecki wrote: >>> Hi, >>> >>> I'm getting some ELF note issues on multiboot binary >>> specifically: >>> xen/xen: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), >>> statically linked, BuildID[sha1]=f7d2c37a4ad599b268f2f2d94bff3776d12649b3, >>> bad note description size 0xc0010001, stripped >>> >>> readelf additionally says: >>> >>> Displaying notes found in: .note >>> Owner Data size Description >>> GNU 0x00000014 NT_GNU_BUILD_ID (unique build >>> ID bitstring) >>> Build ID: c5825a0d08edc4d11b1138fedca6b14ce8ba7302 >>> (NONE) 0x00000004 Unknown note type: (0x00000020) >>> description data: 05 00 00 00 >>> readelf: xen/xen: Warning: note with invalid namesz and/or descsz found >>> at offset 0x34 >>> readelf: xen/xen: Warning: type: 0x4, namesize: 0x00554e47, descsize: >>> 0xc0010001, alignment: 4 >>> >>> Grub doesn't care, but launching such xen with kexec doesn't work. >>> >>> Initially found when booting Xen via Heads: >>> https://openqa.qubes-os.org/tests/60151#step/install_startup/11 >>> >>> Andy says: >>>> yeah, I've seen the same on XTF >>>> binutil's recent elf notes for CET compatibility use an unsigned long >>>> so they're not compatible when we build as 64bit and then re-package as 32 >>>> I think we need to strip all elf notes in mkelf32 >> >> Instead of complicating mkelf32 (we want to retain at least the build-id >> note, after all, and for PVH_GUEST builds also .note.Xen) why don't we >> discard the unwanted/unneeded notes then from the linker script, just >> like we already do for xen.efi? > > Ok, this seems to help: > > ---8<---- > diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S > index 8930e14fc40e..f0831bd677e7 100644 > --- a/xen/arch/x86/xen.lds.S > +++ b/xen/arch/x86/xen.lds.S > @@ -192,13 +192,6 @@ SECTIONS > #endif > #endif > > -#ifndef EFI > - /* Retain these just for the purpose of possible analysis tools. */ > - DECL_SECTION(.note) { > - *(.note.*) > - } PHDR(note) PHDR(text) > -#endif > - > _erodata = .; > > . = ALIGN(SECTION_ALIGN); > ---8<--- > > The comment suggests some notes could be useful, but given they are > broken anyway and nobody complained so far, maybe not really? Well, much depends on those unspecified analysis tools. Jan
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |