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

From: James Bottomley
Date: Wed Sep 25 2019 - 10:03:52 EST


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.

James