|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v4 2/9] 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 <jbeulich@xxxxxxxx>
Reviewed-by: Ross Lagerwall <ross.lagerwall@xxxxxxxxxx>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
---
Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
Cc: Ross Lagerwall <ross.lagerwall@xxxxxxxxxx>
Cc: Jan Beulich <jbeulich@xxxxxxxx>
Cc: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
v3: First submission.
v4: Add Jan's and Ross's Reviewed-by
---
xen/common/livepatch.c | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/xen/common/livepatch.c b/xen/common/livepatch.c
index b5aef57..88f1543 100644
--- a/xen/common/livepatch.c
+++ b/xen/common/livepatch.c
@@ -414,16 +414,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 )
{
--
2.4.11
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |