Date: Mon, 24 Nov 2025 18:09:09 +0000 From: Konstantin Belousov <kib@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: git: 72a447d0bc76 - main - vm_object_page_remove(): clear pager even if there is no resident pages Message-ID: <69249f45.ad31.63f811db@gitrepo.freebsd.org>
index | next in thread | raw e-mail
The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=72a447d0bc768c7fe8a9c972f710c75afebd581b commit 72a447d0bc768c7fe8a9c972f710c75afebd581b Author: Konstantin Belousov <kib@FreeBSD.org> AuthorDate: 2025-11-22 20:39:27 +0000 Commit: Konstantin Belousov <kib@FreeBSD.org> CommitDate: 2025-11-24 18:08:31 +0000 vm_object_page_remove(): clear pager even if there is no resident pages Swap pager might still carry the data. Debugging help from: mmel Reviewed by: alc Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D53891 --- sys/vm/vm_object.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/vm/vm_object.c b/sys/vm/vm_object.c index 5b4517d2bf0c..413ba5459e3d 100644 --- a/sys/vm/vm_object.c +++ b/sys/vm/vm_object.c @@ -1988,7 +1988,7 @@ vm_object_page_remove(vm_object_t object, vm_pindex_t start, vm_pindex_t end, (options & (OBJPR_CLEANONLY | OBJPR_NOTMAPPED)) == OBJPR_NOTMAPPED, ("vm_object_page_remove: illegal options for object %p", object)); if (object->resident_page_count == 0) - return; + goto remove_pager; vm_object_pip_add(object, 1); vm_page_iter_limit_init(&pages, object, end); again: @@ -2061,6 +2061,7 @@ wired: } vm_object_pip_wakeup(object); +remove_pager: vm_pager_freespace(object, start, (end == 0 ? object->size : end) - start); }help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?69249f45.ad31.63f811db>
