aboutsummaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorMark Johnston <markj@FreeBSD.org>2020-10-27 13:27:47 +0000
committerMark Johnston <markj@FreeBSD.org>2020-10-27 13:27:47 +0000
commit49721798e30ed481a7b3aa5bc3034e2bbde7843f (patch)
tree434b7f951d00db4f98f31e88909f25aa1e62953a /sys
parent866b1f5147341a0311904bff6fa1391adef67c2b (diff)
downloadsrc-49721798e30ed481a7b3aa5bc3034e2bbde7843f.tar.gz
src-49721798e30ed481a7b3aa5bc3034e2bbde7843f.zip
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 <fbsd@www.zefox.net> Submitted by: alc MFC after: 1 week
Notes
Notes: svn path=/head/; revision=367081
Diffstat (limited to 'sys')
-rw-r--r--sys/arm64/arm64/pmap.c2
1 files changed, 0 insertions, 2 deletions
diff --git a/sys/arm64/arm64/pmap.c b/sys/arm64/arm64/pmap.c
index 284f00b3cc0d..6c3a7ffa15ef 100644
--- a/sys/arm64/arm64/pmap.c
+++ b/sys/arm64/arm64/pmap.c
@@ -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);