|
[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 |