From: Konrad Rzeszutek Wilk Date: Thu, 11 Aug 2016 01:04:43 +0000 (-0400) Subject: livepatch: Deal with payloads without any .text X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~443 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=63e23a29e08a48a5540b3c8444865b810df41f0f;p=xen.git livepatch: Deal with payloads without any .text It is possible. Especially if the only thing they do is NOP functions - in which case there is only .livepatch.funcs sections. Reviewed-by: Jan Beulich Reviewed-by: Ross Lagerwall Signed-off-by: Konrad Rzeszutek Wilk --- diff --git a/xen/common/livepatch.c b/xen/common/livepatch.c index 5da28a36f3..c9dd51a6ea 100644 --- a/xen/common/livepatch.c +++ b/xen/common/livepatch.c @@ -386,16 +386,17 @@ static int move_payload(struct payload *payload, struct livepatch_elf *elf) static int secure_payload(struct payload *payload, struct livepatch_elf *elf) { - int rc; + int rc = 0; unsigned int text_pages, rw_pages, ro_pages; text_pages = PFN_UP(payload->text_size); - ASSERT(text_pages); - - rc = arch_livepatch_secure(payload->text_addr, text_pages, LIVEPATCH_VA_RX); - if ( rc ) - return rc; + if ( text_pages ) + { + rc = arch_livepatch_secure(payload->text_addr, text_pages, LIVEPATCH_VA_RX); + if ( rc ) + return rc; + } rw_pages = PFN_UP(payload->rw_size); if ( rw_pages ) {