Re: [PATCH] tpm: Detach page allocation from tpm_buf

From: Mimi Zohar
Date: Wed Oct 02 2019 - 08:41:58 EST


On Fri, 2019-09-27 at 16:06 +0300, Jarkko Sakkinen wrote:
> On Wed, Sep 25, 2019 at 10:03:46AM -0400, James Bottomley wrote:
> > On Wed, 2019-09-25 at 16:48 +0300, Jarkko Sakkinen wrote:
> > [...]
> > > + data_page = alloc_page(GFP_HIGHUSER);
> > > + if (!data_page)
> > > + return -ENOMEM;
> > > +
> > > + data_ptr = kmap(data_page);
> >
> > I don't think this is such a good idea. On 64 bit it's no different
> > from GFP_KERNEL and on 32 bit where we do have highmem, kmap space is
> > at a premium, so doing a highmem allocation + kmap is more wasteful of
> > resources than simply doing GFP_KERNEL. In general, you should only do
> > GFP_HIGHMEM if the page is going to be mostly used by userspace, which
> > really isn't the case here.
>
> Changing that in this commit would be wrong even if you are right.
> After this commit has been applied it is somewhat easier to make
> best choices for allocation in each call site (probably most will
> end up using stack).

Agreed, but it could be a separate patch, prior to this one. ÂWhy
duplicate the problem all over only to change it later?

Mimi