On Fri, 2024-06-21 at 16:27 -0400, Peter Xu wrote: > On Fri, Jun 21, 2024 at 07:36:30PM +0000, Edgecombe, Rick P wrote: > > On Fri, 2024-06-21 at 07:51 -0700, Dave Hansen wrote: > > > > > > But, still, what if you take a Dirty=1,Write=1 pud and pud_modify() it > > > to make it Dirty=1,Write=0? What prevents that from being > > > misinterpreted by the hardware as being a valid 1G shadow stack mapping? > > > > Hmm, it looks like we could use an arch_check_zapped_pud() that does a > > warning > > like arch_check_zapped_pte/pmd() too. Not that we had no use for one before > > this. > > I can definitely look into that, but this check only happens when zapping, > and IIUC it means there can still be outliers floating around. I wonder > whether it should rely on page_table_check_pxx_set() from that regard. Yes, it's not perfect. Hmm, it looks like the page_table_check would catch a lot more cases, but it would have to be changed to plumb the vma in.