public inbox for linuxppc-dev@ozlabs.org 
 help / color / mirror / Atom feed
From: "Nicholas Piggin" <npiggin@gmail•com>
To: "Rohan McLure" <rmclure@linux•ibm.com>, <linuxppc-dev@lists•ozlabs.org>
Subject: Re: [PATCH v4 06/20] powerpc: Remove direct call to mmap2 syscall handlers
Date: Mon, 12 Sep 2022 19:47:17 +1000	[thread overview]
Message-ID: <CMUBT12P8ZWV.VDK394MP3MSI@bobo> (raw)
In-Reply-To: <20220824020548.62625-7-rmclure@linux.ibm.com>

On Wed Aug 24, 2022 at 12:05 PM AEST, Rohan McLure wrote:
> Syscall handlers should not be invoked internally by their symbol names,
> as these symbols defined by the architecture-defined SYSCALL_DEFINE
> macro. Move the compatibility syscall definition for mmap2 to
> syscalls.c, so that all mmap implementations can share an inline helper
> function, as is done with the personality handlers.
>
> Signed-off-by: Rohan McLure <rmclure@linux•ibm.com>

Is there any point to keping sys_ppc32.c at all? Might as well move them
all to syscall.c IMO.

Reviewed-by: Nicholas Piggin <npiggin@gmail•com>

> ---
> V1 -> V2: Move mmap2 compat implementation to asm/kernel/syscalls.c.
> V3 -> V4: Move to be applied before syscall wrapper introduced.
> ---
>  arch/powerpc/kernel/sys_ppc32.c |  9 ---------
>  arch/powerpc/kernel/syscalls.c  | 11 +++++++++++
>  2 files changed, 11 insertions(+), 9 deletions(-)
>
> diff --git a/arch/powerpc/kernel/sys_ppc32.c b/arch/powerpc/kernel/sys_ppc32.c
> index f4edcc9489fb..bc6491ed6454 100644
> --- a/arch/powerpc/kernel/sys_ppc32.c
> +++ b/arch/powerpc/kernel/sys_ppc32.c
> @@ -25,7 +25,6 @@
>  #include <linux/poll.h>
>  #include <linux/personality.h>
>  #include <linux/stat.h>
> -#include <linux/mman.h>
>  #include <linux/in.h>
>  #include <linux/syscalls.h>
>  #include <linux/unistd.h>
> @@ -48,14 +47,6 @@
>  #include <asm/syscalls.h>
>  #include <asm/switch_to.h>
>  
> -unsigned long compat_sys_mmap2(unsigned long addr, size_t len,
> -			  unsigned long prot, unsigned long flags,
> -			  unsigned long fd, unsigned long pgoff)
> -{
> -	/* This should remain 12 even if PAGE_SIZE changes */
> -	return sys_mmap(addr, len, prot, flags, fd, pgoff << 12);
> -}
> -
>  /* 
>   * long long munging:
>   * The 32 bit ABI passes long longs in an odd even register pair.
> diff --git a/arch/powerpc/kernel/syscalls.c b/arch/powerpc/kernel/syscalls.c
> index b8461128c8f7..32fadf3c2cd3 100644
> --- a/arch/powerpc/kernel/syscalls.c
> +++ b/arch/powerpc/kernel/syscalls.c
> @@ -56,6 +56,17 @@ SYSCALL_DEFINE6(mmap2, unsigned long, addr, size_t, len,
>  	return do_mmap2(addr, len, prot, flags, fd, pgoff, PAGE_SHIFT-12);
>  }
>  
> +#ifdef CONFIG_COMPAT
> +COMPAT_SYSCALL_DEFINE6(mmap2,
> +		       unsigned long, addr, size_t, len,
> +		       unsigned long, prot, unsigned long, flags,
> +		       unsigned long, fd, unsigned long, pgoff)
> +{
> +	/* This should remain 12 even if PAGE_SIZE changes */
> +	return do_mmap2(addr, len, prot, flags, fd, pgoff << 12, PAGE_SHIFT-12);
> +}
> +#endif
> +
>  SYSCALL_DEFINE6(mmap, unsigned long, addr, size_t, len,
>  		unsigned long, prot, unsigned long, flags,
>  		unsigned long, fd, off_t, offset)
> -- 
> 2.34.1


  reply	other threads:[~2022-09-12  9:48 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-24  2:05 [PATCH v4 00/20] powerpc: Syscall wrapper and register clearing Rohan McLure
2022-08-24  2:05 ` [PATCH v4 01/20] powerpc: Remove asmlinkage from syscall handler definitions Rohan McLure
2022-08-25  7:04   ` Andrew Donnellan
2022-09-12  8:20   ` Nicholas Piggin
2022-08-24  2:05 ` [PATCH v4 02/20] powerpc: Use generic fallocate compatibility syscall Rohan McLure
2022-09-12  8:38   ` Nicholas Piggin
2022-09-12  9:57     ` Arnd Bergmann
2022-09-12 11:00       ` Christophe Leroy
2022-09-12 11:07         ` Arnd Bergmann
2022-08-24  2:05 ` [PATCH v4 03/20] powerpc/32: Remove powerpc select specialisation Rohan McLure
2022-09-12  9:03   ` Nicholas Piggin
2022-09-15  4:36     ` Rohan McLure
2022-08-24  2:05 ` [PATCH v4 04/20] powerpc: Provide do_ppc64_personality helper Rohan McLure
2022-09-12  9:26   ` Nicholas Piggin
2022-08-24  2:05 ` [PATCH v4 05/20] powerpc: Remove direct call to personality syscall handler Rohan McLure
2022-09-12  9:42   ` Nicholas Piggin
2022-08-24  2:05 ` [PATCH v4 06/20] powerpc: Remove direct call to mmap2 syscall handlers Rohan McLure
2022-09-12  9:47   ` Nicholas Piggin [this message]
2022-09-15  5:06     ` Rohan McLure
2022-08-24  2:05 ` [PATCH v4 07/20] powerpc: Adopt SYSCALL_DEFINE for arch-specific " Rohan McLure
2022-09-12 10:04   ` Nicholas Piggin
2022-08-24  2:05 ` [PATCH v4 08/20] powerpc: Include all arch-specific syscall prototypes Rohan McLure
2022-09-12 10:33   ` Nicholas Piggin
2022-09-13  7:09     ` Rohan McLure
2022-08-24  2:05 ` [PATCH v4 09/20] powerpc: Enable compile-time check for syscall handlers Rohan McLure
2022-09-12 10:42   ` Nicholas Piggin
2022-09-13  2:29     ` Michael Ellerman
2022-08-24  2:05 ` [PATCH v4 10/20] powerpc: Use common syscall handler type Rohan McLure
2022-09-12 10:56   ` Nicholas Piggin
2022-09-15  5:45     ` Rohan McLure
2022-09-16  1:02       ` Nicholas Piggin
2022-08-24  2:05 ` [PATCH v4 11/20] powerpc: Add ZEROIZE_GPRS macros for register clears Rohan McLure
2022-09-12 11:09   ` Nicholas Piggin
2022-09-15  5:47     ` Rohan McLure
2022-08-24  2:05 ` [PATCH v4 12/20] Revert "powerpc/syscall: Save r3 in regs->orig_r3" Rohan McLure
2022-09-12 11:14   ` Nicholas Piggin
2022-08-24  2:05 ` [PATCH v4 13/20] powerpc: Provide syscall wrapper Rohan McLure
2022-09-12 11:26   ` Nicholas Piggin
2022-08-24  2:05 ` [PATCH v4 14/20] powerpc/64s: Clear/restore caller gprs in syscall interrupt/return Rohan McLure
2022-09-12 11:47   ` Nicholas Piggin
2022-08-24  2:05 ` [PATCH v4 15/20] powerpc/64s: Use {ZEROIZE,SAVE,REST}_GPRS macros in sc, scv 0 handlers Rohan McLure
2022-09-12 11:49   ` Nicholas Piggin
2022-08-24  2:05 ` [PATCH v4 16/20] powerpc/32: Clarify interrupt restores with REST_GPR macro in entry_32.S Rohan McLure
2022-08-24  2:05 ` [PATCH v4 17/20] powerpc/64e: Clarify register saves and clears with {SAVE,ZEROIZE}_GPRS Rohan McLure
2022-09-12 12:17   ` Nicholas Piggin
2022-08-24  2:05 ` [PATCH v4 18/20] powerpc/64s: Fix comment on interrupt handler prologue Rohan McLure
2022-09-12 11:51   ` Nicholas Piggin
2022-08-24  2:05 ` [PATCH v4 19/20] powerpc/64s: Clear gprs on interrupt routine entry in Book3S Rohan McLure
2022-09-12 12:15   ` Nicholas Piggin
2022-09-15  6:55     ` Rohan McLure
2022-09-16  0:43       ` Nicholas Piggin
2022-08-24  2:05 ` [PATCH v4 20/20] powerpc/64e: Clear gprs on interrupt routine entry Rohan McLure
2022-09-12  0:55 ` [PATCH v4 00/20] powerpc: Syscall wrapper and register clearing Rohan McLure

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CMUBT12P8ZWV.VDK394MP3MSI@bobo \
    --to=npiggin@gmail$(echo .)com \
    --cc=linuxppc-dev@lists$(echo .)ozlabs.org \
    --cc=rmclure@linux$(echo .)ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox