diff mbox series

powerpc/32: Select ARCH_SPLIT_ARG64

Message ID 20221101034852.2340319-1-mpe@ellerman.id.au (mailing list archive)
State Accepted
Headers show
Series powerpc/32: Select ARCH_SPLIT_ARG64 | expand

Checks

Context Check Description
snowpatch_ozlabs/github-powerpc_selftests success Successfully ran 10 jobs.
snowpatch_ozlabs/github-powerpc_ppctests success Successfully ran 10 jobs.
snowpatch_ozlabs/github-powerpc_sparse success Successfully ran 4 jobs.
snowpatch_ozlabs/github-powerpc_kernel_qemu success Successfully ran 23 jobs.
snowpatch_ozlabs/github-powerpc_clang success Successfully ran 6 jobs.

Commit Message

Michael Ellerman Nov. 1, 2022, 3:48 a.m. UTC
On 32-bit kernels, 64-bit syscall arguments are split into two
registers. For that to work with syscall wrappers, the prototype of the
syscall must have the argument split so that the wrapper macro properly
unpacks the arguments from pt_regs.

The fanotify_mark() syscall is one such syscall, which already has a
split prototype, guarded behind ARCH_SPLIT_ARG64.

So select ARCH_SPLIT_ARG64 to get that prototype and fix fanotify_mark()
on 32-bit kernels with syscall wrappers.

Note also that fanotify_mark() is the only usage of ARCH_SPLIT_ARG64.

Fixes: 7e92e01b7245 ("powerpc: Provide syscall wrapper")
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
---
 arch/powerpc/Kconfig | 1 +
 1 file changed, 1 insertion(+)

Comments

Michael Ellerman Nov. 1, 2022, 12:25 p.m. UTC | #1
On Tue, 1 Nov 2022 14:48:52 +1100, Michael Ellerman wrote:
> On 32-bit kernels, 64-bit syscall arguments are split into two
> registers. For that to work with syscall wrappers, the prototype of the
> syscall must have the argument split so that the wrapper macro properly
> unpacks the arguments from pt_regs.
> 
> The fanotify_mark() syscall is one such syscall, which already has a
> split prototype, guarded behind ARCH_SPLIT_ARG64.
> 
> [...]

Applied to powerpc/fixes.

[1/1] powerpc/32: Select ARCH_SPLIT_ARG64
      https://git.kernel.org/powerpc/c/02a771c9a68a9f08cce4ec5e324fb1bc4dce7202

cheers
diff mbox series

Patch

diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index 20fb1765238c..2ca5418457ed 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -147,6 +147,7 @@  config PPC
 	select ARCH_MIGHT_HAVE_PC_SERIO
 	select ARCH_OPTIONAL_KERNEL_RWX		if ARCH_HAS_STRICT_KERNEL_RWX
 	select ARCH_OPTIONAL_KERNEL_RWX_DEFAULT
+	select ARCH_SPLIT_ARG64			if PPC32
 	select ARCH_STACKWALK
 	select ARCH_SUPPORTS_ATOMIC_RMW
 	select ARCH_SUPPORTS_DEBUG_PAGEALLOC	if PPC_BOOK3S || PPC_8xx || 40x