diff --git a/kernel-src/mm/vmmcache.c b/kernel-src/mm/vmmcache.c index 7d6359fa..4aff7b66 100644 --- a/kernel-src/mm/vmmcache.c +++ b/kernel-src/mm/vmmcache.c @@ -345,15 +345,14 @@ int vmmcache_syncvnode(vnode_t *vnode, uintmax_t offset, size_t size) { // in a singly linked list way if (page->writenext) page->writenext->writeprev = page->writeprev; + else + dirtylistend = page->writeprev; if (page->writeprev) page->writeprev->writenext = page->writenext; else dirtylist = page->writenext; - if (dirtylist == NULL) - dirtylistend = NULL; - page->writenext = vnodedirtylist; page->writeprev = NULL; vnodedirtylist = page;