Messages in this thread | | | Subject | Re: [patch 02/10] x86/mm/cpa: Rework static_protections() | From | Dave Hansen <> | Date | Fri, 7 Sep 2018 09:21:32 -0700 |
| |
On 09/07/2018 08:01 AM, Thomas Gleixner wrote: > +static inline pgprot_t static_protections(pgprot_t prot, unsigned long address, > + unsigned long pfn) > +{ > + pgprotval_t forbidden; > + > + /* Operate on the virtual address */ > + forbidden = protect_kernel_text(address); > + forbidden |= protect_kernel_text_ro(address); > + > + /* Check the PFN directly */ > + forbidden |= protect_pci_bios(pfn); > + forbidden |= protect_rodata(pfn); > > - return prot; > + return __pgprot(pgprot_val(prot) & ~forbidden); > }
Wow, that's quite an improvement, especially separating the vaddr vs. paddr checks.
| |