1
0
mirror of https://git.FreeBSD.org/src.git synced 2025-01-04 12:52:15 +00:00
freebsd/sys/vm
Konstantin Belousov 4c74acf76a When vm_fault_copy_entry() is called from vm_map_protect() for a wired
entry and performs the upgrade of the entry permissions from read-only
to read-write, we must allow to search for the source pages in the
backing object, like we do in the case of forking the read-only wired
entry. For the fork case, the behaviour is allowed by src_readonly
boolean, which in fact is only used to assert that read-write case
provides all source pages in the top-level object.

Eliminate the src_readonly variable.  Allow for the copy loop to look
into the backing objects, add explicit asserts to ensure that only
read-only and upgrade case actually does.

Expand comments. Change the panic call into assert.

Reported by:	markj
Tested by:	markj, pho (previous version)
Reviewed by:	alc
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
2014-04-27 05:19:01 +00:00
..
_vm_radix.h
default_pager.c
device_pager.c Initialize paddr to handle the case of zero size. 2014-03-12 16:38:55 +00:00
memguard.c Rename global cnt to vm_cnt to avoid shadowing. 2014-03-22 10:26:09 +00:00
memguard.h
phys_pager.c
pmap.h
redzone.c
redzone.h
sg_pager.c
swap_pager.c Add sysctl OIDs showing the actual size and capacity of the swap zone. 2014-04-26 12:18:17 +00:00
swap_pager.h
uma_core.c After r251709, avoid a clang 3.4 warning about an unused static const 2014-02-14 17:47:18 +00:00
uma_dbg.c
uma_dbg.h
uma_int.h
uma.h Create two public UMA_ZONE_PCPU zones: 64 bit sized and pointer sized. 2014-02-10 19:59:46 +00:00
vm_extern.h
vm_fault.c When vm_fault_copy_entry() is called from vm_map_protect() for a wired 2014-04-27 05:19:01 +00:00
vm_glue.c Rename global cnt to vm_cnt to avoid shadowing. 2014-03-22 10:26:09 +00:00
vm_init.c
vm_kern.c
vm_kern.h
vm_map.c Rename global cnt to vm_cnt to avoid shadowing. 2014-03-22 10:26:09 +00:00
vm_map.h
vm_meter.c Rename global cnt to vm_cnt to avoid shadowing. 2014-03-22 10:26:09 +00:00
vm_mmap.c Rename global cnt to vm_cnt to avoid shadowing. 2014-03-22 10:26:09 +00:00
vm_object.c Rename global cnt to vm_cnt to avoid shadowing. 2014-03-22 10:26:09 +00:00
vm_object.h
vm_page.c Rename global cnt to vm_cnt to avoid shadowing. 2014-03-22 10:26:09 +00:00
vm_page.h Since the introduction of the popmap to reservations in r259999, there is 2013-12-31 18:25:15 +00:00
vm_pageout.c Rename global cnt to vm_cnt to avoid shadowing. 2014-03-22 10:26:09 +00:00
vm_pageout.h
vm_pager.c
vm_pager.h
vm_param.h Rename global cnt to vm_cnt to avoid shadowing. 2014-03-22 10:26:09 +00:00
vm_phys.c Rename global cnt to vm_cnt to avoid shadowing. 2014-03-22 10:26:09 +00:00
vm_phys.h Rename global cnt to vm_cnt to avoid shadowing. 2014-03-22 10:26:09 +00:00
vm_radix.c Rename global cnt to vm_cnt to avoid shadowing. 2014-03-22 10:26:09 +00:00
vm_radix.h
vm_reserv.c Add "popmap" assertions: The page being freed isn't already free, and the 2013-12-29 04:54:52 +00:00
vm_reserv.h
vm_unix.c
vm_zeroidle.c Rename global cnt to vm_cnt to avoid shadowing. 2014-03-22 10:26:09 +00:00
vm.h
vnode_pager.c Rename global cnt to vm_cnt to avoid shadowing. 2014-03-22 10:26:09 +00:00
vnode_pager.h