Author: markj Date: Tue Oct 27 13:27:47 2020 New Revision: 367081 URL: https://svnweb.freebsd.org/changeset/base/367081
Log: arm64: Remove a racy KASSERT from pmap_remove_pages() PCPU_GET(curpmap) expands to multiple instructions on arm64, and if the current thread is migrated in between execution of those instructions, a stale value may be used in the assertion condition. Diagnosed by: mmel Reported by: mmel, Bob Prohaska <f...@www.zefox.net> Submitted by: alc MFC after: 1 week Modified: head/sys/arm64/arm64/pmap.c Modified: head/sys/arm64/arm64/pmap.c ============================================================================== --- head/sys/arm64/arm64/pmap.c Tue Oct 27 13:13:04 2020 (r367080) +++ head/sys/arm64/arm64/pmap.c Tue Oct 27 13:27:47 2020 (r367081) @@ -4838,8 +4838,6 @@ pmap_remove_pages(pmap_t pmap) int allfree, field, freed, idx, lvl; vm_paddr_t pa; - KASSERT(pmap == PCPU_GET(curpmap), ("non-current pmap %p", pmap)); - lock = NULL; SLIST_INIT(&free); _______________________________________________ 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"