[Bug 242961] Crashes (elf64_coredump … vm_object_set_writeable_dirty) after the recent vm patch series

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Sun Dec 29 18:57:58 UTC 2019


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

--- Comment #8 from Mark Johnston <markj at FreeBSD.org> ---
I found a bug by causing some of my desktop applications to dump core.  I
suspect this is what you are hitting.  TTM uses the plinks.q fields for its own
purpose, but we were inadvertently putting TTM-managed pages on the global page
queues.

diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c
index e99732028af5..971d8a0ed236 100644
--- a/sys/vm/vm_page.c
+++ b/sys/vm/vm_page.c
@@ -4013,7 +4013,7 @@ vm_page_mvqueue(vm_page_t m, const uint8_t nqueue, const
uint16_t nflag)
        KASSERT(nflag == PGA_REQUEUE || nflag == PGA_REQUEUE_HEAD,
            ("%s: invalid flags %x", __func__, nflag));

-       if ((m->oflags & VPO_UNMANAGED) != 0)
+       if ((m->oflags & VPO_UNMANAGED) != 0 || (m->flags & PG_FICTITIOUS) !=
0)
                return;

        old = vm_page_astate_load(m);

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


More information about the freebsd-bugs mailing list