On Thu, 23 Jan 2020, Mark Johnston wrote:

Author: markj
Date: Thu Jan 23 17:18:58 2020
New Revision: 357055
URL: https://svnweb.freebsd.org/changeset/base/357055

Log:
 sparc64: Busy the TSB page before freeing it in pmap_release().

 This is now required by vm_page_free().

 PR:    243534
 Reported and tested by:        Michael Reim <krail...@elderlinux.org>

Modified:
 head/sys/sparc64/sparc64/pmap.c

Modified: head/sys/sparc64/sparc64/pmap.c
==============================================================================
--- head/sys/sparc64/sparc64/pmap.c     Thu Jan 23 17:08:33 2020        
(r357054)
+++ head/sys/sparc64/sparc64/pmap.c     Thu Jan 23 17:18:58 2020        
(r357055)
@@ -1302,6 +1302,7 @@ pmap_release(pmap_t pm)
                m = TAILQ_FIRST(&obj->memq);
                m->md.pmap = NULL;
                vm_page_unwire_noq(m);
+               vm_page_xbusy(m);

vm_page_xbusy() is unsafe long-term and I will be removing it as soon as I get patches into drm. It technically 'works' now but not for great reasons.

Thanks,
Jeff

                vm_page_free_zero(m);
        }
        VM_OBJECT_WUNLOCK(obj);

_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to