On Sat, Mar 02, 2019 at 03:09:04PM -0600, Aditya Pakki wrote: > kmalloc_node might fail to allocate memory for thp field. This fix > attempts to avoid a potential NULL pointer dereference. > > Signed-off-by: Aditya Pakki <pakki001@xxxxxxx> > --- > arch/x86/platform/uv/tlb_uv.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/arch/x86/platform/uv/tlb_uv.c b/arch/x86/platform/uv/tlb_uv.c > index a4130b84d1ff..5a6d51e30a36 100644 > --- a/arch/x86/platform/uv/tlb_uv.c > +++ b/arch/x86/platform/uv/tlb_uv.c > @@ -2011,6 +2011,9 @@ static void make_per_cpu_thp(struct bau_control *smaster) > size_t hpsz = sizeof(struct hub_and_pnode) * num_possible_cpus(); > > smaster->thp = kmalloc_node(hpsz, GFP_KERNEL, smaster->osnode); > + if (!smaster->thp) > + return; This is init code; memeory allocation is 'unlikely' to fail. If it were to fail, we'd have gotten a nice crash pinpointing the failure. Now, we boot but get weird crashes later. Note how the rest of the code assumes smaster->thp to be set. How is that any better?