On 2/1/21 5:37 PM, ira.weiny@xxxxxxxxx wrote: > kmap is inefficient and we are trying to reduce the usage in the kernel. > There is no readily apparent reason why the initp_page page needs to be > allocated and kmap'ed() but sigstruct needs to be page aligned and token > 512 byte aligned. Hi Ira, It's a *relatively* recent guaranteed, but: https://www.kernel.org/doc/Documentation/core-api/memory-allocation.rst says: > The address of a chunk allocated with `kmalloc` is aligned to at least > ARCH_KMALLOC_MINALIGN bytes. For sizes which are a power of two, the > alignment is also guaranteed to be at least the respective size. So, if you allocate a page with kmalloc(), you get an aligned page. Yay!