On Fri, May 14, 2021 at 11:11:14AM -0400, Jason Andryuk wrote: > On Fri, May 14, 2021 at 9:50 AM Roger Pau Monne <roger....@citrix.com> wrote: > > > > Pass an hvm boolean parameter to the elf note parsing and checking > > routines, so that better checking can be done in case libelf is > > dealing with an hvm container. > > > > elf_xen_note_check shouldn't return early unless PHYS32_ENTRY is set > > and the container is of type HVM, or else the loader and version > > checks would be avoided for kernels intended to be booted as PV but > > that also have PHYS32_ENTRY set. > > > > Adjust elf_xen_addr_calc_check so that the virtual addresses are > > actually physical ones (by setting virt_base and elf_paddr_offset to > > zero) when the container is of type HVM, as that container is always > > started with paging disabled. > > Should elf_xen_addr_calc_check be changed so that PV operates on > virtual addresses and HVM operates on physical addresses?
Right... I was aiming with getting away with something simpler and just assume phys == virt on HVM in order to avoid more complicated changes and the need to introduce new fields on the structure. > I worked on some patches for this a while back, but lost track when > other work pulled me away. I'll send out what I had, but I think I > had not tested many of the cases. Also, I had other questions about > the approach. Fundamentally, what notes and limits need to be checked > for PVH vs. PV? Those are only sanity checks to assert that the image is kind of fine, libelf also has checks when loading stuff to make sure a malicious elf payload cannot fool the loader. I'm unlikely to be able to do much work on this aside from this current patch. Thanks, Roger.