Re: [PATCH v29 09/32] x86/mm: Introduce _PAGE_COW

From
Edgecombe, Rick P <rick.p.edgecombe@intel.com>
Date
2021-08-22 03:00:19
Also in
kvm, linux-arch, linux-doc, linux-mm, lkml
Reply to
Edgecombe, Rick P, 2021-08-21
On Sat, 2021-08-21 at 19:20 +0000, Edgecombe, Rick P wrote:
+KVM list.

On Fri, 2021-08-20 at 11:11 -0700, Yu-cheng Yu wrote:
quoted
 
 static inline int pte_write(pte_t pte)
 {
-       return pte_flags(pte) & _PAGE_RW;
+       /*
+        * Shadow stack pages are always writable - but not by
normal
+        * instructions, and only by shadow stack operations. 
Therefore,
+        * the W=0,D=1 test with pte_shstk().
+        */
+       return (pte_flags(pte) & _PAGE_RW) || pte_shstk(pte);
 }
 
KVM uses this in a couple places when checking EPT ptes. But bit 6
(dirty) is a totally different meaning in EPT. I think it's just used
to trigger an optimization, but wondering if KVM should have its own
TDP specific function instead of using pte_write().
Argh, never mind. I misread the new KVM mmu notifier refactor.
Thread (51 messages) 51 messages, 5 authors, last reply 2021-09-01
Keyboard shortcuts
hback out one level
jnext message in thread / next series-diff position
kprevious message in thread / previous series-diff position
ldrill in
Escclose help / fold thread tree
?toggle this help