2022-12-13 19:41:22

by Giulio Benetti

[permalink] [raw]
Subject: [PATCH] ARM: mm: fix warning on phys_addr_t to void pointer assignment

zero_page is a void* pointer but memblock_alloc() returns phys_addr_t type
so this generates a warning while using clang and with -Wint-error enabled
that becomes and error. So let's cast the return of memblock_alloc() to
(void *).

Cc: <[email protected]> # 4.14.x +
Fixes: 340a982825f7 ("ARM: 9266/1: mm: fix no-MMU ZERO_PAGE() implementation")
Signed-off-by: Giulio Benetti <[email protected]>
---
arch/arm/mm/nommu.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/mm/nommu.c b/arch/arm/mm/nommu.c
index c1494a4dee25..53f2d8774fdb 100644
--- a/arch/arm/mm/nommu.c
+++ b/arch/arm/mm/nommu.c
@@ -161,7 +161,7 @@ void __init paging_init(const struct machine_desc *mdesc)
mpu_setup();

/* allocate the zero page. */
- zero_page = memblock_alloc(PAGE_SIZE, PAGE_SIZE);
+ zero_page = (void *)memblock_alloc(PAGE_SIZE, PAGE_SIZE);
if (!zero_page)
panic("%s: Failed to allocate %lu bytes align=0x%lx\n",
__func__, PAGE_SIZE, PAGE_SIZE);
--
2.34.1


2022-12-28 11:26:00

by Naresh Kamboju

[permalink] [raw]
Subject: Re: [PATCH] ARM: mm: fix warning on phys_addr_t to void pointer assignment

On Wed, 14 Dec 2022 at 00:48, Giulio Benetti
<[email protected]> wrote:
>
> zero_page is a void* pointer but memblock_alloc() returns phys_addr_t type
> so this generates a warning while using clang and with -Wint-error enabled
> that becomes and error. So let's cast the return of memblock_alloc() to
> (void *).
>
> Cc: <[email protected]> # 4.14.x +
> Fixes: 340a982825f7 ("ARM: 9266/1: mm: fix no-MMU ZERO_PAGE() implementation")
> Signed-off-by: Giulio Benetti <[email protected]>

Tested-by: Linux Kernel Functional Testing <[email protected]>


> ---
> arch/arm/mm/nommu.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/arm/mm/nommu.c b/arch/arm/mm/nommu.c
> index c1494a4dee25..53f2d8774fdb 100644
> --- a/arch/arm/mm/nommu.c
> +++ b/arch/arm/mm/nommu.c
> @@ -161,7 +161,7 @@ void __init paging_init(const struct machine_desc *mdesc)
> mpu_setup();
>
> /* allocate the zero page. */
> - zero_page = memblock_alloc(PAGE_SIZE, PAGE_SIZE);
> + zero_page = (void *)memblock_alloc(PAGE_SIZE, PAGE_SIZE);
> if (!zero_page)
> panic("%s: Failed to allocate %lu bytes align=0x%lx\n",
> __func__, PAGE_SIZE, PAGE_SIZE);
> --
> 2.34.1


--
Linaro LKFT
https://lkft.linaro.org