RE: [PATCH] platform/x86: wmi: Do not mix pages and kmalloc

From: Mario.Limonciello
Date: Wed Jun 20 2018 - 21:24:54 EST


> -----Original Message-----
> From: Darren Hart [mailto:dvhart@xxxxxxxxxxxxx]
> Sent: Wednesday, June 20, 2018 7:17 PM
> To: Kees Cook
> Cc: LKML; Andy Shevchenko; Platform Driver; Mihai DonÈu; Limonciello, Mario
> Subject: Re: [PATCH] platform/x86: wmi: Do not mix pages and kmalloc
>
> On Wed, Jun 20, 2018 at 04:43:14PM -0700, Kees Cook wrote:
> > On Wed, Jun 20, 2018 at 4:37 PM, Darren Hart <dvhart@xxxxxxxxxxxxx> wrote:
> > > On Wed, Jun 20, 2018 at 02:31:41PM -0700, Kees Cook wrote:
> > >> The probe handler_data was being allocated with __get_free_pages()
> > >> for no reason I could find. The error path was using kfree(). Since
> > >
> > > v4 of Mario's series used kmalloc:
> > > https://patchwork.kernel.org/patch/9985827/
> > >
> > > This was changed in v10 to use __get_free_pages:
> > > https://patchwork.kernel.org/patch/10018023/
> > >
> > > But... I'm not finding the discussion that led to this change.... Mario,
> > > do you recall? Something about contiguous memory? We had a similar
> > > discussion on an earlier series:
> > >
> > > https://patchwork.kernel.org/patch/9975277/
> >
> > FWIW, kmalloc gets you contiguous memory...
>
> Yeah, I'm not finding a valid reason to use __get_free_pages over kmalloc in
> this case. I'll give Mario a chance to respond in case I'm just missing
> something, but otherwise will plan to apply this patch.

I think it was for contiguous memory, so if kmalloc is giving that I agree
no need to keep __get_free_pages instead.

Acked-by: Mario Limonciello <Mario.limonciello@xxxxxxxx>

Thanks,

>
> >
> > But if the reason is found and needs to stay, the probe error path's
> > kfree() needs to be fixed, and __GFP_COMP needs to be added to the
> > free page flags.
>
> Got it, thanks Kees.
>
> --
> Darren Hart
> VMware Open Source Technology Center