On Fri, Jun 21, 2024 at 09:11:56AM -0700, Dave Hansen wrote:
> It's in the "Determination of Access Rights" section.
> 
>       A linear address is a shadow-stack address if the following are
>       true of the translation of the linear address: (1) the R/W flag
>       (bit 1) is 0 and the dirty flag (bit 6) is 1 in the paging-
>       structure entry that maps the page containing the linear
>       address; and (2) the R/W flag is 1 in every other paging-
>       structure entry controlling the translation of the linear
>       address.

Thanks.  It'll be nice if this can be referenced in the pgtable definitions
too in some way.

[...]

> One big thing I did in this review was make sure that the PMD and PUD
> helpers were doing the same thing.  Would you mind circling back and
> double-checking the same before you repost this?

Sure, I'll make sure I'll at least add a comment if it doesn't match and
explain why.  I actually did it already e.g. in the _modify path for shadow
stack, but I failed this spot.

The page table check thing is really rare that I overlooked, could be
relevant to what I used to hit a bug but fixed around this area, so I
forgot to add it back, but I really can't remember. I'll keep an extra eye
on that.

Thanks,

-- 
Peter Xu

Reply via email to