On Fri, Jul 17, 2020 at 10:06:50PM -0700, Ira Weiny wrote: > On Fri, Jul 17, 2020 at 11:10:53AM +0200, Peter Zijlstra wrote: > > On Fri, Jul 17, 2020 at 12:20:51AM -0700, ira.weiny@xxxxxxxxx wrote: > > > +static pgprot_t dev_protection_enable_get(struct dev_pagemap *pgmap, pgprot_t prot) > > > +{ > > > + if (pgmap->flags & PGMAP_PROT_ENABLED && dev_page_pkey != PKEY_INVALID) { > > > + pgprotval_t val = pgprot_val(prot); > > > + > > > + static_branch_inc(&dev_protection_static_key); > > > + prot = __pgprot(val | _PAGE_PKEY(dev_page_pkey)); > > > + } > > > + return prot; > > > +} > > > > Every other pgprot modifying function is called pgprot_*(), although I > > suppose we have the exceptions phys_mem_access_prot() and dma_pgprot(). > > Yea... this function kind of morphed. The issue is that this is also a 'get' > with a corresponding 'put'. So I'm at a loss for what makes sense between the > 2 functions. > > > > > How about we call this one devm_pgprot() ? > > Dan Williams mentioned to me that the devm is not an appropriate prefix. Thus > the 'dev' prefix instead. > > How about dev_pgprot_{get,put}()? works for me, thanks!