Re: [PATCH v6 04/11] swiotlb: Map the buffer if it was unmapped by XPFO

From: Christoph Hellwig
Date: Fri Sep 08 2017 - 03:13:42 EST


On Thu, Sep 07, 2017 at 12:44:14PM -0600, Tycho Andersen wrote:
> On Thu, Sep 07, 2017 at 11:10:15AM -0700, Christoph Hellwig wrote:
> > > - if (PageHighMem(pfn_to_page(pfn))) {
> > > + if (PageHighMem(page) || xpfo_page_is_unmapped(page)) {
> >
> > Please don't sprinkle xpfo details over various bits of code.
> >
> > Just add a helper with a descriptive name, e.g.
> >
> > page_is_unmapped()
> >
> > that also includes the highmem case, as that will easily document
> > what this check is doing.
>
> Will do, thanks.
>
> Patch 7 has a similar feel to this one, I can add a wrapper around
> __clean_dcache_area_pou() if that makes sense?

That one is in low-level ARM code so I'm not that worried.
But in general it seems like we should simply have one interface
to check if a page has a kernel mapping or not, nad map/unmap it
if not instead of distinguishing between highmem and xpfo.