|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v1 6/9] livepatch: Initial ARM64 support.
> > +int arch_livepatch_perform_rela(struct livepatch_elf *elf,
> > + const struct livepatch_elf_sec *base,
> > + const struct livepatch_elf_sec *rela)
> > +{
.. snip..
> > + switch ( ELF64_R_TYPE(r->r_info) ) {
> > + /* Data */
> > + case R_AARCH64_ABS64:
> > + if ( r->r_offset + sizeof(uint64_t) > base->sec->sh_size )
> > + goto bad_offset;
>
> As you borrow the code from Linux, could we keep the abstraction with
> reloc_data and defer the overflow check? It would avoid to have the same if
> in multiple place in this code.
The above 'if' conditional is a check to make sure that we don't
go past the section (sh_size). In other words it is a boundary check to
make sure the Elf file is not messed up.
I can still copy the reloc_data so we lessen the:
> > + if ( (int64_t)val != *(int32_t *)dest )
> > + err = -EOVERFLOW;
And such.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |