Author: markj
Date: Mon Oct  7 23:31:17 2019
New Revision: 353294
URL: https://svnweb.freebsd.org/changeset/base/353294

Log:
  Assert that the PGA_{WRITEABLE,EXECUTABLE} flags do not leak.
  
  Reviewed by:  alc, kib
  MFC after:    1 week
  Differential Revision:        https://reviews.freebsd.org/D21783

Modified:
  head/sys/vm/vm_page.c

Modified: head/sys/vm/vm_page.c
==============================================================================
--- head/sys/vm/vm_page.c       Mon Oct  7 23:19:09 2019        (r353293)
+++ head/sys/vm/vm_page.c       Mon Oct  7 23:31:17 2019        (r353294)
@@ -3546,12 +3546,15 @@ vm_page_free_prep(vm_page_t m)
                            m, i, (uintmax_t)*p));
        }
 #endif
-       if ((m->oflags & VPO_UNMANAGED) == 0)
+       if ((m->oflags & VPO_UNMANAGED) == 0) {
                KASSERT(!pmap_page_is_mapped(m),
                    ("vm_page_free_prep: freeing mapped page %p", m));
-       else
+               KASSERT((m->aflags & (PGA_EXECUTABLE | PGA_WRITEABLE)) == 0,
+                   ("vm_page_free_prep: mapping flags set in page %p", m));
+       } else {
                KASSERT(m->queue == PQ_NONE,
                    ("vm_page_free_prep: unmanaged page %p is queued", m));
+       }
        VM_CNT_INC(v_tfree);
 
        if (vm_page_sbusied(m))
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to