Re: [PATCH v2] tpm: use GFP kernel for tpm_buf allocations

From: Jarkko Sakkinen
Date: Mon Oct 14 2019 - 15:32:30 EST


On Fri, Oct 11, 2019 at 09:02:59AM -0700, James Bottomley wrote:
> The current code uses GFP_HIGHMEM, which is wrong because GFP_HIGHMEM
> (on 32 bit systems) is memory ordinarily inaccessible to the kernel
> and should only be used for allocations affecting userspace. In order
> to make highmem visible to the kernel on 32 bit it has to be kmapped,
> which consumes valuable entries in the kmap region. Since the tpm_buf
> is only ever used in the kernel, switch to using a GFP_KERNEL
> allocation so as not to waste kmap space on 32 bits.
>
> Fixes: a74f8b36352e (tpm: introduce tpm_buf)
> Reviewed-by: Jerry Snitselaar <jsnitsel@xxxxxxxxxx>
> Reviewed-by: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx>
> Signed-off-by: James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx>

I'll apply this without a fixes tag as there is no failing system.
Agree that it was not the best design decision to use GFP_HIGHMEM.

/Jarkko