lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Thu, 18 Apr 2019 19:57:35 +0200 From: Greg Kroah-Hartman <gregkh@...uxfoundation.org> To: linux-kernel@...r.kernel.org Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>, stable@...r.kernel.org, Kangjie Lu <kjlu@....edu>, Thomas Gleixner <tglx@...utronix.de>, Mukesh Ojha <mojha@...eaurora.org>, "K. Y. Srinivasan" <kys@...rosoft.com>, pakki001@....edu, Haiyang Zhang <haiyangz@...rosoft.com>, Stephen Hemminger <sthemmin@...rosoft.com>, Sasha Levin <sashal@...nel.org>, Borislav Petkov <bp@...en8.de>, "H. Peter Anvin" <hpa@...or.com>, linux-hyperv@...r.kernel.org Subject: [PATCH 5.0 57/93] x86/hyperv: Prevent potential NULL pointer dereference [ Upstream commit 534c89c22e26b183d838294f0937ee092c82ad3a ] The page allocation in hv_cpu_init() can fail, but the code does not have a check for that. Add a check and return -ENOMEM when the allocation fails. [ tglx: Massaged changelog ] Signed-off-by: Kangjie Lu <kjlu@....edu> Signed-off-by: Thomas Gleixner <tglx@...utronix.de> Reviewed-by: Mukesh Ojha <mojha@...eaurora.org> Acked-by: "K. Y. Srinivasan" <kys@...rosoft.com> Cc: pakki001@....edu Cc: Haiyang Zhang <haiyangz@...rosoft.com> Cc: Stephen Hemminger <sthemmin@...rosoft.com> Cc: Sasha Levin <sashal@...nel.org> Cc: Borislav Petkov <bp@...en8.de> Cc: "H. Peter Anvin" <hpa@...or.com> Cc: linux-hyperv@...r.kernel.org Link: https://lkml.kernel.org/r/20190314054651.1315-1-kjlu@umn.edu Signed-off-by: Sasha Levin <sashal@...nel.org> --- arch/x86/hyperv/hv_init.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/arch/x86/hyperv/hv_init.c b/arch/x86/hyperv/hv_init.c index d3f42b6bbdac..8a9cff1f129d 100644 --- a/arch/x86/hyperv/hv_init.c +++ b/arch/x86/hyperv/hv_init.c @@ -102,9 +102,13 @@ static int hv_cpu_init(unsigned int cpu) u64 msr_vp_index; struct hv_vp_assist_page **hvp = &hv_vp_assist_page[smp_processor_id()]; void **input_arg; + struct page *pg; input_arg = (void **)this_cpu_ptr(hyperv_pcpu_input_arg); - *input_arg = page_address(alloc_page(GFP_KERNEL)); + pg = alloc_page(GFP_KERNEL); + if (unlikely(!pg)) + return -ENOMEM; + *input_arg = page_address(pg); hv_get_vp_index(msr_vp_index); -- 2.19.1
Powered by blists - more mailing lists