linux-next: build failure after merge of the s390 tree

Stephen Rothwell
2024-08-08T03:58:39Z

[-- Attachment #1: Type: text/plain, Size: 4068 bytes --]

Hi all,

After merging the s390 tree, today's linux-next build (s390 defconfig)
failed like this:

In file included from include/linux/percpu.h:5,
from include/linux/percpu_counter.h:14,
from include/linux/mm_types.h:21,
from include/linux/ptdump.h:6,
from arch/s390/mm/dump_pagetables.c:3:
arch/s390/mm/dump_pagetables.c: In function 'add_marker':
include/linux/slab.h:848:61: error: too many arguments to function 'kvrealloc_noprof'
848 | #define kvrealloc(...) alloc_hooks(kvrealloc_noprof(__VA_ARGS__))
| ^~~~~~~~~~~~~~~~
include/linux/alloc_tag.h:206:16: note: in definition of macro 'alloc_hooks_tag'
206 | typeof(_do_alloc) _res = _do_alloc; \
| ^~~~~~~~~
include/linux/slab.h:848:49: note: in expansion of macro 'alloc_hooks'
848 | #define kvrealloc(...) alloc_hooks(kvrealloc_noprof(__VA_ARGS__))
| ^~~~~~~~~~~
arch/s390/mm/dump_pagetables.c:259:27: note: in expansion of macro 'kvrealloc'
259 | markers = kvrealloc(markers, oldsize, newsize, GFP_KERNEL);
| ^~~~~~~~~
In file included from include/linux/fs.h:45,
from include/linux/seq_file.h:11,
from arch/s390/mm/dump_pagetables.c:4:
include/linux/slab.h:846:7: note: declared here
846 | void *kvrealloc_noprof(const void *p, size_t size, gfp_t flags)
| ^~~~~~~~~~~~~~~~
include/linux/slab.h:848:61: error: too many arguments to function 'kvrealloc_noprof'
848 | #define kvrealloc(...) alloc_hooks(kvrealloc_noprof(__VA_ARGS__))
| ^~~~~~~~~~~~~~~~
include/linux/alloc_tag.h:206:34: note: in definition of macro 'alloc_hooks_tag'
206 | typeof(_do_alloc) _res = _do_alloc; \
| ^~~~~~~~~
include/linux/slab.h:848:49: note: in expansion of macro 'alloc_hooks'
848 | #define kvrealloc(...) alloc_hooks(kvrealloc_noprof(__VA_ARGS__))
| ^~~~~~~~~~~
arch/s390/mm/dump_pagetables.c:259:27: note: in expansion of macro 'kvrealloc'
259 | markers = kvrealloc(markers, oldsize, newsize, GFP_KERNEL);
| ^~~~~~~~~
include/linux/slab.h:846:7: note: declared here
846 | void *kvrealloc_noprof(const void *p, size_t size, gfp_t flags)
| ^~~~~~~~~~~~~~~~

Caused by commit

d0e7915d2ad3 ("s390/mm/ptdump: Generate address marker array dynamically")

interacting with commit

d4a913add37d ("mm: kvmalloc: align kvrealloc() with krealloc()")

from the mm-unstable branch of the mm tree.

I have applied the following merge fix patch.

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Thu, 8 Aug 2024 13:50:39 +1000
Subject: [PATCH] fixup for "s390/mm/ptdump: Generate address marker array dynamically"

interacting with "mm: kvmalloc: align kvrealloc() with krealloc()"
from the mm tree.

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
arch/s390/mm/dump_pagetables.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/s390/mm/dump_pagetables.c b/arch/s390/mm/dump_pagetables.c
index 9e2dc42143b3..fa54f3bc0c8d 100644
--- a/arch/s390/mm/dump_pagetables.c
+++ b/arch/s390/mm/dump_pagetables.c
@@ -256,7 +256,7 @@ static int add_marker(unsigned long start, unsigned long end, const char *name)
if (!oldsize)
markers = kvmalloc(newsize, GFP_KERNEL);
else
- markers = kvrealloc(markers, oldsize, newsize, GFP_KERNEL);
+ markers = kvrealloc(markers, newsize, GFP_KERNEL);
if (!markers)
goto error;
markers[markers_cnt].is_start = 1;
--
2.43.0