Page MenuHomeFreeBSD

D27528.id80492.diff
No OneTemporary

D27528.id80492.diff

Index: sys/arm64/arm64/pmap.c
===================================================================
--- sys/arm64/arm64/pmap.c
+++ sys/arm64/arm64/pmap.c
@@ -6832,8 +6832,12 @@
* The translation fault may have occurred within a
* critical section. Therefore, we must check the
* address without acquiring the kernel pmap's lock.
+ *
+ * If the address is in DMAP and fault occured, it
+ * means it's not part of a valid region and therefore
+ * there is no valid translation to phys address.
*/
- if (pmap_kextract(far) != 0)
+ if (!VIRT_IN_DMAP(far) && pmap_kextract(far) != 0)
rv = KERN_SUCCESS;
} else {
PMAP_LOCK(pmap);

File Metadata

Mime Type
text/plain
Expires
Tue, Apr 21, 10:48 AM (15 h, 10 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
31786274
Default Alt Text
D27528.id80492.diff (671 B)

Event Timeline