[Bug 217138] head (e.g.) -r315870 for arm64: sh vs. jemalloc asserts: include/jemalloc/internal/tsd.h:687: Failed assertion: "tsd_booted" once swapped in after being swapped out (comment 10)

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Mon Apr 10 00:12:57 UTC 2017


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=217138

--- Comment #37 from Mark Millard <markmi at dsl-only.net> ---
Konstantin Belousov provided a patch that seems to
have fixed the issue. . .

On 2017-Apr-9, at 5:27 AM, Konstantin Belousov <kostikbel at gmail.com> wrote:

Hmm, could you try the following patch, I did not even compiled it.

diff --git a/sys/arm64/arm64/pmap.c b/sys/arm64/arm64/pmap.c
index 3d5756ba891..55aa402eb1c 100644
--- a/sys/arm64/arm64/pmap.c
+++ b/sys/arm64/arm64/pmap.c
@@ -2481,6 +2481,11 @@ pmap_protect(pmap_t pmap, vm_offset_t sva, vm_offset_t
eva, vm_prot_t prot)
                    sva += L3_SIZE) {
                        l3 = pmap_load(l3p);
                        if (pmap_l3_valid(l3)) {
+                               if ((l3 & ATTR_SW_MANAGED) &&
+                                   pmap_page_dirty(l3)) {
+                                       vm_page_dirty(PHYS_TO_VM_PAGE(l3 &
+                                           ~ATTR_MASK));
+                               }
                                pmap_set(l3p, ATTR_AP(ATTR_AP_RO));
                                PTE_SYNC(l3p);
                                /* XXX: Use pmap_invalidate_range */

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-bugs mailing list