Re: [PATCHv2 06/14] mm/page_alloc: Propagate encryption KeyID through page allocator

From: Dave Hansen
Date: Wed Mar 28 2018 - 13:15:09 EST


On 03/28/2018 09:55 AM, Kirill A. Shutemov wrote:
> @@ -51,7 +51,7 @@ static inline struct page *new_page_nodemask(struct page *page,
> if (PageHighMem(page) || (zone_idx(page_zone(page)) == ZONE_MOVABLE))
> gfp_mask |= __GFP_HIGHMEM;
>
> - new_page = __alloc_pages_nodemask(gfp_mask, order,
> + new_page = __alloc_pages_nodemask(gfp_mask, order, page_keyid(page),
> preferred_nid, nodemask);

You're not going to like this suggestion.

Am I looking at this too superficially, or does every single site into
which you pass keyid also take a node and gfpmask and often an order? I
think you need to run this by the keepers of page_alloc.c and see if
they'd rather do something more drastic.