Re: [PATCH v4] x86: Remove unnecessary kmap() from sgx_ioc_enclave_init()

From: Dave Hansen
Date: Fri Feb 05 2021 - 14:47:07 EST


On 2/5/21 9:00 AM, ira.weiny@xxxxxxxxx wrote:
> From: Ira Weiny <ira.weiny@xxxxxxxxx>
>
> kmap is inefficient and we are trying to reduce the usage in the kernel.
> There is no readily apparent reason why initp_page needs to be allocated
> and kmap'ed() but sigstruct needs to be page aligned and token
> 512 byte aligned.
>
> kmalloc() can give us this alignment but we need to allocate PAGE_SIZE
> bytes to do so. Rather than change this kmap() to kmap_local_page() use
> kmalloc() instead.
>
> Remove the alloc_page()/kmap() and replace with kmalloc(PAGE_SIZE, ...)
> to get a page aligned kernel address to use.
>
> In addition add a comment to document the alignment requirements so that
> others like myself don't attempt to 'fix' this again.

Looks good:

Acked-by: Dave Hansen <dave.hansen@xxxxxxxxx>