Messages in this thread | | | From | KY Srinivasan <> | Subject | RE: [PATCH] hyperv: a potential NULL pointer dereference | Date | Thu, 14 Mar 2019 14:56:59 +0000 |
| |
> -----Original Message----- > From: Kangjie Lu <kjlu@umn.edu> > Sent: Wednesday, March 13, 2019 10:47 PM > To: kjlu@umn.edu > Cc: pakki001@umn.edu; KY Srinivasan <kys@microsoft.com>; Haiyang Zhang > <haiyangz@microsoft.com>; Stephen Hemminger > <sthemmin@microsoft.com>; Sasha Levin <sashal@kernel.org>; Thomas > Gleixner <tglx@linutronix.de>; Ingo Molnar <mingo@redhat.com>; Borislav > Petkov <bp@alien8.de>; H. Peter Anvin <hpa@zytor.com>; x86@kernel.org; > linux-hyperv@vger.kernel.org; linux-kernel@vger.kernel.org > Subject: [PATCH] hyperv: a potential NULL pointer dereference > > In case alloc_page, the fix returns -ENOMEM to avoid the potential > NULL pointer dereference. > Thanks.
> Signed-off-by: Kangjie Lu <kjlu@umn.edu> Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
> --- > 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 7abb09e2eeb8..dfdb4ce1ae9c 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.17.1
| |