[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v5 2/4] livepatch: Add limit of 2MB to payload .bss sections.
>>> On 11.09.16 at 17:48, <konrad.wilk@xxxxxxxxxx> wrote: > The initial patch: 11ff40fa7bb5fdcc69a58d0fec49c904ffca4793 > "xen/xsplice: Hypervisor implementation of XEN_XSPLICE_op" caps the > size of the binary at 2MB. We follow that in capping the size > of the .BSSes to be at maximum 2MB. > > Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> > > --- > Cc: Ross Lagerwall <ross.lagerwall@xxxxxxxxxx> > Cc: Jan Beulich <jbeulich@xxxxxxxx> > > v5: Initial submission. Came about from conversation about > "livepatch: Clear .bss when payload is reverted" > - Use only one sh_flags comparison instead of two. > - And check for the _right_ combination (WA). > --- > xen/common/livepatch_elf.c | 10 +++++++++- > 1 file changed, 9 insertions(+), 1 deletion(-) > > diff --git a/xen/common/livepatch_elf.c b/xen/common/livepatch_elf.c > index cda9b27..e2264ad 100644 > --- a/xen/common/livepatch_elf.c > +++ b/xen/common/livepatch_elf.c > @@ -86,7 +86,15 @@ static int elf_resolve_sections(struct livepatch_elf *elf, > const void *data) > delta < sizeof(Elf_Ehdr) ? "at ELF header" : "is past > end"); > return -EINVAL; > } > - I think this blank line would better be retained (after the addition you make). > + else if ( (sec[i].sec->sh_flags & (SHF_WRITE | SHF_ALLOC)) && > + sec[i].sec->sh_type == SHT_NOBITS && > + sec[i].sec->sh_size > MB(2) ) > + { > + /* Arbitrary limit. */ I guess this is as arbitrary as the one in verify_payload(). I'd like to recommend making this a #define, with the comment put next to it. > + dprintk(XENLOG_ERR, LIVEPATCH "%s: Section [%u] .bss is bigger > than 2MB!\n", > + elf->name, i); The other limit violation doesn't get a message logged. Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |