Subject: linux-next: build failure after merge of the execve tree

From: Stephen Rothwell <[email-masked]>
Date: Mon, 24 Feb 2025 17:40:47 +1100

Hi all,

After merging the execve tree, today's linux-next build (powerpc
ppc64_defconfig) failed like this:

fs/coredump.c: In function 'dump_vma_snapshot':
fs/coredump.c:1301:45: error: too few arguments to function 'get_dump_page'
 1301 |                         struct page *page = get_dump_page(addr);
      |                                             ^~~~~~~~~~~~~
In file included from fs/coredump.c:6:
include/linux/mm.h:2620:14: note: declared here
 2620 | struct page *get_dump_page(unsigned long addr, int *locked);
      |              ^~~~~~~~~~~~~

Caused by commit

  ff41385709f0 ("coredump: Only sort VMAs when truncating or core_sort_vma sysctl is set")

interacting with commit

  d6ff4c8f6522 ("fs: avoid mmap sem relocks when coredumping with many missing pages")

from the vfs-brauner tree.

I did the obvious (but probably wrong fix up below).

From: Stephen Rothwell <[email-masked]>
Date: Mon, 24 Feb 2025 17:27:25 +1100
Subject: [PATCH] fix up for "coredump: Only sort VMAs when truncating or
 core_sort_vma sysctl is set"

interacting with commit

  d6ff4c8f6522 ("fs: avoid mmap sem relocks when coredumping with many missing pages")

from the vfs-brauner tree.

Signed-off-by: Stephen Rothwell <[email-masked]>
---
 fs/coredump.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/fs/coredump.c b/fs/coredump.c
index 723c1ae9d2f4..eb75cd30862d 100644
--- a/fs/coredump.c
+++ b/fs/coredump.c
@@ -1243,6 +1243,7 @@ static bool dump_vma_snapshot(struct coredump_params *cprm)
 	VMA_ITERATOR(vmi, mm, 0);
 	int i = 0;
 	size_t sparse_vma_dump_size = 0;
+	int locked = 0;
 
 	/*
 	 * Once the stack expansion code is fixed to not change VMA bounds
@@ -1298,7 +1299,7 @@ static bool dump_vma_snapshot(struct coredump_params *cprm)
 
 		/* Subtract zero pages from the sparse_vma_dump_size. */
 		for (addr = m->start; addr < m->start + m->dump_size; addr += PAGE_SIZE) {
-			struct page *page = get_dump_page(addr);
+			struct page *page = get_dump_page(addr, &locked);
 
 			if (!page)
 				sparse_vma_dump_size -= PAGE_SIZE;
-- 
2.45.2

-- 
Cheers,
Stephen Rothwell