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

From: Stephen Rothwell <[email-masked]>
Date: Mon, 18 Dec 2023 17:29:35 +1100

Hi all,

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

In file included from include/linux/uaccess.h:12,
                 from include/linux/uio.h:9,
                 from include/linux/socket.h:8,
                 from include/linux/compat.h:15,
                 from arch/powerpc/kernel/asm-offsets.c:12:
arch/powerpc/include/asm/uaccess.h: In function 'copy_mc_to_user':
arch/powerpc/include/asm/uaccess.h:374:13: error: implicit declaration of function 'check_copy_size' [-Werror=implicit-function-declaration]
  374 |         if (check_copy_size(from, n, true)) {
      |             ^~~~~~~~~~~~~~~
include/linux/uaccess.h: At top level:
include/linux/uaccess.h:66:1: error: conflicting types for 'check_copy_size'; have 'bool(const void *, size_t,  bool)' {aka '_Bool(const void *, long unsigned int,  _Bool)'}
   66 | check_copy_size(const void *addr, size_t bytes, bool is_source)
      | ^~~~~~~~~~~~~~~
arch/powerpc/include/asm/uaccess.h:374:13: note: previous implicit declaration of 'check_copy_size' with type 'int()'
  374 |         if (check_copy_size(from, n, true)) {
      |             ^~~~~~~~~~~~~~~
cc1: some warnings being treated as errors

Caused/exposed by commit

  f95cbe69154f ("thread_info, uaccess.h: Move HARDENED_USERCOPY to better location")

I have reverted that commit for today.

I then got this:

arch/powerpc/kvm/book3s_64_vio.c: In function 'kvm_spapr_tce_release_iommu_group':
arch/powerpc/kvm/book3s_64_vio.c:103:17: error: implicit declaration of function 'cond_resched_rcu'; did you mean 'cond_resched_lock'? [-Werror=implicit-function-declaration]
  103 |                 cond_resched_rcu();
      |                 ^~~~~~~~~~~~~~~~
      |                 cond_resched_lock
cc1: all warnings being treated as errors

and this:

arch/powerpc/kernel/interrupt.c: In function 'syscall_exit_prepare':
arch/powerpc/kernel/interrupt.c:275:9: error: implicit declaration of function 'rseq_syscall'; did you mean 'si_syscall'? [-Werror=implicit-function-declaration]
  275 |         rseq_syscall(regs);
      |         ^~~~~~~~~~~~ 
      |         si_syscall   
cc1: all warnings being treated as errors

For which I applied this:

From: Stephen Rothwell <[email-masked]>
Date: Mon, 18 Dec 2023 17:26:13 +1100
Subject: [PATCH] fix up for some header_claenup patches

Signed-off-by: Stephen Rothwell <[email-masked]>
---
 arch/powerpc/kernel/interrupt.c  | 1 +
 arch/powerpc/kvm/book3s_64_vio.c | 1 +
 2 files changed, 2 insertions(+)

diff --git a/arch/powerpc/kernel/interrupt.c b/arch/powerpc/kernel/interrupt.c
index c4f6d3c69ba9..94e9e2cdc557 100644
--- a/arch/powerpc/kernel/interrupt.c
+++ b/arch/powerpc/kernel/interrupt.c
@@ -4,6 +4,7 @@
 #include <linux/err.h>
 #include <linux/compat.h>
 #include <linux/sched/debug.h> /* for show_regs */
+#include <linux/rseq.h>
 
 #include <asm/kup.h>
 #include <asm/cputime.h>
diff --git a/arch/powerpc/kvm/book3s_64_vio.c b/arch/powerpc/kvm/book3s_64_vio.c
index 14c6d7e318da..b569ebaa590e 100644
--- a/arch/powerpc/kvm/book3s_64_vio.c
+++ b/arch/powerpc/kvm/book3s_64_vio.c
@@ -20,6 +20,7 @@
 #include <linux/iommu.h>
 #include <linux/file.h>
 #include <linux/mm.h>
+#include <linux/rcupdate_wait.h>
 
 #include <asm/kvm_ppc.h>
 #include <asm/kvm_book3s.h>
-- 
2.40.1

-- 
Cheers,
Stephen Rothwell