R_SPF_ALLOW(-0.20)[+ptr:yahoo.com]; MIME_GOOD(-0.10)[text/plain]; RCVD_TLS_LAST(0.00)[]; FROM_HAS_DN(0.00)[]; ARC_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; DWL_DNSWL_NONE(0.00)[yahoo.com:dkim]; TO_DN_EQ_ADDR_SOME(0.00)[]; FREEMAIL_FROM(0.00)[yahoo.com]; TO_DN_SOME(0.00)[]; DKIM_TRACE(0.00)[yahoo.com:+]; RCVD_VIA_SMTP_AUTH(0.00)[]; RWL_MAILSPIKE_POSSIBLE(0.00)[98.137.68.31:from]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; FROM_EQ_ENVFROM(0.00)[]; FREEMAIL_ENVFROM(0.00)[yahoo.com]; MLMMJ_DEST(0.00)[freebsd-arm@freebsd.org]; RCPT_COUNT_SEVEN(0.00)[7]; MID_RHS_MATCH_FROM(0.00)[]; APPLE_MAILER_COMMON(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[98.137.68.31:from] X-Rspamd-Queue-Id: 4dFZH92X7sz3Fbj Konstantin Belousov wrote on Date: Mon, 24 Nov 2025 18:09:09 UTC : > The branch main has been updated by kib: >=20 > URL: = https://cgit.FreeBSD.org/src/commit/?id=3D72a447d0bc768c7fe8a9c972f710c75a= febd581b >=20 > commit 72a447d0bc768c7fe8a9c972f710c75afebd581b > Author: Konstantin Belousov > AuthorDate: 2025-11-22 20:39:27 +0000 > Commit: Konstantin Belousov > CommitDate: 2025-11-24 18:08:31 +0000 >=20 > vm_object_page_remove(): clear pager even if there is no resident = pages > =20 > Swap pager might still carry the data. > =20 > 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(-) >=20 > 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)) =3D=3D = OBJPR_NOTMAPPED, > ("vm_object_page_remove: illegal options for object %p", = object)); > if (object->resident_page_count =3D=3D 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); > =20 > +remove_pager: > vm_pager_freespace(object, start, (end =3D=3D 0 ? object->size : = end) - > start); > } There is still some question about which way another test should be in vm_object_coalesce. But the above should be necessary, even if it is not always sufficient to prevent all potential failure types. See https://reviews.freebsd.org/D53891 for the status of what may be a pending additional change. =3D=3D=3D Mark Millard marklmi at yahoo.com