0002-mm-page_alloc-fix-building-error-on-Werror-array-com.patch 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. From ca831f29f8f25c97182e726429b38c0802200c8f Mon Sep 17 00:00:00 2001
  2. From: Xiongwei Song <sxwjean@gmail.com>
  3. Date: Fri, 14 Jan 2022 14:07:24 -0800
  4. Subject: mm: page_alloc: fix building error on -Werror=array-compare
  5. Arthur Marsh reported we would hit the error below when building kernel
  6. with gcc-12:
  7. CC mm/page_alloc.o
  8. mm/page_alloc.c: In function `mem_init_print_info':
  9. mm/page_alloc.c:8173:27: error: comparison between two arrays [-Werror=array-compare]
  10. 8173 | if (start <= pos && pos < end && size > adj) \
  11. |
  12. In C++20, the comparision between arrays should be warned.
  13. Link: https://lkml.kernel.org/r/20211125130928.32465-1-sxwjean@me.com
  14. Signed-off-by: Xiongwei Song <sxwjean@gmail.com>
  15. Reported-by: Arthur Marsh <arthur.marsh@internode.on.net>
  16. Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
  17. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  18. Upstream: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=ca831f29f8f25c97182e726429b38c0802200c8f
  19. Signed-off-by: Kilian Zinnecker <kilian.zinnecker@mail.de>
  20. ---
  21. mm/page_alloc.c | 2 +-
  22. 1 file changed, 1 insertion(+), 1 deletion(-)
  23. diff --git a/mm/page_alloc.c b/mm/page_alloc.c
  24. index 806f317c2e7e2..c4ef450ac4428 100644
  25. --- a/mm/page_alloc.c
  26. +++ b/mm/page_alloc.c
  27. @@ -8228,7 +8228,7 @@ void __init mem_init_print_info(void)
  28. */
  29. #define adj_init_size(start, end, size, pos, adj) \
  30. do { \
  31. - if (start <= pos && pos < end && size > adj) \
  32. + if (&start[0] <= &pos[0] && &pos[0] < &end[0] && size > adj) \
  33. size -= adj; \
  34. } while (0)
  35. --
  36. cgit