Re: [PATCH v10 18/40] arm64/mm: Handle GCS data aborts

2024-08-19 Thread Mark Brown
On Mon, Aug 19, 2024 at 10:17:52AM +0100, Catalin Marinas wrote: > On Thu, Aug 01, 2024 at 01:06:45PM +0100, Mark Brown wrote: > > +static bool is_invalid_gcs_access(struct vm_area_struct *vma, u64 esr) > > +{ > > + if (unlikely(is_gcs_fault(esr))) { > > + /* GCS accesses must be perf

Re: [PATCH v10 18/40] arm64/mm: Handle GCS data aborts

2024-08-19 Thread Catalin Marinas
On Thu, Aug 01, 2024 at 01:06:45PM +0100, Mark Brown wrote: > diff --git a/arch/arm64/mm/fault.c b/arch/arm64/mm/fault.c > index 451ba7cbd5ad..0973dd09f11a 100644 > --- a/arch/arm64/mm/fault.c > +++ b/arch/arm64/mm/fault.c > @@ -486,6 +486,14 @@ static void do_bad_area(unsigned long far, unsigned l

[PATCH v10 18/40] arm64/mm: Handle GCS data aborts

2024-08-01 Thread Mark Brown
All GCS operations at EL0 must happen on a page which is marked as having UnprivGCS access, including read operations. If a GCS operation attempts to access a page without this then it will generate a data abort with the GCS bit set in ESR_EL1.ISS2. EL0 may validly generate such faults, for examp