linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Amit Daniel Kachhap <amitdaniel.kachhap@arm.com>
To: Joey Gouly <joey.gouly@arm.com>, linux-arm-kernel@lists.infradead.org
Cc: akpm@linux-foundation.org, aneesh.kumar@kernel.org,
	aneesh.kumar@linux.ibm.com, bp@alien8.de, broonie@kernel.org,
	catalin.marinas@arm.com, christophe.leroy@csgroup.eu,
	dave.hansen@linux.intel.com, hpa@zytor.com,
	linux-fsdevel@vger.kernel.org, linux-mm@kvack.org,
	linuxppc-dev@lists.ozlabs.org, maz@kernel.org, mingo@redhat.com,
	mpe@ellerman.id.au, naveen.n.rao@linux.ibm.com,
	npiggin@gmail.com, oliver.upton@linux.dev, shuah@kernel.org,
	szabolcs.nagy@arm.com, tglx@linutronix.de, will@kernel.org,
	x86@kernel.org, kvmarm@lists.linux.dev
Subject: Re: [PATCH v4 18/29] arm64: add POE signal support
Date: Tue, 28 May 2024 12:26:54 +0530	[thread overview]
Message-ID: <229bd367-466e-4bf9-9627-24d2d0821ff4@arm.com> (raw)
In-Reply-To: <20240503130147.1154804-19-joey.gouly@arm.com>



On 5/3/24 18:31, Joey Gouly wrote:
> Add PKEY support to signals, by saving and restoring POR_EL0 from the stackframe.
> 
> Signed-off-by: Joey Gouly <joey.gouly@arm.com>
> Cc: Catalin Marinas <catalin.marinas@arm.com>
> Cc: Will Deacon <will@kernel.org>
> Reviewed-by: Mark Brown <broonie@kernel.org>
> Acked-by: Szabolcs Nagy <szabolcs.nagy@arm.com>
> ---
>   arch/arm64/include/uapi/asm/sigcontext.h |  7 ++++
>   arch/arm64/kernel/signal.c               | 52 ++++++++++++++++++++++++
>   2 files changed, 59 insertions(+)
> 
> diff --git a/arch/arm64/include/uapi/asm/sigcontext.h b/arch/arm64/include/uapi/asm/sigcontext.h
> index 8a45b7a411e0..e4cba8a6c9a2 100644
> --- a/arch/arm64/include/uapi/asm/sigcontext.h
> +++ b/arch/arm64/include/uapi/asm/sigcontext.h
> @@ -98,6 +98,13 @@ struct esr_context {
>   	__u64 esr;
>   };
>   
> +#define POE_MAGIC	0x504f4530
> +
> +struct poe_context {
> +	struct _aarch64_ctx head;
> +	__u64 por_el0;
> +};

There is a comment section in the beginning which mentions the size
of the context frame structure and subsequent reduction in the
reserved range. So this new context description can be added there.
Although looks like it is broken for za, zt and fpmr context.

> +
>   /*
>    * extra_context: describes extra space in the signal frame for
>    * additional structures that don't fit in sigcontext.__reserved[].
> diff --git a/arch/arm64/kernel/signal.c b/arch/arm64/kernel/signal.c
> index 4a77f4976e11..077436a8bc10 100644
> --- a/arch/arm64/kernel/signal.c
> +++ b/arch/arm64/kernel/signal.c
> @@ -63,6 +63,7 @@ struct rt_sigframe_user_layout {
>   	unsigned long fpmr_offset;
>   	unsigned long extra_offset;
>   	unsigned long end_offset;
> +	unsigned long poe_offset;

For consistency this can be added after fpmr_offset.

Thanks,
Amit

>   };
>   
>   #define BASE_SIGFRAME_SIZE round_up(sizeof(struct rt_sigframe), 16)
> @@ -185,6 +186,8 @@ struct user_ctxs {
>   	u32 zt_size;
>   	struct fpmr_context __user *fpmr;
>   	u32 fpmr_size;
> +	struct poe_context __user *poe;


  reply	other threads:[~2024-05-28  6:57 UTC|newest]

Thread overview: 146+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-05-03 13:01 [PATCH v4 00/29] arm64: Permission Overlay Extension Joey Gouly
2024-05-03 13:01 ` [PATCH v4 01/29] powerpc/mm: add ARCH_PKEY_BITS to Kconfig Joey Gouly
2024-05-06  8:57   ` Michael Ellerman
2024-05-03 13:01 ` [PATCH v4 02/29] x86/mm: " Joey Gouly
2024-05-03 16:40   ` Dave Hansen
2024-05-03 13:01 ` [PATCH v4 03/29] mm: use ARCH_PKEY_BITS to define VM_PKEY_BITN Joey Gouly
2024-05-03 16:41   ` Dave Hansen
2024-07-15  7:53   ` Anshuman Khandual
2024-05-03 13:01 ` [PATCH v4 04/29] arm64: disable trapping of POR_EL0 to EL2 Joey Gouly
2024-07-15  7:47   ` Anshuman Khandual
2024-07-25 15:44   ` Dave Martin
2024-08-06 10:04     ` Joey Gouly
2024-05-03 13:01 ` [PATCH v4 05/29] arm64: cpufeature: add Permission Overlay Extension cpucap Joey Gouly
2024-06-21 16:58   ` Catalin Marinas
2024-06-21 17:01   ` Catalin Marinas
2024-06-21 17:02     ` Catalin Marinas
2024-07-15  7:47   ` Anshuman Khandual
2024-05-03 13:01 ` [PATCH v4 06/29] arm64: context switch POR_EL0 register Joey Gouly
2024-06-21 17:03   ` Catalin Marinas
2024-06-21 17:07   ` Catalin Marinas
2024-07-15  8:27   ` Anshuman Khandual
2024-07-16 13:21     ` Mark Brown
2024-07-18 14:16     ` Joey Gouly
2024-07-22 13:40   ` Kevin Brodsky
2024-07-25 15:46   ` Dave Martin
2024-05-03 13:01 ` [PATCH v4 07/29] KVM: arm64: Save/restore POE registers Joey Gouly
2024-05-29 15:43   ` Marc Zyngier
2024-08-16 14:55   ` Marc Zyngier
2024-08-16 15:13     ` Joey Gouly
2024-08-16 15:32       ` Marc Zyngier
2024-05-03 13:01 ` [PATCH v4 08/29] KVM: arm64: make kvm_at() take an OP_AT_* Joey Gouly
2024-05-29 15:46   ` Marc Zyngier
2024-07-15  8:36   ` Anshuman Khandual
2024-05-03 13:01 ` [PATCH v4 09/29] KVM: arm64: use `at s1e1a` for POE Joey Gouly
2024-05-29 15:50   ` Marc Zyngier
2024-07-15  8:45   ` Anshuman Khandual
2024-05-03 13:01 ` [PATCH v4 10/29] arm64: enable the Permission Overlay Extension for EL0 Joey Gouly
2024-06-21 17:04   ` Catalin Marinas
2024-07-15  9:13   ` Anshuman Khandual
2024-07-15 20:16   ` Mark Brown
2024-07-25 15:49   ` Dave Martin
2024-08-01 16:04     ` Joey Gouly
2024-08-01 16:31       ` Dave Martin
2024-05-03 13:01 ` [PATCH v4 11/29] arm64: re-order MTE VM_ flags Joey Gouly
2024-06-21 17:04   ` Catalin Marinas
2024-07-15  9:21   ` Anshuman Khandual
2024-05-03 13:01 ` [PATCH v4 12/29] arm64: add POIndex defines Joey Gouly
2024-06-21 17:05   ` Catalin Marinas
2024-07-15  9:26   ` Anshuman Khandual
2024-05-03 13:01 ` [PATCH v4 13/29] arm64: convert protection key into vm_flags and pgprot values Joey Gouly
2024-05-28  6:54   ` Amit Daniel Kachhap
2024-06-19 16:45     ` Catalin Marinas
2024-07-04 12:47       ` Joey Gouly
2024-07-08 17:22         ` Catalin Marinas
2024-07-16  9:05   ` Anshuman Khandual
2024-07-16  9:34     ` Joey Gouly
2024-07-25 15:49   ` Dave Martin
2024-08-01 10:55     ` Joey Gouly
2024-08-01 11:01       ` Dave Martin
2024-05-03 13:01 ` [PATCH v4 14/29] arm64: mask out POIndex when modifying a PTE Joey Gouly
2024-07-16  9:10   ` Anshuman Khandual
2024-05-03 13:01 ` [PATCH v4 15/29] arm64: handle PKEY/POE faults Joey Gouly
2024-06-21 16:57   ` Catalin Marinas
2024-07-09 13:03   ` Kevin Brodsky
2024-07-16 10:13   ` Anshuman Khandual
2024-07-25 15:57   ` Dave Martin
2024-08-01 16:01     ` Joey Gouly
2024-08-06 13:33       ` Dave Martin
2024-08-06 13:43         ` Joey Gouly
2024-08-06 14:38           ` Dave Martin
2024-05-03 13:01 ` [PATCH v4 16/29] arm64: add pte_access_permitted_no_overlay() Joey Gouly
2024-06-21 17:15   ` Catalin Marinas
2024-07-16 10:21   ` Anshuman Khandual
2024-05-03 13:01 ` [PATCH v4 17/29] arm64: implement PKEYS support Joey Gouly
2024-05-28  6:55   ` Amit Daniel Kachhap
2024-05-28 11:26     ` Joey Gouly
2024-05-31 14:57   ` Szabolcs Nagy
2024-05-31 15:21     ` Joey Gouly
2024-05-31 16:27       ` Szabolcs Nagy
2024-06-17 13:40         ` Florian Weimer
2024-06-17 14:51           ` Szabolcs Nagy
2024-07-08 17:53             ` Catalin Marinas
2024-07-09  8:32               ` Szabolcs Nagy
2024-07-09  8:52                 ` Florian Weimer
2024-07-11  9:50               ` Joey Gouly
2024-07-18 14:45                 ` Szabolcs Nagy
2024-07-05 16:59   ` Catalin Marinas
2024-07-22 13:39     ` Kevin Brodsky
2024-07-09 13:07   ` Kevin Brodsky
2024-07-16 11:40     ` Anshuman Khandual
2024-07-23  4:22   ` Anshuman Khandual
2024-07-25 16:12   ` Dave Martin
2024-05-03 13:01 ` [PATCH v4 18/29] arm64: add POE signal support Joey Gouly
2024-05-28  6:56   ` Amit Daniel Kachhap [this message]
2024-05-31 16:39     ` Mark Brown
2024-06-03  9:21       ` Amit Daniel Kachhap
2024-07-25 15:58         ` Dave Martin
2024-07-25 18:11           ` Mark Brown
2024-07-26 16:14             ` Dave Martin
2024-07-26 17:39               ` Mark Brown
2024-07-29 14:27                 ` Dave Martin
2024-07-29 14:41                   ` Mark Brown
2024-07-05 17:04   ` Catalin Marinas
2024-07-09 13:08   ` Kevin Brodsky
2024-07-22  9:16   ` Anshuman Khandual
2024-07-25 16:00   ` Dave Martin
2024-08-01 15:54     ` Joey Gouly
2024-08-01 16:22       ` Dave Martin
2024-08-06 10:35         ` Joey Gouly
2024-08-06 14:31           ` Joey Gouly
2024-08-06 15:00             ` Dave Martin
2024-08-14 15:03             ` Catalin Marinas
2024-08-15 13:18               ` Joey Gouly
2024-08-15 15:09                 ` Dave Martin
2024-08-15 15:24                   ` Mark Brown
2024-08-19 17:09                   ` Catalin Marinas
2024-08-20  9:54                     ` Joey Gouly
2024-08-20 13:54                       ` Dave Martin
2024-08-20 14:06                         ` Joey Gouly
2024-08-20 14:45                           ` Dave Martin
2024-05-03 13:01 ` [PATCH v4 19/29] arm64: enable PKEY support for CPUs with S1POE Joey Gouly
2024-07-16 10:47   ` Anshuman Khandual
2024-07-25 15:48     ` Dave Martin
2024-07-25 16:00   ` Dave Martin
2024-05-03 13:01 ` [PATCH v4 20/29] arm64: enable POE and PIE to coexist Joey Gouly
2024-06-21 17:16   ` Catalin Marinas
2024-07-16 10:41   ` Anshuman Khandual
2024-07-16 13:46     ` Joey Gouly
2024-05-03 13:01 ` [PATCH v4 21/29] arm64/ptrace: add support for FEAT_POE Joey Gouly
2024-07-16 10:35   ` Anshuman Khandual
2024-05-03 13:01 ` [PATCH v4 22/29] arm64: add Permission Overlay Extension Kconfig Joey Gouly
2024-07-05 17:05   ` Catalin Marinas
2024-07-09 13:08   ` Kevin Brodsky
2024-07-16 11:02   ` Anshuman Khandual
2024-05-03 13:01 ` [PATCH v4 23/29] kselftest/arm64: move get_header() Joey Gouly
2024-05-03 13:01 ` [PATCH v4 24/29] selftests: mm: move fpregs printing Joey Gouly
2024-05-03 13:01 ` [PATCH v4 25/29] selftests: mm: make protection_keys test work on arm64 Joey Gouly
2024-05-03 13:01 ` [PATCH v4 26/29] kselftest/arm64: add HWCAP test for FEAT_S1POE Joey Gouly
2024-05-03 13:01 ` [PATCH v4 27/29] kselftest/arm64: parse POE_MAGIC in a signal frame Joey Gouly
2024-05-03 13:01 ` [PATCH v4 28/29] kselftest/arm64: Add test case for POR_EL0 signal frame records Joey Gouly
2024-05-29 15:51   ` Mark Brown
2024-07-05 19:34     ` Shuah Khan
2024-07-09 13:10   ` Kevin Brodsky
2024-05-03 13:01 ` [PATCH v4 29/29] KVM: selftests: get-reg-list: add Permission Overlay registers Joey Gouly
2024-05-05 14:41 ` [PATCH v4 00/29] arm64: Permission Overlay Extension Mark Brown
2024-05-28 11:30 ` Joey Gouly

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=229bd367-466e-4bf9-9627-24d2d0821ff4@arm.com \
    --to=amitdaniel.kachhap@arm.com \
    --cc=akpm@linux-foundation.org \
    --cc=aneesh.kumar@kernel.org \
    --cc=aneesh.kumar@linux.ibm.com \
    --cc=bp@alien8.de \
    --cc=broonie@kernel.org \
    --cc=catalin.marinas@arm.com \
    --cc=christophe.leroy@csgroup.eu \
    --cc=dave.hansen@linux.intel.com \
    --cc=hpa@zytor.com \
    --cc=joey.gouly@arm.com \
    --cc=kvmarm@lists.linux.dev \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=maz@kernel.org \
    --cc=mingo@redhat.com \
    --cc=mpe@ellerman.id.au \
    --cc=naveen.n.rao@linux.ibm.com \
    --cc=npiggin@gmail.com \
    --cc=oliver.upton@linux.dev \
    --cc=shuah@kernel.org \
    --cc=szabolcs.nagy@arm.com \
    --cc=tglx@linutronix.de \
    --cc=will@kernel.org \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
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