Re: [PATCH v28 16/32] x86/mm: Update maybe_mkwrite() for shadow stack
From: Yu, Yu-cheng <hidden>
Date: 2021-08-17 18:36:38
Also in:
linux-arch, linux-doc, linux-mm, lkml
From: Yu, Yu-cheng <hidden>
Date: 2021-08-17 18:36:38
Also in:
linux-arch, linux-doc, linux-mm, lkml
On 8/16/2021 10:03 AM, Borislav Petkov wrote:
On Thu, Jul 22, 2021 at 01:52:03PM -0700, Yu-cheng Yu wrote:quoted
diff --git a/arch/x86/mm/pgtable.c b/arch/x86/mm/pgtable.c index 3364fe62b903..ba449d12ec32 100644 --- a/arch/x86/mm/pgtable.c +++ b/arch/x86/mm/pgtable.c@@ -610,6 +610,26 @@ int pmdp_clear_flush_young(struct vm_area_struct *vma, } #endif +pte_t maybe_mkwrite(pte_t pte, struct vm_area_struct *vma) +{ + if (likely(vma->vm_flags & VM_WRITE)) + pte = pte_mkwrite(pte); + else if (likely(vma->vm_flags & VM_SHADOW_STACK)) + pte = pte_mkwrite_shstk(pte); + return pte; +} + +#ifdef CONFIG_TRANSPARENT_HUGEPAGE +pmd_t maybe_pmd_mkwrite(pmd_t pmd, struct vm_area_struct *vma) +{ + if (likely(vma->vm_flags & VM_WRITE)) + pmd = pmd_mkwrite(pmd); + else if (likely(vma->vm_flags & VM_SHADOW_STACK)) + pmd = pmd_mkwrite_shstk(pmd);What are all those likely()ies here for?
I will remove those. Thanks, Yu-cheng