* [PATCH for-4.9 v3 0/3] Fixes for livepatching
@ 2017-06-22 18:15 Andrew Cooper
2017-06-22 18:15 ` [PATCH for-4.9 v3 1/3] xen/livepatch: Clean up arch relocation handling Andrew Cooper
` (2 more replies)
0 siblings, 3 replies; 22+ messages in thread
From: Andrew Cooper @ 2017-06-22 18:15 UTC (permalink / raw)
To: Xen-devel; +Cc: Andrew Cooper
Andrew Cooper (3):
xen/livepatch: Clean up arch relocation handling
xen/livepatch: Use zeroed memory allocations for arrays
xen/livepatch: Don't crash on encountering STN_UNDEF relocations
xen/arch/arm/arm32/livepatch.c | 41 +++++++++++++++++++++++++----------------
xen/arch/arm/arm64/livepatch.c | 33 ++++++++++++++++++++-------------
xen/arch/x86/livepatch.c | 27 ++++++++++++++++++---------
xen/common/livepatch.c | 4 ++--
xen/common/livepatch_elf.c | 4 ++--
5 files changed, 67 insertions(+), 42 deletions(-)
--
2.1.4
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
^ permalink raw reply [flat|nested] 22+ messages in thread
* [PATCH for-4.9 v3 1/3] xen/livepatch: Clean up arch relocation handling
2017-06-22 18:15 [PATCH for-4.9 v3 0/3] Fixes for livepatching Andrew Cooper
@ 2017-06-22 18:15 ` Andrew Cooper
2017-06-22 18:15 ` [PATCH for-4.9 v3 2/3] xen/livepatch: Use zeroed memory allocations for arrays Andrew Cooper
2017-06-22 18:15 ` [PATCH for-4.9 v3 3/3] xen/livepatch: Don't crash on encountering STN_UNDEF relocations Andrew Cooper
2 siblings, 0 replies; 22+ messages in thread
From: Andrew Cooper @ 2017-06-22 18:15 UTC (permalink / raw)
To: Xen-devel; +Cc: Andrew Cooper
* Reduce symbol scope and initalisation as much as possible
* Annotate a fallthrough case in arm64
* Fix switch statement style in arm32
No functional change.
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Tested-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
---
xen/arch/arm/arm32/livepatch.c | 27 ++++++++++++---------------
xen/arch/arm/arm64/livepatch.c | 19 +++++++------------
xen/arch/x86/livepatch.c | 13 +++++--------
3 files changed, 24 insertions(+), 35 deletions(-)
diff --git a/xen/arch/arm/arm32/livepatch.c b/xen/arch/arm/arm32/livepatch.c
index a7fd5e2..a328179 100644
--- a/xen/arch/arm/arm32/livepatch.c
+++ b/xen/arch/arm/arm32/livepatch.c
@@ -224,21 +224,21 @@ int arch_livepatch_perform(struct livepatch_elf *elf,
const struct livepatch_elf_sec *rela,
bool use_rela)
{
- const Elf_RelA *r_a;
- const Elf_Rel *r;
- unsigned int symndx, i;
- uint32_t val;
- void *dest;
+ unsigned int i;
int rc = 0;
for ( i = 0; i < (rela->sec->sh_size / rela->sec->sh_entsize); i++ )
{
+ unsigned int symndx;
+ uint32_t val;
+ void *dest;
unsigned char type;
- s32 addend = 0;
+ s32 addend;
if ( use_rela )
{
- r_a = rela->data + i * rela->sec->sh_entsize;
+ const Elf_RelA *r_a = rela->data + i * rela->sec->sh_entsize;
+
symndx = ELF32_R_SYM(r_a->r_info);
type = ELF32_R_TYPE(r_a->r_info);
dest = base->load_addr + r_a->r_offset; /* P */
@@ -246,10 +246,12 @@ int arch_livepatch_perform(struct livepatch_elf *elf,
}
else
{
- r = rela->data + i * rela->sec->sh_entsize;
+ const Elf_Rel *r = rela->data + i * rela->sec->sh_entsize;
+
symndx = ELF32_R_SYM(r->r_info);
type = ELF32_R_TYPE(r->r_info);
dest = base->load_addr + r->r_offset; /* P */
+ addend = get_addend(type, dest);
}
if ( symndx > elf->nsym )
@@ -259,13 +261,11 @@ int arch_livepatch_perform(struct livepatch_elf *elf,
return -EINVAL;
}
- if ( !use_rela )
- addend = get_addend(type, dest);
-
val = elf->sym[symndx].sym->st_value; /* S */
rc = perform_rel(type, dest, val, addend);
- switch ( rc ) {
+ switch ( rc )
+ {
case -EOVERFLOW:
dprintk(XENLOG_ERR, LIVEPATCH "%s: Overflow in relocation %u in %s for %s!\n",
elf->name, i, rela->name, base->name);
@@ -275,9 +275,6 @@ int arch_livepatch_perform(struct livepatch_elf *elf,
dprintk(XENLOG_ERR, LIVEPATCH "%s: Unhandled relocation #%x\n",
elf->name, type);
break;
-
- default:
- break;
}
if ( rc )
diff --git a/xen/arch/arm/arm64/livepatch.c b/xen/arch/arm/arm64/livepatch.c
index dae64f5..63929b1 100644
--- a/xen/arch/arm/arm64/livepatch.c
+++ b/xen/arch/arm/arm64/livepatch.c
@@ -241,19 +241,16 @@ int arch_livepatch_perform_rela(struct livepatch_elf *elf,
const struct livepatch_elf_sec *base,
const struct livepatch_elf_sec *rela)
{
- const Elf_RelA *r;
- unsigned int symndx, i;
- uint64_t val;
- void *dest;
- bool_t overflow_check;
+ unsigned int i;
for ( i = 0; i < (rela->sec->sh_size / rela->sec->sh_entsize); i++ )
{
+ const Elf_RelA *r = rela->data + i * rela->sec->sh_entsize;
+ unsigned int symndx = ELF64_R_SYM(r->r_info);
+ void *dest = base->load_addr + r->r_offset; /* P */
+ bool overflow_check = true;
int ovf = 0;
-
- r = rela->data + i * rela->sec->sh_entsize;
-
- symndx = ELF64_R_SYM(r->r_info);
+ uint64_t val;
if ( symndx > elf->nsym )
{
@@ -262,11 +259,8 @@ int arch_livepatch_perform_rela(struct livepatch_elf *elf,
return -EINVAL;
}
- dest = base->load_addr + r->r_offset; /* P */
val = elf->sym[symndx].sym->st_value + r->r_addend; /* S+A */
- overflow_check = true;
-
/* ARM64 operations at minimum are always 32-bit. */
if ( r->r_offset >= base->sec->sh_size ||
(r->r_offset + sizeof(uint32_t)) > base->sec->sh_size )
@@ -403,6 +397,7 @@ int arch_livepatch_perform_rela(struct livepatch_elf *elf,
case R_AARCH64_ADR_PREL_PG_HI21_NC:
overflow_check = false;
+ /* Fallthrough. */
case R_AARCH64_ADR_PREL_PG_HI21:
ovf = reloc_insn_imm(RELOC_OP_PAGE, dest, val, 12, 21,
AARCH64_INSN_IMM_ADR);
diff --git a/xen/arch/x86/livepatch.c b/xen/arch/x86/livepatch.c
index dd50dd1..7917610 100644
--- a/xen/arch/x86/livepatch.c
+++ b/xen/arch/x86/livepatch.c
@@ -161,16 +161,14 @@ int arch_livepatch_perform_rela(struct livepatch_elf *elf,
const struct livepatch_elf_sec *base,
const struct livepatch_elf_sec *rela)
{
- const Elf_RelA *r;
- unsigned int symndx, i;
- uint64_t val;
- uint8_t *dest;
+ unsigned int i;
for ( i = 0; i < (rela->sec->sh_size / rela->sec->sh_entsize); i++ )
{
- r = rela->data + i * rela->sec->sh_entsize;
-
- symndx = ELF64_R_SYM(r->r_info);
+ const Elf_RelA *r = rela->data + i * rela->sec->sh_entsize;
+ unsigned int symndx = ELF64_R_SYM(r->r_info);
+ uint8_t *dest = base->load_addr + r->r_offset;
+ uint64_t val;
if ( symndx > elf->nsym )
{
@@ -179,7 +177,6 @@ int arch_livepatch_perform_rela(struct livepatch_elf *elf,
return -EINVAL;
}
- dest = base->load_addr + r->r_offset;
val = r->r_addend + elf->sym[symndx].sym->st_value;
switch ( ELF64_R_TYPE(r->r_info) )
--
2.1.4
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH for-4.9 v3 2/3] xen/livepatch: Use zeroed memory allocations for arrays
2017-06-22 18:15 [PATCH for-4.9 v3 0/3] Fixes for livepatching Andrew Cooper
2017-06-22 18:15 ` [PATCH for-4.9 v3 1/3] xen/livepatch: Clean up arch relocation handling Andrew Cooper
@ 2017-06-22 18:15 ` Andrew Cooper
2017-06-23 2:55 ` Konrad Rzeszutek Wilk
2017-06-23 12:31 ` Ross Lagerwall
2017-06-22 18:15 ` [PATCH for-4.9 v3 3/3] xen/livepatch: Don't crash on encountering STN_UNDEF relocations Andrew Cooper
2 siblings, 2 replies; 22+ messages in thread
From: Andrew Cooper @ 2017-06-22 18:15 UTC (permalink / raw)
To: Xen-devel; +Cc: Andrew Cooper, Ross Lagerwall
Each of these arrays is sparse. Use zeroed allocations to cause uninitialised
array elements to contain deterministic values, most importantly for the
embedded pointers.
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
CC: Ross Lagerwall <ross.lagerwall@citrix.com>
* new in v3
---
xen/common/livepatch.c | 4 ++--
xen/common/livepatch_elf.c | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/xen/common/livepatch.c b/xen/common/livepatch.c
index df67a1a..66d532d 100644
--- a/xen/common/livepatch.c
+++ b/xen/common/livepatch.c
@@ -771,8 +771,8 @@ static int build_symbol_table(struct payload *payload,
}
}
- symtab = xmalloc_array(struct livepatch_symbol, nsyms);
- strtab = xmalloc_array(char, strtab_len);
+ symtab = xzalloc_array(struct livepatch_symbol, nsyms);
+ strtab = xzalloc_array(char, strtab_len);
if ( !strtab || !symtab )
{
diff --git a/xen/common/livepatch_elf.c b/xen/common/livepatch_elf.c
index c4a9633..b69e271 100644
--- a/xen/common/livepatch_elf.c
+++ b/xen/common/livepatch_elf.c
@@ -52,7 +52,7 @@ static int elf_resolve_sections(struct livepatch_elf *elf, const void *data)
int rc;
/* livepatch_elf_load sanity checked e_shnum. */
- sec = xmalloc_array(struct livepatch_elf_sec, elf->hdr->e_shnum);
+ sec = xzalloc_array(struct livepatch_elf_sec, elf->hdr->e_shnum);
if ( !sec )
{
dprintk(XENLOG_ERR, LIVEPATCH"%s: Could not allocate memory for section table!\n",
@@ -225,7 +225,7 @@ static int elf_get_sym(struct livepatch_elf *elf, const void *data)
/* No need to check values as elf_resolve_sections did it. */
nsym = symtab_sec->sec->sh_size / symtab_sec->sec->sh_entsize;
- sym = xmalloc_array(struct livepatch_elf_sym, nsym);
+ sym = xzalloc_array(struct livepatch_elf_sym, nsym);
if ( !sym )
{
dprintk(XENLOG_ERR, LIVEPATCH "%s: Could not allocate memory for symbols\n",
--
2.1.4
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH for-4.9 v3 3/3] xen/livepatch: Don't crash on encountering STN_UNDEF relocations
2017-06-22 18:15 [PATCH for-4.9 v3 0/3] Fixes for livepatching Andrew Cooper
2017-06-22 18:15 ` [PATCH for-4.9 v3 1/3] xen/livepatch: Clean up arch relocation handling Andrew Cooper
2017-06-22 18:15 ` [PATCH for-4.9 v3 2/3] xen/livepatch: Use zeroed memory allocations for arrays Andrew Cooper
@ 2017-06-22 18:15 ` Andrew Cooper
2017-06-22 21:10 ` Stefano Stabellini
` (4 more replies)
2 siblings, 5 replies; 22+ messages in thread
From: Andrew Cooper @ 2017-06-22 18:15 UTC (permalink / raw)
To: Xen-devel
Cc: Stefano Stabellini, Andrew Cooper, Ross Lagerwall, Julien Grall,
Jan Beulich
A symndx of STN_UNDEF is special, and means a symbol value of 0. While
legitimate in the ELF standard, its existance in a livepatch is questionable
at best. Until a plausible usecase presents itself, reject such a relocation
with -EOPNOTSUPP.
Additionally, fix an off-by-one error while range checking symndx, and perform
a safety check on elf->sym[symndx].sym before derefencing it, to avoid
tripping over a NULL pointer when calculating val.
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
CC: Ross Lagerwall <ross.lagerwall@citrix.com>
CC: Jan Beulich <JBeulich@suse.com>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Julien Grall <julien.grall@arm.com>
v3:
* Fix off-by-one error
v2:
* Reject STN_UNDEF with -EOPNOTSUPP
---
xen/arch/arm/arm32/livepatch.c | 14 +++++++++++++-
xen/arch/arm/arm64/livepatch.c | 14 +++++++++++++-
xen/arch/x86/livepatch.c | 14 +++++++++++++-
3 files changed, 39 insertions(+), 3 deletions(-)
diff --git a/xen/arch/arm/arm32/livepatch.c b/xen/arch/arm/arm32/livepatch.c
index a328179..41378a5 100644
--- a/xen/arch/arm/arm32/livepatch.c
+++ b/xen/arch/arm/arm32/livepatch.c
@@ -254,12 +254,24 @@ int arch_livepatch_perform(struct livepatch_elf *elf,
addend = get_addend(type, dest);
}
- if ( symndx > elf->nsym )
+ if ( symndx == STN_UNDEF )
+ {
+ dprintk(XENLOG_ERR, LIVEPATCH "%s: Encountered STN_UNDEF\n",
+ elf->name);
+ return -EOPNOTSUPP;
+ }
+ else if ( symndx >= elf->nsym )
{
dprintk(XENLOG_ERR, LIVEPATCH "%s: Relative symbol wants symbol@%u which is past end!\n",
elf->name, symndx);
return -EINVAL;
}
+ else if ( !elf->sym[symndx].sym )
+ {
+ dprintk(XENLOG_ERR, LIVEPATCH "%s: No relative symbol@%u\n",
+ elf->name, symndx);
+ return -EINVAL;
+ }
val = elf->sym[symndx].sym->st_value; /* S */
diff --git a/xen/arch/arm/arm64/livepatch.c b/xen/arch/arm/arm64/livepatch.c
index 63929b1..2247b92 100644
--- a/xen/arch/arm/arm64/livepatch.c
+++ b/xen/arch/arm/arm64/livepatch.c
@@ -252,12 +252,24 @@ int arch_livepatch_perform_rela(struct livepatch_elf *elf,
int ovf = 0;
uint64_t val;
- if ( symndx > elf->nsym )
+ if ( symndx == STN_UNDEF )
+ {
+ dprintk(XENLOG_ERR, LIVEPATCH "%s: Encountered STN_UNDEF\n",
+ elf->name);
+ return -EOPNOTSUPP;
+ }
+ else if ( symndx >= elf->nsym )
{
dprintk(XENLOG_ERR, LIVEPATCH "%s: Relative relocation wants symbol@%u which is past end!\n",
elf->name, symndx);
return -EINVAL;
}
+ else if ( !elf->sym[symndx].sym )
+ {
+ dprintk(XENLOG_ERR, LIVEPATCH "%s: No relative symbol@%u\n",
+ elf->name, symndx);
+ return -EINVAL;
+ }
val = elf->sym[symndx].sym->st_value + r->r_addend; /* S+A */
diff --git a/xen/arch/x86/livepatch.c b/xen/arch/x86/livepatch.c
index 7917610..406eb91 100644
--- a/xen/arch/x86/livepatch.c
+++ b/xen/arch/x86/livepatch.c
@@ -170,12 +170,24 @@ int arch_livepatch_perform_rela(struct livepatch_elf *elf,
uint8_t *dest = base->load_addr + r->r_offset;
uint64_t val;
- if ( symndx > elf->nsym )
+ if ( symndx == STN_UNDEF )
+ {
+ dprintk(XENLOG_ERR, LIVEPATCH "%s: Encountered STN_UNDEF\n",
+ elf->name);
+ return -EOPNOTSUPP;
+ }
+ else if ( symndx >= elf->nsym )
{
dprintk(XENLOG_ERR, LIVEPATCH "%s: Relative relocation wants symbol@%u which is past end!\n",
elf->name, symndx);
return -EINVAL;
}
+ else if ( !elf->sym[symndx].sym )
+ {
+ dprintk(XENLOG_ERR, LIVEPATCH "%s: No symbol@%u\n",
+ elf->name, symndx);
+ return -EINVAL;
+ }
val = r->r_addend + elf->sym[symndx].sym->st_value;
--
2.1.4
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
^ permalink raw reply related [flat|nested] 22+ messages in thread
* Re: [PATCH for-4.9 v3 3/3] xen/livepatch: Don't crash on encountering STN_UNDEF relocations
2017-06-22 18:15 ` [PATCH for-4.9 v3 3/3] xen/livepatch: Don't crash on encountering STN_UNDEF relocations Andrew Cooper
@ 2017-06-22 21:10 ` Stefano Stabellini
2017-06-23 2:56 ` Konrad Rzeszutek Wilk
` (3 subsequent siblings)
4 siblings, 0 replies; 22+ messages in thread
From: Stefano Stabellini @ 2017-06-22 21:10 UTC (permalink / raw)
To: Andrew Cooper
Cc: Stefano Stabellini, Xen-devel, Ross Lagerwall, Julien Grall, Jan Beulich
On Thu, 22 Jun 2017, Andrew Cooper wrote:
> A symndx of STN_UNDEF is special, and means a symbol value of 0. While
> legitimate in the ELF standard, its existance in a livepatch is questionable
> at best. Until a plausible usecase presents itself, reject such a relocation
> with -EOPNOTSUPP.
>
> Additionally, fix an off-by-one error while range checking symndx, and perform
> a safety check on elf->sym[symndx].sym before derefencing it, to avoid
> tripping over a NULL pointer when calculating val.
>
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> CC: Ross Lagerwall <ross.lagerwall@citrix.com>
> CC: Jan Beulich <JBeulich@suse.com>
> CC: Stefano Stabellini <sstabellini@kernel.org>
> CC: Julien Grall <julien.grall@arm.com>
>
> v3:
> * Fix off-by-one error
> v2:
> * Reject STN_UNDEF with -EOPNOTSUPP
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
> ---
> xen/arch/arm/arm32/livepatch.c | 14 +++++++++++++-
> xen/arch/arm/arm64/livepatch.c | 14 +++++++++++++-
> xen/arch/x86/livepatch.c | 14 +++++++++++++-
> 3 files changed, 39 insertions(+), 3 deletions(-)
>
> diff --git a/xen/arch/arm/arm32/livepatch.c b/xen/arch/arm/arm32/livepatch.c
> index a328179..41378a5 100644
> --- a/xen/arch/arm/arm32/livepatch.c
> +++ b/xen/arch/arm/arm32/livepatch.c
> @@ -254,12 +254,24 @@ int arch_livepatch_perform(struct livepatch_elf *elf,
> addend = get_addend(type, dest);
> }
>
> - if ( symndx > elf->nsym )
> + if ( symndx == STN_UNDEF )
> + {
> + dprintk(XENLOG_ERR, LIVEPATCH "%s: Encountered STN_UNDEF\n",
> + elf->name);
> + return -EOPNOTSUPP;
> + }
> + else if ( symndx >= elf->nsym )
> {
> dprintk(XENLOG_ERR, LIVEPATCH "%s: Relative symbol wants symbol@%u which is past end!\n",
> elf->name, symndx);
> return -EINVAL;
> }
> + else if ( !elf->sym[symndx].sym )
> + {
> + dprintk(XENLOG_ERR, LIVEPATCH "%s: No relative symbol@%u\n",
> + elf->name, symndx);
> + return -EINVAL;
> + }
>
> val = elf->sym[symndx].sym->st_value; /* S */
>
> diff --git a/xen/arch/arm/arm64/livepatch.c b/xen/arch/arm/arm64/livepatch.c
> index 63929b1..2247b92 100644
> --- a/xen/arch/arm/arm64/livepatch.c
> +++ b/xen/arch/arm/arm64/livepatch.c
> @@ -252,12 +252,24 @@ int arch_livepatch_perform_rela(struct livepatch_elf *elf,
> int ovf = 0;
> uint64_t val;
>
> - if ( symndx > elf->nsym )
> + if ( symndx == STN_UNDEF )
> + {
> + dprintk(XENLOG_ERR, LIVEPATCH "%s: Encountered STN_UNDEF\n",
> + elf->name);
> + return -EOPNOTSUPP;
> + }
> + else if ( symndx >= elf->nsym )
> {
> dprintk(XENLOG_ERR, LIVEPATCH "%s: Relative relocation wants symbol@%u which is past end!\n",
> elf->name, symndx);
> return -EINVAL;
> }
> + else if ( !elf->sym[symndx].sym )
> + {
> + dprintk(XENLOG_ERR, LIVEPATCH "%s: No relative symbol@%u\n",
> + elf->name, symndx);
> + return -EINVAL;
> + }
>
> val = elf->sym[symndx].sym->st_value + r->r_addend; /* S+A */
>
> diff --git a/xen/arch/x86/livepatch.c b/xen/arch/x86/livepatch.c
> index 7917610..406eb91 100644
> --- a/xen/arch/x86/livepatch.c
> +++ b/xen/arch/x86/livepatch.c
> @@ -170,12 +170,24 @@ int arch_livepatch_perform_rela(struct livepatch_elf *elf,
> uint8_t *dest = base->load_addr + r->r_offset;
> uint64_t val;
>
> - if ( symndx > elf->nsym )
> + if ( symndx == STN_UNDEF )
> + {
> + dprintk(XENLOG_ERR, LIVEPATCH "%s: Encountered STN_UNDEF\n",
> + elf->name);
> + return -EOPNOTSUPP;
> + }
> + else if ( symndx >= elf->nsym )
> {
> dprintk(XENLOG_ERR, LIVEPATCH "%s: Relative relocation wants symbol@%u which is past end!\n",
> elf->name, symndx);
> return -EINVAL;
> }
> + else if ( !elf->sym[symndx].sym )
> + {
> + dprintk(XENLOG_ERR, LIVEPATCH "%s: No symbol@%u\n",
> + elf->name, symndx);
> + return -EINVAL;
> + }
>
> val = r->r_addend + elf->sym[symndx].sym->st_value;
>
> --
> 2.1.4
>
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH for-4.9 v3 2/3] xen/livepatch: Use zeroed memory allocations for arrays
2017-06-22 18:15 ` [PATCH for-4.9 v3 2/3] xen/livepatch: Use zeroed memory allocations for arrays Andrew Cooper
@ 2017-06-23 2:55 ` Konrad Rzeszutek Wilk
2017-06-23 12:31 ` Ross Lagerwall
1 sibling, 0 replies; 22+ messages in thread
From: Konrad Rzeszutek Wilk @ 2017-06-23 2:55 UTC (permalink / raw)
To: Andrew Cooper; +Cc: Ross Lagerwall, Xen-devel
On Thu, Jun 22, 2017 at 07:15:28PM +0100, Andrew Cooper wrote:
> Each of these arrays is sparse. Use zeroed allocations to cause uninitialised
> array elements to contain deterministic values, most importantly for the
> embedded pointers.
>
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Tested-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
[x86 and ARM32]
> CC: Ross Lagerwall <ross.lagerwall@citrix.com>
>
> * new in v3
> ---
> xen/common/livepatch.c | 4 ++--
> xen/common/livepatch_elf.c | 4 ++--
> 2 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/xen/common/livepatch.c b/xen/common/livepatch.c
> index df67a1a..66d532d 100644
> --- a/xen/common/livepatch.c
> +++ b/xen/common/livepatch.c
> @@ -771,8 +771,8 @@ static int build_symbol_table(struct payload *payload,
> }
> }
>
> - symtab = xmalloc_array(struct livepatch_symbol, nsyms);
> - strtab = xmalloc_array(char, strtab_len);
> + symtab = xzalloc_array(struct livepatch_symbol, nsyms);
> + strtab = xzalloc_array(char, strtab_len);
>
> if ( !strtab || !symtab )
> {
> diff --git a/xen/common/livepatch_elf.c b/xen/common/livepatch_elf.c
> index c4a9633..b69e271 100644
> --- a/xen/common/livepatch_elf.c
> +++ b/xen/common/livepatch_elf.c
> @@ -52,7 +52,7 @@ static int elf_resolve_sections(struct livepatch_elf *elf, const void *data)
> int rc;
>
> /* livepatch_elf_load sanity checked e_shnum. */
> - sec = xmalloc_array(struct livepatch_elf_sec, elf->hdr->e_shnum);
> + sec = xzalloc_array(struct livepatch_elf_sec, elf->hdr->e_shnum);
> if ( !sec )
> {
> dprintk(XENLOG_ERR, LIVEPATCH"%s: Could not allocate memory for section table!\n",
> @@ -225,7 +225,7 @@ static int elf_get_sym(struct livepatch_elf *elf, const void *data)
> /* No need to check values as elf_resolve_sections did it. */
> nsym = symtab_sec->sec->sh_size / symtab_sec->sec->sh_entsize;
>
> - sym = xmalloc_array(struct livepatch_elf_sym, nsym);
> + sym = xzalloc_array(struct livepatch_elf_sym, nsym);
> if ( !sym )
> {
> dprintk(XENLOG_ERR, LIVEPATCH "%s: Could not allocate memory for symbols\n",
> --
> 2.1.4
>
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH for-4.9 v3 3/3] xen/livepatch: Don't crash on encountering STN_UNDEF relocations
2017-06-22 18:15 ` [PATCH for-4.9 v3 3/3] xen/livepatch: Don't crash on encountering STN_UNDEF relocations Andrew Cooper
2017-06-22 21:10 ` Stefano Stabellini
@ 2017-06-23 2:56 ` Konrad Rzeszutek Wilk
2017-06-23 9:50 ` Jan Beulich
` (2 subsequent siblings)
4 siblings, 0 replies; 22+ messages in thread
From: Konrad Rzeszutek Wilk @ 2017-06-23 2:56 UTC (permalink / raw)
To: Andrew Cooper
Cc: Ross Lagerwall, Julien Grall, Stefano Stabellini, Jan Beulich, Xen-devel
On Thu, Jun 22, 2017 at 07:15:29PM +0100, Andrew Cooper wrote:
> A symndx of STN_UNDEF is special, and means a symbol value of 0. While
> legitimate in the ELF standard, its existance in a livepatch is questionable
> at best. Until a plausible usecase presents itself, reject such a relocation
> with -EOPNOTSUPP.
>
> Additionally, fix an off-by-one error while range checking symndx, and perform
> a safety check on elf->sym[symndx].sym before derefencing it, to avoid
> tripping over a NULL pointer when calculating val.
>
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Tested-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> [arm32 and x86]
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH for-4.9 v3 3/3] xen/livepatch: Don't crash on encountering STN_UNDEF relocations
2017-06-22 18:15 ` [PATCH for-4.9 v3 3/3] xen/livepatch: Don't crash on encountering STN_UNDEF relocations Andrew Cooper
2017-06-22 21:10 ` Stefano Stabellini
2017-06-23 2:56 ` Konrad Rzeszutek Wilk
@ 2017-06-23 9:50 ` Jan Beulich
2017-06-23 10:13 ` Andrew Cooper
2017-06-23 12:35 ` Ross Lagerwall
2017-06-23 13:32 ` Julien Grall
4 siblings, 1 reply; 22+ messages in thread
From: Jan Beulich @ 2017-06-23 9:50 UTC (permalink / raw)
To: Andrew Cooper; +Cc: Ross Lagerwall, Julien Grall, Stefano Stabellini, Xen-devel
>>> On 22.06.17 at 20:15, <andrew.cooper3@citrix.com> wrote:
> A symndx of STN_UNDEF is special, and means a symbol value of 0. While
> legitimate in the ELF standard, its existance in a livepatch is questionable
> at best. Until a plausible usecase presents itself, reject such a relocation
> with -EOPNOTSUPP.
>
> Additionally, fix an off-by-one error while range checking symndx, and perform
> a safety check on elf->sym[symndx].sym before derefencing it, to avoid
> tripping over a NULL pointer when calculating val.
>
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
with two remarks:
> --- a/xen/arch/x86/livepatch.c
> +++ b/xen/arch/x86/livepatch.c
> @@ -170,12 +170,24 @@ int arch_livepatch_perform_rela(struct livepatch_elf *elf,
> uint8_t *dest = base->load_addr + r->r_offset;
> uint64_t val;
>
> - if ( symndx > elf->nsym )
> + if ( symndx == STN_UNDEF )
> + {
> + dprintk(XENLOG_ERR, LIVEPATCH "%s: Encountered STN_UNDEF\n",
> + elf->name);
> + return -EOPNOTSUPP;
> + }
> + else if ( symndx >= elf->nsym )
> {
> dprintk(XENLOG_ERR, LIVEPATCH "%s: Relative relocation wants symbol@%u which is past end!\n",
> elf->name, symndx);
> return -EINVAL;
> }
> + else if ( !elf->sym[symndx].sym )
Neither of the two "else" is really necessary, and elsewhere we've
been telling people to avoid such.
> + {
> + dprintk(XENLOG_ERR, LIVEPATCH "%s: No symbol@%u\n",
Symbol tables can grow large, and for large numbers I generally
find hex representation preferable of dec. Otoh the other
(pre-existing) message uses dec too ...
Jan
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH for-4.9 v3 3/3] xen/livepatch: Don't crash on encountering STN_UNDEF relocations
2017-06-23 9:50 ` Jan Beulich
@ 2017-06-23 10:13 ` Andrew Cooper
0 siblings, 0 replies; 22+ messages in thread
From: Andrew Cooper @ 2017-06-23 10:13 UTC (permalink / raw)
To: Jan Beulich; +Cc: Ross Lagerwall, Julien Grall, Stefano Stabellini, Xen-devel
On 23/06/17 10:50, Jan Beulich wrote:
>>>> On 22.06.17 at 20:15, <andrew.cooper3@citrix.com> wrote:
>> A symndx of STN_UNDEF is special, and means a symbol value of 0. While
>> legitimate in the ELF standard, its existance in a livepatch is questionable
>> at best. Until a plausible usecase presents itself, reject such a relocation
>> with -EOPNOTSUPP.
>>
>> Additionally, fix an off-by-one error while range checking symndx, and perform
>> a safety check on elf->sym[symndx].sym before derefencing it, to avoid
>> tripping over a NULL pointer when calculating val.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
> with two remarks:
>
>> --- a/xen/arch/x86/livepatch.c
>> +++ b/xen/arch/x86/livepatch.c
>> @@ -170,12 +170,24 @@ int arch_livepatch_perform_rela(struct livepatch_elf *elf,
>> uint8_t *dest = base->load_addr + r->r_offset;
>> uint64_t val;
>>
>> - if ( symndx > elf->nsym )
>> + if ( symndx == STN_UNDEF )
>> + {
>> + dprintk(XENLOG_ERR, LIVEPATCH "%s: Encountered STN_UNDEF\n",
>> + elf->name);
>> + return -EOPNOTSUPP;
>> + }
>> + else if ( symndx >= elf->nsym )
>> {
>> dprintk(XENLOG_ERR, LIVEPATCH "%s: Relative relocation wants symbol@%u which is past end!\n",
>> elf->name, symndx);
>> return -EINVAL;
>> }
>> + else if ( !elf->sym[symndx].sym )
> Neither of the two "else" is really necessary, and elsewhere we've
> been telling people to avoid such.
I see two logically different scenarios.
Per the style, if I were to use fully separate if() statements, I'd need
a newline between each. This expands the code, and separates a chain of
logically-related checks.
IMO, its better to keep logically related checks more obviously
together, while I would definitely agree that unrelated chains (which
could in principle be if/else like this) should be separated.
>
>> + {
>> + dprintk(XENLOG_ERR, LIVEPATCH "%s: No symbol@%u\n",
> Symbol tables can grow large, and for large numbers I generally
> find hex representation preferable of dec. Otoh the other
> (pre-existing) message uses dec too ...
I'll stay consistent with everything else.
~Andrew
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH for-4.9 v3 2/3] xen/livepatch: Use zeroed memory allocations for arrays
2017-06-22 18:15 ` [PATCH for-4.9 v3 2/3] xen/livepatch: Use zeroed memory allocations for arrays Andrew Cooper
2017-06-23 2:55 ` Konrad Rzeszutek Wilk
@ 2017-06-23 12:31 ` Ross Lagerwall
1 sibling, 0 replies; 22+ messages in thread
From: Ross Lagerwall @ 2017-06-23 12:31 UTC (permalink / raw)
To: Andrew Cooper, Xen-devel
On 06/22/2017 07:15 PM, Andrew Cooper wrote:
> Each of these arrays is sparse. Use zeroed allocations to cause uninitialised
> array elements to contain deterministic values, most importantly for the
> embedded pointers.
>
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Ross Lagerwall <ross.lagerwall@citrix.com>
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH for-4.9 v3 3/3] xen/livepatch: Don't crash on encountering STN_UNDEF relocations
2017-06-22 18:15 ` [PATCH for-4.9 v3 3/3] xen/livepatch: Don't crash on encountering STN_UNDEF relocations Andrew Cooper
` (2 preceding siblings ...)
2017-06-23 9:50 ` Jan Beulich
@ 2017-06-23 12:35 ` Ross Lagerwall
2017-06-23 13:32 ` Julien Grall
4 siblings, 0 replies; 22+ messages in thread
From: Ross Lagerwall @ 2017-06-23 12:35 UTC (permalink / raw)
To: Andrew Cooper, Xen-devel; +Cc: Julien Grall, Stefano Stabellini, Jan Beulich
On 06/22/2017 07:15 PM, Andrew Cooper wrote:
> A symndx of STN_UNDEF is special, and means a symbol value of 0. While
> legitimate in the ELF standard, its existance in a livepatch is questionable
> at best. Until a plausible usecase presents itself, reject such a relocation
> with -EOPNOTSUPP.
>
> Additionally, fix an off-by-one error while range checking symndx, and perform
> a safety check on elf->sym[symndx].sym before derefencing it, to avoid
> tripping over a NULL pointer when calculating val.
>
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Ross Lagerwall <ross.lagerwall@citrix.com>
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH for-4.9 v3 3/3] xen/livepatch: Don't crash on encountering STN_UNDEF relocations
2017-06-22 18:15 ` [PATCH for-4.9 v3 3/3] xen/livepatch: Don't crash on encountering STN_UNDEF relocations Andrew Cooper
` (3 preceding siblings ...)
2017-06-23 12:35 ` Ross Lagerwall
@ 2017-06-23 13:32 ` Julien Grall
2017-06-23 13:33 ` Andrew Cooper
4 siblings, 1 reply; 22+ messages in thread
From: Julien Grall @ 2017-06-23 13:32 UTC (permalink / raw)
To: Andrew Cooper, Xen-devel; +Cc: Ross Lagerwall, Stefano Stabellini, Jan Beulich
Hi Andrew,
I am a bit confused, the title says "PATCH for-4.9 v3 3/3". I haven't
been CCed on the first two patches. Does it mean you are only looking at
this patch to be in 4.9?
Cheers,
On 22/06/17 19:15, Andrew Cooper wrote:
> A symndx of STN_UNDEF is special, and means a symbol value of 0. While
> legitimate in the ELF standard, its existance in a livepatch is questionable
> at best. Until a plausible usecase presents itself, reject such a relocation
> with -EOPNOTSUPP.
>
> Additionally, fix an off-by-one error while range checking symndx, and perform
> a safety check on elf->sym[symndx].sym before derefencing it, to avoid
> tripping over a NULL pointer when calculating val.
>
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> CC: Ross Lagerwall <ross.lagerwall@citrix.com>
> CC: Jan Beulich <JBeulich@suse.com>
> CC: Stefano Stabellini <sstabellini@kernel.org>
> CC: Julien Grall <julien.grall@arm.com>
>
> v3:
> * Fix off-by-one error
> v2:
> * Reject STN_UNDEF with -EOPNOTSUPP
> ---
> xen/arch/arm/arm32/livepatch.c | 14 +++++++++++++-
> xen/arch/arm/arm64/livepatch.c | 14 +++++++++++++-
> xen/arch/x86/livepatch.c | 14 +++++++++++++-
> 3 files changed, 39 insertions(+), 3 deletions(-)
>
> diff --git a/xen/arch/arm/arm32/livepatch.c b/xen/arch/arm/arm32/livepatch.c
> index a328179..41378a5 100644
> --- a/xen/arch/arm/arm32/livepatch.c
> +++ b/xen/arch/arm/arm32/livepatch.c
> @@ -254,12 +254,24 @@ int arch_livepatch_perform(struct livepatch_elf *elf,
> addend = get_addend(type, dest);
> }
>
> - if ( symndx > elf->nsym )
> + if ( symndx == STN_UNDEF )
> + {
> + dprintk(XENLOG_ERR, LIVEPATCH "%s: Encountered STN_UNDEF\n",
> + elf->name);
> + return -EOPNOTSUPP;
> + }
> + else if ( symndx >= elf->nsym )
> {
> dprintk(XENLOG_ERR, LIVEPATCH "%s: Relative symbol wants symbol@%u which is past end!\n",
> elf->name, symndx);
> return -EINVAL;
> }
> + else if ( !elf->sym[symndx].sym )
> + {
> + dprintk(XENLOG_ERR, LIVEPATCH "%s: No relative symbol@%u\n",
> + elf->name, symndx);
> + return -EINVAL;
> + }
>
> val = elf->sym[symndx].sym->st_value; /* S */
>
> diff --git a/xen/arch/arm/arm64/livepatch.c b/xen/arch/arm/arm64/livepatch.c
> index 63929b1..2247b92 100644
> --- a/xen/arch/arm/arm64/livepatch.c
> +++ b/xen/arch/arm/arm64/livepatch.c
> @@ -252,12 +252,24 @@ int arch_livepatch_perform_rela(struct livepatch_elf *elf,
> int ovf = 0;
> uint64_t val;
>
> - if ( symndx > elf->nsym )
> + if ( symndx == STN_UNDEF )
> + {
> + dprintk(XENLOG_ERR, LIVEPATCH "%s: Encountered STN_UNDEF\n",
> + elf->name);
> + return -EOPNOTSUPP;
> + }
> + else if ( symndx >= elf->nsym )
> {
> dprintk(XENLOG_ERR, LIVEPATCH "%s: Relative relocation wants symbol@%u which is past end!\n",
> elf->name, symndx);
> return -EINVAL;
> }
> + else if ( !elf->sym[symndx].sym )
> + {
> + dprintk(XENLOG_ERR, LIVEPATCH "%s: No relative symbol@%u\n",
> + elf->name, symndx);
> + return -EINVAL;
> + }
>
> val = elf->sym[symndx].sym->st_value + r->r_addend; /* S+A */
>
> diff --git a/xen/arch/x86/livepatch.c b/xen/arch/x86/livepatch.c
> index 7917610..406eb91 100644
> --- a/xen/arch/x86/livepatch.c
> +++ b/xen/arch/x86/livepatch.c
> @@ -170,12 +170,24 @@ int arch_livepatch_perform_rela(struct livepatch_elf *elf,
> uint8_t *dest = base->load_addr + r->r_offset;
> uint64_t val;
>
> - if ( symndx > elf->nsym )
> + if ( symndx == STN_UNDEF )
> + {
> + dprintk(XENLOG_ERR, LIVEPATCH "%s: Encountered STN_UNDEF\n",
> + elf->name);
> + return -EOPNOTSUPP;
> + }
> + else if ( symndx >= elf->nsym )
> {
> dprintk(XENLOG_ERR, LIVEPATCH "%s: Relative relocation wants symbol@%u which is past end!\n",
> elf->name, symndx);
> return -EINVAL;
> }
> + else if ( !elf->sym[symndx].sym )
> + {
> + dprintk(XENLOG_ERR, LIVEPATCH "%s: No symbol@%u\n",
> + elf->name, symndx);
> + return -EINVAL;
> + }
>
> val = r->r_addend + elf->sym[symndx].sym->st_value;
>
>
--
Julien Grall
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH for-4.9 v3 3/3] xen/livepatch: Don't crash on encountering STN_UNDEF relocations
2017-06-23 13:32 ` Julien Grall
@ 2017-06-23 13:33 ` Andrew Cooper
2017-06-23 13:43 ` Julien Grall
0 siblings, 1 reply; 22+ messages in thread
From: Andrew Cooper @ 2017-06-23 13:33 UTC (permalink / raw)
To: Julien Grall, Xen-devel; +Cc: Ross Lagerwall, Stefano Stabellini, Jan Beulich
On 23/06/17 14:32, Julien Grall wrote:
> Hi Andrew,
>
> I am a bit confused, the title says "PATCH for-4.9 v3 3/3". I haven't
> been CCed on the first two patches. Does it mean you are only looking
> at this patch to be in 4.9?
Sorry - I messed up the CC lists. The correctness of this patch does
depend on the previous two, so all 3 are looking for inclusion.
~Andrew
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH for-4.9 v3 3/3] xen/livepatch: Don't crash on encountering STN_UNDEF relocations
2017-06-23 13:33 ` Andrew Cooper
@ 2017-06-23 13:43 ` Julien Grall
2017-06-23 13:45 ` Andrew Cooper
0 siblings, 1 reply; 22+ messages in thread
From: Julien Grall @ 2017-06-23 13:43 UTC (permalink / raw)
To: Andrew Cooper, Xen-devel; +Cc: Ross Lagerwall, Stefano Stabellini, Jan Beulich
Hi,
On 23/06/17 14:33, Andrew Cooper wrote:
> On 23/06/17 14:32, Julien Grall wrote:
>> Hi Andrew,
>>
>> I am a bit confused, the title says "PATCH for-4.9 v3 3/3". I haven't
>> been CCed on the first two patches. Does it mean you are only looking
>> at this patch to be in 4.9?
>
> Sorry - I messed up the CC lists. The correctness of this patch does
> depend on the previous two, so all 3 are looking for inclusion.
Given that we don't have livepatch testing in osstest how much test have
we done on those 3 patches?
Cheers,
--
Julien Grall
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH for-4.9 v3 3/3] xen/livepatch: Don't crash on encountering STN_UNDEF relocations
2017-06-23 13:43 ` Julien Grall
@ 2017-06-23 13:45 ` Andrew Cooper
2017-06-23 13:47 ` Julien Grall
2017-06-23 14:35 ` Konrad Rzeszutek Wilk
0 siblings, 2 replies; 22+ messages in thread
From: Andrew Cooper @ 2017-06-23 13:45 UTC (permalink / raw)
To: Julien Grall, Xen-devel; +Cc: Ross Lagerwall, Stefano Stabellini, Jan Beulich
On 23/06/17 14:43, Julien Grall wrote:
> Hi,
>
> On 23/06/17 14:33, Andrew Cooper wrote:
>> On 23/06/17 14:32, Julien Grall wrote:
>>> Hi Andrew,
>>>
>>> I am a bit confused, the title says "PATCH for-4.9 v3 3/3". I haven't
>>> been CCed on the first two patches. Does it mean you are only looking
>>> at this patch to be in 4.9?
>>
>> Sorry - I messed up the CC lists. The correctness of this patch does
>> depend on the previous two, so all 3 are looking for inclusion.
>
> Given that we don't have livepatch testing in osstest how much test
> have we done on those 3 patches?
There is testing in OSSTest.
I've manually run each of the scenarios, including with my livepatch
which has a STN_UNDEF relocation.
I don't know what testing Konrad has done.
~Andrew
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH for-4.9 v3 3/3] xen/livepatch: Don't crash on encountering STN_UNDEF relocations
2017-06-23 13:45 ` Andrew Cooper
@ 2017-06-23 13:47 ` Julien Grall
2017-06-23 14:35 ` Konrad Rzeszutek Wilk
1 sibling, 0 replies; 22+ messages in thread
From: Julien Grall @ 2017-06-23 13:47 UTC (permalink / raw)
To: Andrew Cooper, Xen-devel; +Cc: Ross Lagerwall, Stefano Stabellini, Jan Beulich
On 23/06/17 14:45, Andrew Cooper wrote:
> On 23/06/17 14:43, Julien Grall wrote:
>> Hi,
>>
>> On 23/06/17 14:33, Andrew Cooper wrote:
>>> On 23/06/17 14:32, Julien Grall wrote:
>>>> Hi Andrew,
>>>>
>>>> I am a bit confused, the title says "PATCH for-4.9 v3 3/3". I haven't
>>>> been CCed on the first two patches. Does it mean you are only looking
>>>> at this patch to be in 4.9?
>>>
>>> Sorry - I messed up the CC lists. The correctness of this patch does
>>> depend on the previous two, so all 3 are looking for inclusion.
>>
>> Given that we don't have livepatch testing in osstest how much test
>> have we done on those 3 patches?
>
> There is testing in OSSTest.
Oh yes sorry. But only for amd64 and i386. No arm32 nor arm64 test.
>
> I've manually run each of the scenarios, including with my livepatch
> which has a STN_UNDEF relocation.
>
> I don't know what testing Konrad has done.
Cheers,
--
Julien Grall
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH for-4.9 v3 3/3] xen/livepatch: Don't crash on encountering STN_UNDEF relocations
2017-06-23 13:45 ` Andrew Cooper
2017-06-23 13:47 ` Julien Grall
@ 2017-06-23 14:35 ` Konrad Rzeszutek Wilk
2017-06-23 14:36 ` Julien Grall
1 sibling, 1 reply; 22+ messages in thread
From: Konrad Rzeszutek Wilk @ 2017-06-23 14:35 UTC (permalink / raw)
To: Andrew Cooper
Cc: Ross Lagerwall, Julien Grall, Stefano Stabellini, Jan Beulich, Xen-devel
On Fri, Jun 23, 2017 at 02:45:22PM +0100, Andrew Cooper wrote:
> On 23/06/17 14:43, Julien Grall wrote:
> > Hi,
> >
> > On 23/06/17 14:33, Andrew Cooper wrote:
> >> On 23/06/17 14:32, Julien Grall wrote:
> >>> Hi Andrew,
> >>>
> >>> I am a bit confused, the title says "PATCH for-4.9 v3 3/3". I haven't
> >>> been CCed on the first two patches. Does it mean you are only looking
> >>> at this patch to be in 4.9?
> >>
> >> Sorry - I messed up the CC lists. The correctness of this patch does
> >> depend on the previous two, so all 3 are looking for inclusion.
> >
> > Given that we don't have livepatch testing in osstest how much test
> > have we done on those 3 patches?
>
> There is testing in OSSTest.
Hurray hurray hurray!
>
> I've manually run each of the scenarios, including with my livepatch
> which has a STN_UNDEF relocation.
>
> I don't know what testing Konrad has done.
I run a version of the same tests that are in OSSTest (basically an earlier
version of the Perl code) and I have done it on x86 and on ARM32.
And I also run the standalone OSSTest (on x86)
And then I also do a livepatch using the livepatch-build-tools on x86 to
patch some silly function.
So from a testing perspective these patches have been tested very exhaustively.
>
> ~Andrew
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH for-4.9 v3 3/3] xen/livepatch: Don't crash on encountering STN_UNDEF relocations
2017-06-23 14:35 ` Konrad Rzeszutek Wilk
@ 2017-06-23 14:36 ` Julien Grall
2017-06-23 14:46 ` Konrad Rzeszutek Wilk
0 siblings, 1 reply; 22+ messages in thread
From: Julien Grall @ 2017-06-23 14:36 UTC (permalink / raw)
To: Konrad Rzeszutek Wilk, Andrew Cooper
Cc: Ross Lagerwall, Stefano Stabellini, Jan Beulich, Xen-devel
On 23/06/17 15:35, Konrad Rzeszutek Wilk wrote:
> On Fri, Jun 23, 2017 at 02:45:22PM +0100, Andrew Cooper wrote:
>> On 23/06/17 14:43, Julien Grall wrote:
>>> Hi,
>>>
>>> On 23/06/17 14:33, Andrew Cooper wrote:
>>>> On 23/06/17 14:32, Julien Grall wrote:
>>>>> Hi Andrew,
>>>>>
>>>>> I am a bit confused, the title says "PATCH for-4.9 v3 3/3". I haven't
>>>>> been CCed on the first two patches. Does it mean you are only looking
>>>>> at this patch to be in 4.9?
>>>>
>>>> Sorry - I messed up the CC lists. The correctness of this patch does
>>>> depend on the previous two, so all 3 are looking for inclusion.
>>>
>>> Given that we don't have livepatch testing in osstest how much test
>>> have we done on those 3 patches?
>>
>> There is testing in OSSTest.
>
> Hurray hurray hurray!
>>
>> I've manually run each of the scenarios, including with my livepatch
>> which has a STN_UNDEF relocation.
>>
>> I don't know what testing Konrad has done.
>
> I run a version of the same tests that are in OSSTest (basically an earlier
> version of the Perl code) and I have done it on x86 and on ARM32.
>
> And I also run the standalone OSSTest (on x86)
>
> And then I also do a livepatch using the livepatch-build-tools on x86 to
> patch some silly function.
>
> So from a testing perspective these patches have been tested very exhaustively.
Well it has not been tested on ARM64 :). I am about to do that.
Cheers,
--
Julien Grall
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH for-4.9 v3 3/3] xen/livepatch: Don't crash on encountering STN_UNDEF relocations
2017-06-23 14:36 ` Julien Grall
@ 2017-06-23 14:46 ` Konrad Rzeszutek Wilk
2017-06-24 17:28 ` Julien Grall
0 siblings, 1 reply; 22+ messages in thread
From: Konrad Rzeszutek Wilk @ 2017-06-23 14:46 UTC (permalink / raw)
To: Julien Grall
Cc: Andrew Cooper, Ross Lagerwall, Stefano Stabellini, Jan Beulich,
Xen-devel
[-- Attachment #1: Type: text/plain, Size: 1891 bytes --]
On Fri, Jun 23, 2017 at 03:36:51PM +0100, Julien Grall wrote:
>
>
> On 23/06/17 15:35, Konrad Rzeszutek Wilk wrote:
> > On Fri, Jun 23, 2017 at 02:45:22PM +0100, Andrew Cooper wrote:
> > > On 23/06/17 14:43, Julien Grall wrote:
> > > > Hi,
> > > >
> > > > On 23/06/17 14:33, Andrew Cooper wrote:
> > > > > On 23/06/17 14:32, Julien Grall wrote:
> > > > > > Hi Andrew,
> > > > > >
> > > > > > I am a bit confused, the title says "PATCH for-4.9 v3 3/3". I haven't
> > > > > > been CCed on the first two patches. Does it mean you are only looking
> > > > > > at this patch to be in 4.9?
> > > > >
> > > > > Sorry - I messed up the CC lists. The correctness of this patch does
> > > > > depend on the previous two, so all 3 are looking for inclusion.
> > > >
> > > > Given that we don't have livepatch testing in osstest how much test
> > > > have we done on those 3 patches?
> > >
> > > There is testing in OSSTest.
> >
> > Hurray hurray hurray!
> > >
> > > I've manually run each of the scenarios, including with my livepatch
> > > which has a STN_UNDEF relocation.
> > >
> > > I don't know what testing Konrad has done.
> >
> > I run a version of the same tests that are in OSSTest (basically an earlier
> > version of the Perl code) and I have done it on x86 and on ARM32.
> >
> > And I also run the standalone OSSTest (on x86)
> >
> > And then I also do a livepatch using the livepatch-build-tools on x86 to
> > patch some silly function.
> >
> > So from a testing perspective these patches have been tested very exhaustively.
>
> Well it has not been tested on ARM64 :). I am about to do that.
/me facepalm.
I really need to get myself a working ARM64 box that is not expensive.
Also attached is the poor-man livepatch_test.perl script that mirrors
what OSSTest does.
[Do adjust the path, it is /usr/lib/debug, but it should be /usr/lib/debug/livepatch
with Xen 4.9]
[-- Attachment #2: livepatch_test.perl --]
[-- Type: text/plain, Size: 2927 bytes --]
#!/usr/bin/perl
use Data::Dumper;
my @livepatch_files = ("xen_hello_world.livepatch", "xen_replace_world.livepatch",
"xen_bye_world.livepatch", "xen_nop.livepatch");
my @livepatch_tests = (
{cmd => "xen-livepatch list", rc => 0},
{cmd => "xl info | grep xen_extra | grep -q \"Hello World\"", rc => 256},
{cmd => "xen-livepatch revert xen_hello_world", rc => 256},
{cmd => "xen-livepatch load xen_hello_world.livepatch", rc => 0},
{cmd => "xen-livepatch load xen_hello_world.livepatch", rc => 256},
{cmd => "xen-livepatch list | grep -q xen_hello_world", rc => 0},
{cmd => "xl info | grep xen_extra | grep -q \"Hello World\"", rc => 0},
{cmd => "xen-livepatch revert xen_hello_world", rc => 0},
{cmd => "xl info | grep xen_extra | grep -q \"Hello World\"", rc => 256},
{cmd => "xen-livepatch unload xen_hello_world", rc => 0},
{cmd => "xen-livepatch unload xen_hello_world", rc => 256},
{cmd => "xl info | grep xen_extra | grep -q \"Hello World\"", rc => 256},
{cmd => "xen-livepatch load xen_hello_world.livepatch", rc => 0},
{cmd => "xen-livepatch load xen_bye_world.livepatch", rc => 0},
{cmd => "xl info | grep xen_extra | grep -q \"Bye World\"", rc => 0},
{cmd => "xen-livepatch upload xen_replace xen_replace_world.livepatch", rc => 0},
{cmd => "xen-livepatch replace xen_replace", rc => 0},
{cmd => "xen-livepatch apply xen_hello_world", rc => 256},
{cmd => "xen-livepatch apply xen_bye_world", rc => 256},
{cmd => "xl info | grep xen_extra | grep -q \"Hello Again Wor\"", rc => 0},
{cmd => "xen-livepatch apply xen_replace", rc => 0},
{cmd => "xen-livepatch revert xen_replace", rc => 0},
{cmd => "xen-livepatch unload xen_replace", rc => 0},
{cmd => "xen-livepatch unload xen_hello_world", rc => 0},
{cmd => "xen-livepatch unload xen_bye_world", rc => 0},
{cmd => "xen-livepatch list | grep -q xen", rc => 256},
# If running this under Xen 4.4, or 5.5 it will fail.
#{cmd => "[ `xl info| grep \"xen_m\" | grep or | sed s/.*:// | uniq | wc -l` == 2 ]", rc => 0},
{cmd => "xen-livepatch load xen_nop.livepatch", rc => 0},
{cmd => "xen-livepatch revert xen_nop", rc => 0},
{cmd => "xen-livepatch apply xen_nop", rc => 0},
{cmd => "[ `xl info| grep \"xen_m\" | grep or | sed s/.*:// | uniq | wc -l` == 1 ]", rc => 0},
{cmd => "xen-livepatch unload xen_nop", rc => 256},
{cmd => "xen-livepatch revert xen_nop", rc => 0},
{cmd => "xen-livepatch unload xen_nop", rc => 0},
);
chdir("/usr/lib/debug") or die "cannot change: $!\n";
foreach my $file (@livepatch_files)
{
if ( ! -f $file ) {
die "$file is missing!\n";
}
}
print "Have $#livepatch_tests test-cases\n";
my $rc=0;
for my $i ( 0 .. $#livepatch_tests ) {
my $expected_rc = $livepatch_tests[$i]{rc};
my $cmd = $livepatch_tests[$i]{cmd};
print "Executing: '$cmd:' ..";
my $rc=system($cmd);
if ( $rc != $expected_rc ) {
print "FAILED (got $rc, expected: $expected_rc)\n";
exit $rc
}
print ".. OK!\n";
}
exit $rc
[-- Attachment #3: Type: text/plain, Size: 127 bytes --]
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH for-4.9 v3 3/3] xen/livepatch: Don't crash on encountering STN_UNDEF relocations
2017-06-23 14:46 ` Konrad Rzeszutek Wilk
@ 2017-06-24 17:28 ` Julien Grall
2017-06-26 1:02 ` Konrad Rzeszutek Wilk
0 siblings, 1 reply; 22+ messages in thread
From: Julien Grall @ 2017-06-24 17:28 UTC (permalink / raw)
To: Konrad Rzeszutek Wilk
Cc: Andrew Cooper, Ross Lagerwall, Stefano Stabellini, Jan Beulich,
Xen-devel
Hi Konrad,
On 06/23/2017 03:46 PM, Konrad Rzeszutek Wilk wrote:
> On Fri, Jun 23, 2017 at 03:36:51PM +0100, Julien Grall wrote:
>>
>>
>> On 23/06/17 15:35, Konrad Rzeszutek Wilk wrote:
>>> On Fri, Jun 23, 2017 at 02:45:22PM +0100, Andrew Cooper wrote:
>>>> On 23/06/17 14:43, Julien Grall wrote:
>>>>> Hi,
>>>>>
>>>>> On 23/06/17 14:33, Andrew Cooper wrote:
>>>>>> On 23/06/17 14:32, Julien Grall wrote:
>>>>>>> Hi Andrew,
>>>>>>>
>>>>>>> I am a bit confused, the title says "PATCH for-4.9 v3 3/3". I haven't
>>>>>>> been CCed on the first two patches. Does it mean you are only looking
>>>>>>> at this patch to be in 4.9?
>>>>>>
>>>>>> Sorry - I messed up the CC lists. The correctness of this patch does
>>>>>> depend on the previous two, so all 3 are looking for inclusion.
>>>>>
>>>>> Given that we don't have livepatch testing in osstest how much test
>>>>> have we done on those 3 patches?
>>>>
>>>> There is testing in OSSTest.
>>>
>>> Hurray hurray hurray!
>>>>
>>>> I've manually run each of the scenarios, including with my livepatch
>>>> which has a STN_UNDEF relocation.
>>>>
>>>> I don't know what testing Konrad has done.
>>>
>>> I run a version of the same tests that are in OSSTest (basically an earlier
>>> version of the Perl code) and I have done it on x86 and on ARM32.
>>>
>>> And I also run the standalone OSSTest (on x86)
>>>
>>> And then I also do a livepatch using the livepatch-build-tools on x86 to
>>> patch some silly function.
>>>
>>> So from a testing perspective these patches have been tested very exhaustively.
>>
>> Well it has not been tested on ARM64 :). I am about to do that.
>
> /me facepalm.
>
> I really need to get myself a working ARM64 box that is not expensive.
>
>
> Also attached is the poor-man livepatch_test.perl script that mirrors
> what OSSTest does.
I have got an error when executing the script after applying the "nop"
livepatch:
Executing: 'xen-livepatch apply xen_nop:' ..Applying xen_nop... completed
.. OK!
Executing: '[ `xl info| grep "xen_m" | grep or | sed s/.*:// | uniq | wc
-l` == 1 ]:' ..sh: 1: [: 1: unexpected operator
FAILED (got 512, expected: 0)
But this looks like a script error than livepatch. Although, I was not
able to spot the error in the script.
Cheers,
--
Julien Grall
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH for-4.9 v3 3/3] xen/livepatch: Don't crash on encountering STN_UNDEF relocations
2017-06-24 17:28 ` Julien Grall
@ 2017-06-26 1:02 ` Konrad Rzeszutek Wilk
2017-06-26 9:34 ` Julien Grall
0 siblings, 1 reply; 22+ messages in thread
From: Konrad Rzeszutek Wilk @ 2017-06-26 1:02 UTC (permalink / raw)
To: Julien Grall
Cc: Andrew Cooper, Ross Lagerwall, Stefano Stabellini, Jan Beulich,
Xen-devel
On Sat, Jun 24, 2017 at 06:28:16PM +0100, Julien Grall wrote:
> Hi Konrad,
>
> On 06/23/2017 03:46 PM, Konrad Rzeszutek Wilk wrote:
> > On Fri, Jun 23, 2017 at 03:36:51PM +0100, Julien Grall wrote:
> > >
> > >
> > > On 23/06/17 15:35, Konrad Rzeszutek Wilk wrote:
> > > > On Fri, Jun 23, 2017 at 02:45:22PM +0100, Andrew Cooper wrote:
> > > > > On 23/06/17 14:43, Julien Grall wrote:
> > > > > > Hi,
> > > > > >
> > > > > > On 23/06/17 14:33, Andrew Cooper wrote:
> > > > > > > On 23/06/17 14:32, Julien Grall wrote:
> > > > > > > > Hi Andrew,
> > > > > > > >
> > > > > > > > I am a bit confused, the title says "PATCH for-4.9 v3 3/3". I haven't
> > > > > > > > been CCed on the first two patches. Does it mean you are only looking
> > > > > > > > at this patch to be in 4.9?
> > > > > > >
> > > > > > > Sorry - I messed up the CC lists. The correctness of this patch does
> > > > > > > depend on the previous two, so all 3 are looking for inclusion.
> > > > > >
> > > > > > Given that we don't have livepatch testing in osstest how much test
> > > > > > have we done on those 3 patches?
> > > > >
> > > > > There is testing in OSSTest.
> > > >
> > > > Hurray hurray hurray!
> > > > >
> > > > > I've manually run each of the scenarios, including with my livepatch
> > > > > which has a STN_UNDEF relocation.
> > > > >
> > > > > I don't know what testing Konrad has done.
> > > >
> > > > I run a version of the same tests that are in OSSTest (basically an earlier
> > > > version of the Perl code) and I have done it on x86 and on ARM32.
> > > >
> > > > And I also run the standalone OSSTest (on x86)
> > > >
> > > > And then I also do a livepatch using the livepatch-build-tools on x86 to
> > > > patch some silly function.
> > > >
> > > > So from a testing perspective these patches have been tested very exhaustively.
> > >
> > > Well it has not been tested on ARM64 :). I am about to do that.
> >
> > /me facepalm.
> >
> > I really need to get myself a working ARM64 box that is not expensive.
> >
> >
> > Also attached is the poor-man livepatch_test.perl script that mirrors
> > what OSSTest does.
>
> I have got an error when executing the script after applying the "nop"
> livepatch:
>
> Executing: 'xen-livepatch apply xen_nop:' ..Applying xen_nop... completed
> .. OK!
> Executing: '[ `xl info| grep "xen_m" | grep or | sed s/.*:// | uniq | wc -l`
> == 1 ]:' ..sh: 1: [: 1: unexpected operator
> FAILED (got 512, expected: 0)
Yeah I only get that when I execute it from the serial console.
When I SSH it works fine.
>
> But this looks like a script error than livepatch. Although, I was not able
> to spot the error in the script.
Neither could I. I do also have an earlier variant of this testing script
in bash (with less test-cases).
>
> Cheers,
>
> --
> Julien Grall
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH for-4.9 v3 3/3] xen/livepatch: Don't crash on encountering STN_UNDEF relocations
2017-06-26 1:02 ` Konrad Rzeszutek Wilk
@ 2017-06-26 9:34 ` Julien Grall
0 siblings, 0 replies; 22+ messages in thread
From: Julien Grall @ 2017-06-26 9:34 UTC (permalink / raw)
To: Konrad Rzeszutek Wilk
Cc: Andrew Cooper, Ross Lagerwall, Stefano Stabellini, Jan Beulich,
Xen-devel
On 26/06/17 02:02, Konrad Rzeszutek Wilk wrote:
> On Sat, Jun 24, 2017 at 06:28:16PM +0100, Julien Grall wrote:
>> Hi Konrad,
>>
>> On 06/23/2017 03:46 PM, Konrad Rzeszutek Wilk wrote:
>>> On Fri, Jun 23, 2017 at 03:36:51PM +0100, Julien Grall wrote:
>>>>
>>>>
>>>> On 23/06/17 15:35, Konrad Rzeszutek Wilk wrote:
>>>>> On Fri, Jun 23, 2017 at 02:45:22PM +0100, Andrew Cooper wrote:
>>>>>> On 23/06/17 14:43, Julien Grall wrote:
>>>>>>> Hi,
>>>>>>>
>>>>>>> On 23/06/17 14:33, Andrew Cooper wrote:
>>>>>>>> On 23/06/17 14:32, Julien Grall wrote:
>>>>>>>>> Hi Andrew,
>>>>>>>>>
>>>>>>>>> I am a bit confused, the title says "PATCH for-4.9 v3 3/3". I haven't
>>>>>>>>> been CCed on the first two patches. Does it mean you are only looking
>>>>>>>>> at this patch to be in 4.9?
>>>>>>>>
>>>>>>>> Sorry - I messed up the CC lists. The correctness of this patch does
>>>>>>>> depend on the previous two, so all 3 are looking for inclusion.
>>>>>>>
>>>>>>> Given that we don't have livepatch testing in osstest how much test
>>>>>>> have we done on those 3 patches?
>>>>>>
>>>>>> There is testing in OSSTest.
>>>>>
>>>>> Hurray hurray hurray!
>>>>>>
>>>>>> I've manually run each of the scenarios, including with my livepatch
>>>>>> which has a STN_UNDEF relocation.
>>>>>>
>>>>>> I don't know what testing Konrad has done.
>>>>>
>>>>> I run a version of the same tests that are in OSSTest (basically an earlier
>>>>> version of the Perl code) and I have done it on x86 and on ARM32.
>>>>>
>>>>> And I also run the standalone OSSTest (on x86)
>>>>>
>>>>> And then I also do a livepatch using the livepatch-build-tools on x86 to
>>>>> patch some silly function.
>>>>>
>>>>> So from a testing perspective these patches have been tested very exhaustively.
>>>>
>>>> Well it has not been tested on ARM64 :). I am about to do that.
>>>
>>> /me facepalm.
>>>
>>> I really need to get myself a working ARM64 box that is not expensive.
>>>
>>>
>>> Also attached is the poor-man livepatch_test.perl script that mirrors
>>> what OSSTest does.
>>
>> I have got an error when executing the script after applying the "nop"
>> livepatch:
>>
>> Executing: 'xen-livepatch apply xen_nop:' ..Applying xen_nop... completed
>> .. OK!
>> Executing: '[ `xl info| grep "xen_m" | grep or | sed s/.*:// | uniq | wc -l`
>> == 1 ]:' ..sh: 1: [: 1: unexpected operator
>> FAILED (got 512, expected: 0)
>
> Yeah I only get that when I execute it from the serial console.
> When I SSH it works fine.
>
>>
>> But this looks like a script error than livepatch. Although, I was not able
>> to spot the error in the script.
>
> Neither could I. I do also have an earlier variant of this testing script
> in bash (with less test-cases).
I am happy with this patch series to be backported in Xen 4.9:
Release-acked-by: Julien Grall <julien.grall@arm.com>
Can they be backported today please?
Cheers,
--
Julien Grall
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
^ permalink raw reply [flat|nested] 22+ messages in thread
end of thread, other threads:[~2017-06-26 9:34 UTC | newest]
Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-06-22 18:15 [PATCH for-4.9 v3 0/3] Fixes for livepatching Andrew Cooper
2017-06-22 18:15 ` [PATCH for-4.9 v3 1/3] xen/livepatch: Clean up arch relocation handling Andrew Cooper
2017-06-22 18:15 ` [PATCH for-4.9 v3 2/3] xen/livepatch: Use zeroed memory allocations for arrays Andrew Cooper
2017-06-23 2:55 ` Konrad Rzeszutek Wilk
2017-06-23 12:31 ` Ross Lagerwall
2017-06-22 18:15 ` [PATCH for-4.9 v3 3/3] xen/livepatch: Don't crash on encountering STN_UNDEF relocations Andrew Cooper
2017-06-22 21:10 ` Stefano Stabellini
2017-06-23 2:56 ` Konrad Rzeszutek Wilk
2017-06-23 9:50 ` Jan Beulich
2017-06-23 10:13 ` Andrew Cooper
2017-06-23 12:35 ` Ross Lagerwall
2017-06-23 13:32 ` Julien Grall
2017-06-23 13:33 ` Andrew Cooper
2017-06-23 13:43 ` Julien Grall
2017-06-23 13:45 ` Andrew Cooper
2017-06-23 13:47 ` Julien Grall
2017-06-23 14:35 ` Konrad Rzeszutek Wilk
2017-06-23 14:36 ` Julien Grall
2017-06-23 14:46 ` Konrad Rzeszutek Wilk
2017-06-24 17:28 ` Julien Grall
2017-06-26 1:02 ` Konrad Rzeszutek Wilk
2017-06-26 9:34 ` Julien Grall
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.