> -----Original Message----- > From: Kangjie Lu <k...@umn.edu> > Sent: Wednesday, March 13, 2019 10:47 PM > To: k...@umn.edu > Cc: pakki...@umn.edu; KY Srinivasan <k...@microsoft.com>; Haiyang Zhang > <haiya...@microsoft.com>; Stephen Hemminger > <sthem...@microsoft.com>; Sasha Levin <sas...@kernel.org>; Thomas > Gleixner <t...@linutronix.de>; Ingo Molnar <mi...@redhat.com>; Borislav > Petkov <b...@alien8.de>; H. Peter Anvin <h...@zytor.com>; x...@kernel.org; > linux-hyp...@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 <k...@umn.edu> Signed-off-by: K. Y. Srinivasan <k...@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