On Tue, Apr 14, 2020 at 11:42:48AM +0100, Mark Rutland wrote:
The aarch32_vdso_pages[] array never has entries allocated in the C_VVAR or C_VDSO slots, and as the array is zero initialized these contain NULL.
However in __aarch32_alloc_vdso_pages() when aarch32_alloc_kuser_vdso_page() fails we attempt to free the page whose struct page is at NULL, which is obviously nonsensical.
This patch removes the erroneous page freeing.
Signed-off-by: Mark Rutland mark.rutland@arm.com Cc: Catalin Marinas catalin.marinas@arm.com Cc: Vincenzo Frascino vincenzo.frascino@arm.com Cc: Will Deacon will@kernel.org Cc: stable@vger.kernel.org
I presume the cc stable should be limited to:
Fixes: 7c1deeeb0130 ("arm64: compat: VDSO setup for compat layer") Cc: stable@vger.kernel.org # 5.3.x-
I'll fix it up locally.