Re: [PATCH v2 22/39] mm: Don't allow write GUPs to shadow stack memory

Edgecombe, Rick P
2022-09-30T20:31:25Z

On Fri, 2022-09-30 at 12:16 -0700, Dave Hansen wrote:
> On 9/29/22 15:29, Rick Edgecombe wrote:
> > @@ -1633,6 +1633,9 @@ static inline bool
> > __pte_access_permitted(unsigned long pteval, bool write)
> > {
> > unsigned long need_pte_bits = _PAGE_PRESENT|_PAGE_USER;
> >
> > + if (write && (pteval & (_PAGE_RW | _PAGE_DIRTY)) ==
> > _PAGE_DIRTY)
> > + return 0;
>
> Do we not have a helper for this? Seems a bit messy to open-code
> these
> shadow-stack permissions. Definitely at least needs a comment.

It's because pteval is an unsigned long. We could create a pte_t, and
use the helpers, but then we would be using pte_foo() on pmd's, etc. So
probably comment is the better option?