On Wed, Mar 6, 2024 at 4:31 PM David Matlack <dmatlack@xxxxxxxxxx> wrote: > > On 2024-03-01 09:28 AM, isaku.yamahata@xxxxxxxxx wrote: > > > > + if (IS_ALIGNED(mapping->base_gfn, KVM_PAGES_PER_HPAGE(PG_LEVEL_1G)) && > > + mapping->nr_pages >= KVM_PAGES_PER_HPAGE(PG_LEVEL_1G)) > > + max_level = PG_LEVEL_1G; > > + else if (IS_ALIGNED(mapping->base_gfn, KVM_PAGES_PER_HPAGE(PG_LEVEL_2M)) && > > + mapping->nr_pages >= KVM_PAGES_PER_HPAGE(PG_LEVEL_2M)) > > + max_level = PG_LEVEL_2M; > > + else > > + max_level = PG_LEVEL_4K; > > Is there a requirement that KVM must not map memory outside of the > requested region? And if so, what if the requested region is already mapped with a larger page?