Re: [kernel-hardening] [PATCH v5 04/10] arm64: Add __flush_tlb_one()

From: Tycho Andersen
Date: Mon Aug 14 2017 - 13:01:32 EST


On Mon, Aug 14, 2017 at 05:50:47PM +0100, Mark Rutland wrote:
> On Mon, Aug 14, 2017 at 10:35:36AM -0600, Tycho Andersen wrote:
> > Hi Mark,
> >
> > On Sat, Aug 12, 2017 at 12:26:03PM +0100, Mark Rutland wrote:
> > > On Wed, Aug 09, 2017 at 02:07:49PM -0600, Tycho Andersen wrote:
> > > > +static inline void __flush_tlb_one(unsigned long addr)
> > > > +{
> > > > + dsb(ishst);
> > > > + __tlbi(vaae1is, addr >> 12);
> > > > + dsb(ish);
> > > > + isb();
> > > > +}
> > >
> > > Is this going to be called by generic code?
> >
> > Yes, it's called in mm/xpfo.c:xpfo_kunmap.
> >
> > > It would be nice if we could drop 'kernel' into the name, to make it clear this
> > > is intended to affect the kernel mappings, which have different maintenance
> > > requirements to user mappings.
>
> > It's named __flush_tlb_one after the x86 (and a few other arches)
> > function of the same name. I can change it to flush_tlb_kernel_page,
> > but then we'll need some x86-specific code to map the name as well.
> >
> > Maybe since it's called from generic code that's warranted though?
> > I'll change the implementation for now, let me know what you want to
> > do about the name.
>
> I think it would be preferable to do so, to align with
> flush_tlb_kernel_range(), which is an existing generic interface.
>
> That said, is there any reason not to use flush_tlb_kernel_range()
> directly?

I don't think so, I'll change the generic code to that and drop this
patch.

Thanks!

Tycho