HardenedBSD/sys/vm
Doug Moore 1107834090 swap_pager: swapoff detecting object death
In swap_pager_swapoff_object, the object is initially not dead, and
can only become dead while the object lock is not held. Move the test
for object-death so that it is right after the early loop-break that
happens after lock re-acquisition, and before the iterator is
re-initialized, which fails an assertion when the object is dead,
and not swap.

Addresses a problem produced in testing by @pho and diagnosed by @kib.

Reported by:	pho
Reviewed by:	alc, kib
Differential Revision:	https://reviews.freebsd.org/D47064
2024-10-11 12:45:54 -05:00
..
_vm_phys.h
_vm_radix.h
device_pager.c dev_pager: define free_page for mgt devices 2024-08-21 15:48:59 -05:00
memguard.c
memguard.h
phys_pager.c
pmap.h
redzone.c
redzone.h
sg_pager.c
swap_pager.c swap_pager: swapoff detecting object death 2024-10-11 12:45:54 -05:00
swap_pager.h
uma_align_mask.h
uma_core.c
uma_dbg.c
uma_dbg.h
uma_int.h
uma.h
vm_domainset.c
vm_domainset.h
vm_dumpset.h
vm_extern.h
vm_fault.c
vm_glue.c
vm_init.c
vm_kern.c vm_kern: Use VM_ALLOC_NOFREE when allocating 'zero_region' page 2024-10-05 17:05:40 +02:00
vm_kern.h
vm_map.c vm_map: add vm_map_find_locked(9) 2024-09-20 09:46:06 +03:00
vm_map.h vm_map: add vm_map_find_locked(9) 2024-09-20 09:46:06 +03:00
vm_meter.c vm_meter: Add counter for NOFREE pages 2024-10-07 18:46:32 +02:00
vm_mmap.c
vm_object.c sysctl vm.vm_objects: report cdev name for device-backed objects 2024-10-11 13:14:15 +03:00
vm_object.h posix shm: mark backing objects with SHM_POSIXSHM flag 2024-10-08 15:37:57 +03:00
vm_page.c vm_page: Fix a logic bug in vm_page_unwire_managed() 2024-10-07 20:52:15 +00:00
vm_page.h vm_page_free_pages_toq(): return the count of freed pages 2024-09-27 20:34:23 +03:00
vm_pageout.c
vm_pageout.h
vm_pagequeue.h
vm_pager.c
vm_pager.h dev_pager: define free_page for mgt devices 2024-08-21 15:48:59 -05:00
vm_param.h
vm_phys.c vm_phys: hide alloc_freelist_pages 2024-09-05 11:17:53 -05:00
vm_phys.h vm_phys: hide alloc_freelist_pages 2024-09-05 11:17:53 -05:00
vm_radix.c
vm_radix.h vm_radix: add iter insert and remove interfaces 2024-10-10 11:07:40 -05:00
vm_reserv.c
vm_reserv.h
vm_swapout.c
vm_unix.c
vm.h
vnode_pager.c
vnode_pager.h