+3
−3
Loading
arm64 uses apply_to_page_range to change permissions for kernel vmalloc mappings, which does not support changing permissions for block mappings. This function will change permissions until it encounters a block mapping, and will bail out with a warning. Since there are no reports of this triggering, it implies that there are currently no cases of code doing a vmalloc_huge() followed by partial permission change. But this is a footgun waiting to go off, so let's detect it early and avoid the possibility of permissions in an intermediate state. So, explicitly disallow changing permissions for VM_ALLOW_HUGE_VMAP mappings. Reviewed-by:Ryan Roberts <ryan.roberts@arm.com> Reviewed-by:
Mike Rapoport (Microsoft) <rppt@kernel.org> Signed-off-by:
Dev Jain <dev.jain@arm.com> Acked-by:
David Hildenbrand <david@redhat.com> Reviewed-by:
Gavin Shan <gshan@redhat.com> Reviewed-by:
Anshuman Khandual <anshuman.khandual@arm.com> Link: https://lore.kernel.org/r/20250403052844.61818-1-dev.jain@arm.com Signed-off-by:
Will Deacon <will@kernel.org>