[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20191018133739.GD27757@arm.com>
Date: Fri, 18 Oct 2019 14:37:40 +0100
From: Dave Martin <Dave.Martin@....com>
To: Mark Rutland <mark.rutland@....com>
Cc: Paul Elliott <paul.elliott@....com>,
Peter Zijlstra <peterz@...radead.org>,
Catalin Marinas <catalin.marinas@....com>,
Will Deacon <will.deacon@....com>,
Andrew Jones <drjones@...hat.com>,
Amit Kachhap <amit.kachhap@....com>,
Vincenzo Frascino <vincenzo.frascino@....com>,
linux-arch@...r.kernel.org, Eugene Syromiatnikov <esyr@...hat.com>,
Szabolcs Nagy <szabolcs.nagy@....com>,
"H.J. Lu" <hjl.tools@...il.com>,
Yu-cheng Yu <yu-cheng.yu@...el.com>,
Kees Cook <keescook@...omium.org>,
Arnd Bergmann <arnd@...db.de>, Jann Horn <jannh@...gle.com>,
Richard Henderson <richard.henderson@...aro.org>,
Kristina Martšenko <kristina.martsenko@....com>,
Mark Brown <broonie@...nel.org>,
Thomas Gleixner <tglx@...utronix.de>,
linux-arm-kernel@...ts.infradead.org,
Florian Weimer <fweimer@...hat.com>,
linux-kernel@...r.kernel.org, Sudakshina Das <sudi.das@....com>
Subject: Re: [PATCH v2 05/12] arm64: Basic Branch Target Identification
support
On Fri, Oct 18, 2019 at 12:10:03PM +0100, Mark Rutland wrote:
> On Fri, Oct 11, 2019 at 06:20:15PM +0100, Dave Martin wrote:
> > On Fri, Oct 11, 2019 at 04:10:29PM +0100, Mark Rutland wrote:
> > > On Thu, Oct 10, 2019 at 07:44:33PM +0100, Dave Martin wrote:
> > > > +#define arch_calc_vm_prot_bits(prot, pkey) arm64_calc_vm_prot_bits(prot)
> > > > +static inline unsigned long arm64_calc_vm_prot_bits(unsigned long prot)
> > > > +{
> > > > + if (system_supports_bti() && (prot & PROT_BTI))
> > > > + return VM_ARM64_BTI;
> > > > +
> > > > + return 0;
> > > > +}
> > >
> > > Can we call this arch_calc_vm_prot_bits() directly, with all the
> > > arguments:
> > >
> > > static inline unsigned long arch_calc_vm_prot_bits(unsigned long prot,
> > > unsigned long pkey)
> > > {
> > > ...
> > > }
> > > #define arch_calc_vm_prot_bits arch_calc_vm_prot_bits
> > >
> > > ... as that makes it a bit easier to match definition with use, and just
> > > definign the name makes it a bit clearer that that's probably for the
> > > benefit of some ifdeffery.
> > >
> > > Likewise for the other functions here.
> > >
> > > > +#define arch_vm_get_page_prot(vm_flags) arm64_vm_get_page_prot(vm_flags)
> > > > +static inline pgprot_t arm64_vm_get_page_prot(unsigned long vm_flags)
> > > > +{
> > > > + return (vm_flags & VM_ARM64_BTI) ? __pgprot(PTE_GP) : __pgprot(0);
> > > > +}
> > > > +
> > > > +#define arch_validate_prot(prot, addr) arm64_validate_prot(prot, addr)
> > > > +static inline int arm64_validate_prot(unsigned long prot, unsigned long addr)
> >
> > Can do, though it looks like a used sparc as a template, and that has a
> > sparc_ prefix.
> >
> > powerpc uses the generic name, as does x86 ... in its UAPI headers.
> > Odd.
> >
> > I can change the names here, though I'm not sure it adds a lot of value.
> >
> > If you feel strongly I can do it.
>
> I'd really prefer it because it minimizes surprises, and makes it much
> easier to hop around the codebase and find the thing you're looking for.
OK, I've no objection in that case. I'll make the change.
[...]
Cheers
---Dave
Powered by blists - more mailing lists