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

--- Comment #37 from Mark Millard <mar...@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 <kostik...@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.
_______________________________________________
freebsd-bugs@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "freebsd-bugs-unsubscr...@freebsd.org"

Reply via email to