Message ID | 20171011133508.23147-1-gregory.herrero@oracle.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
>>> On 11.10.17 at 15:35, <gregory.herrero@oracle.com> wrote: > @@ -336,16 +337,22 @@ elf_errorstatus elf_xen_parse_guest_info(struct elf_binary *elf, > if ( !strcmp(name, "ELF_PADDR_OFFSET") ) > parms->elf_paddr_offset = strtoull(value, NULL, 0); > if ( !strcmp(name, "HYPERCALL_PAGE") ) > - parms->virt_hypercall = (strtoull(value, NULL, 0) << 12) + > - parms->virt_base; > + parms->virt_hypercall = (strtoull(value, NULL, 0) << 12); Please also drop the now pointless parentheses. > /* other */ > if ( !strcmp(name, "FEATURES") ) > if ( elf_xen_parse_features(value, parms->f_supported, > parms->f_required) ) > - return -1; > + { > + ret = -1; > + break; > + } > } > - return 0; > + if ( (parms->virt_base != UNSET_ADDR) && Please add a blank line ahead of this addition. With those taken care of Reviewed-by: Jan Beulich <jbeulich@suse.com> Jan
diff --git a/xen/common/libelf/libelf-dominfo.c b/xen/common/libelf/libelf-dominfo.c index a52900c00cd..eaeb774ff3d 100644 --- a/xen/common/libelf/libelf-dominfo.c +++ b/xen/common/libelf/libelf-dominfo.c @@ -269,6 +269,7 @@ elf_errorstatus elf_xen_parse_guest_info(struct elf_binary *elf, elf_ptrval h; unsigned char name[32], value[128]; unsigned len; + elf_errorstatus ret = 0; h = parms->guest_info; #define STAR(h) (elf_access_unsigned(elf, (h), 0, 1)) @@ -336,16 +337,22 @@ elf_errorstatus elf_xen_parse_guest_info(struct elf_binary *elf, if ( !strcmp(name, "ELF_PADDR_OFFSET") ) parms->elf_paddr_offset = strtoull(value, NULL, 0); if ( !strcmp(name, "HYPERCALL_PAGE") ) - parms->virt_hypercall = (strtoull(value, NULL, 0) << 12) + - parms->virt_base; + parms->virt_hypercall = (strtoull(value, NULL, 0) << 12); /* other */ if ( !strcmp(name, "FEATURES") ) if ( elf_xen_parse_features(value, parms->f_supported, parms->f_required) ) - return -1; + { + ret = -1; + break; + } } - return 0; + if ( (parms->virt_base != UNSET_ADDR) && + (parms->virt_hypercall != UNSET_ADDR) ) + parms->virt_hypercall += parms->virt_base; + + return ret; } /* ------------------------------------------------------------------------ */