Re: page_alloc.c comparison of arrays warning in function mem_init_print_info

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On 2021/11/19 下午7:00, Arthur Marsh wrote:
Hi, when seeing what build issues there were in building the current Linux git head kernel using gcc-12, I came across:

CC      mm/page_alloc.o
mm/page_alloc.c: In function ‘mem_init_print_info’:
mm/page_alloc.c:8173:27: error: comparison between two arrays [-Werror=array-compare]
  8173 |                 if (start <= pos && pos < end && size > adj) \
       |                           ^~

Are there any patches that address this?

Please give a try with the patch below:

From ca5ce459a256a4847fff96778e78ce1711e9e74b Mon Sep 17 00:00:00 2001
From: Xiongwei Song <sxwjean@xxxxxxxxx>
Date: Fri, 19 Nov 2021 22:19:59 +0800
Subject: [PATCH] mm: page_alloc: Fix building error on -Werror=array-compare

CC      mm/page_alloc.o
mm/page_alloc.c: In function ‘mem_init_print_info’:
mm/page_alloc.c:8173:27: error: comparison between two arrays [-Werror=array-compare]
 8173 |                 if (start <= pos && pos < end && size > adj) \
      |

Reported-by: Arthur Marsh <arthur.marsh@xxxxxxxxxxxxxxxx>
Signed-off-by: Xiongwei Song <sxwjean@xxxxxxxxx>
---
 mm/page_alloc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index c5952749ad40..8f304c3d0e19 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -8170,7 +8170,7 @@ void __init mem_init_print_info(void)
      */
 #define adj_init_size(start, end, size, pos, adj) \
     do { \
-        if (start <= pos && pos < end && size > adj) \
+        if (&start[0] <= &pos[0] && &pos[0] < &end[0] && size > adj) \
             size -= adj; \
     } while (0)

--
Regards,

Xiongwei


Regards,

Arthur.






[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux