On 13.03.2024 20:30, Jason Andryuk wrote: > @@ -217,6 +225,15 @@ elf_errorstatus elf_xen_parse_note(struct elf_binary > *elf, > case XEN_ELFNOTE_PHYS32_ENTRY: > parms->phys_entry = val; > break; > + > + case XEN_ELFNOTE_L1_MFN_VALID: > + if ( elf_uval(elf, note, descsz) != 2 * sizeof(uint64_t) ) > + return -1;
elf_note_numeric() use sites don't have such a check. Why would we need one here, and even more so causing a error to be raised when in reality the supplied values (still) aren't consumed? Furthermore the documentation says "pairs" (plural) for a reason. Finally maddr_t-sized only happens to mean uint64_t on all architectures we presently support. Jan > + elf_msg(elf, "mask: %#"PRIx64" val: %#"PRIx64"\n", > + elf_note_numeric_array(elf, note, 8, 0), > + elf_note_numeric_array(elf, note, 8, 1)); > + break; > } > return 0; > }