On Wed, Feb 17, 2021 at 02:27:14PM -0800, Yu-cheng Yu wrote:
> @@ -787,16 +802,34 @@ static inline pte_t pte_modify(pte_t pte, pgprot_t 
> newprot)
>        */
>       val &= _PAGE_CHG_MASK;
>       val |= check_pgprot(newprot) & ~_PAGE_CHG_MASK;
> +     val = fixup_dirty_pte(val);

Do I see it correctly that you can do here and below:

        /*
         * Fix up potential shadow stack page flags because the RO, Dirty PTE is
         * special.
         */
        if (pte_dirty()) {
                pte_mkclean();
                pte_mkdirty();
        }

?

That fixup thing looks grafted and not like a normal flow to me.

-- 
Regards/Gruss,
    Boris.

https://people.kernel.org/tglx/notes-about-netiquette

Reply via email to