From: Andrew Cooper Date: Thu, 22 Jun 2017 17:55:31 +0000 (+0100) Subject: xen/livepatch: Use zeroed memory allocations for arrays X-Git-Tag: archive/raspbian/4.11.1-1+rpi1~1^2~66^2~1928 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=bd53b85156aaf0330181ab9b82d9a6c52fb30f8c;p=xen.git xen/livepatch: Use zeroed memory allocations for arrays 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 Reviewed-by: Konrad Rzeszutek Wilk Tested-by: Konrad Rzeszutek Wilk [x86 and arm32] Reviewed-by: Ross Lagerwall --- diff --git a/xen/common/livepatch.c b/xen/common/livepatch.c index df67a1aa2c..66d532db14 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 c4a9633078..b69e2718dd 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",