arm64: vdso: Pass (void *) to virt_to_page()
authorLinus Walleij <linus.walleij@linaro.org>
Wed, 10 May 2023 06:48:11 +0000 (08:48 +0200)
committerWill Deacon <will@kernel.org>
Tue, 16 May 2023 13:53:36 +0000 (14:53 +0100)
Like the other calls in this function virt_to_page() expects
a pointer, not an integer.

However since many architectures implement virt_to_pfn() as
a macro, this function becomes polymorphic and accepts both a
(unsigned long) and a (void *).

Fix this up with an explicit cast.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Link: http://lists.infradead.org/pipermail/linux-arm-kernel/2023-May/832583.html
Signed-off-by: Will Deacon <will@kernel.org>
arch/arm64/kernel/vdso.c

index 0119dc91abb5dbc7567344aff13760454fbb24c3..d9e1355730ef5811163d173590970d79207a8c5b 100644 (file)
@@ -288,7 +288,7 @@ static int aarch32_alloc_kuser_vdso_page(void)
 
        memcpy((void *)(vdso_page + 0x1000 - kuser_sz), __kuser_helper_start,
               kuser_sz);
-       aarch32_vectors_page = virt_to_page(vdso_page);
+       aarch32_vectors_page = virt_to_page((void *)vdso_page);
        return 0;
 }