freebsd-nq/sys
Bosko Milekic 7fae6a1116 Rather than overloading the page->object field like UMA does, use instead
an unused pageq queue reference in the page structure to stash a pointer
to the MemGuard FIFO.  Using the page->object field caused problems
because when vm_map_protect() was called the second time to set
VM_PROT_DEFAULT back onto a set of pages in memguard_map, the protection
in the VM would be changed but the PMAP code would lazily not restore
the PG_RW bit on the underlying pages right away (see pmap_protect()).
So when a page fault finally occured and the VM noticed the faulting
address corresponds to a page that _does_ have write access now, it
would then call into PMAP to set back PG_RW (i386 case being discussed
here).  However, before it got to do that, an assertion on the object
lock not being owned would get triggered, as the object of the faulting
page would need to be locked but was overloaded by MemGuard.  This is
precisely why MemGuard cannot overload page->object.

Submitted by: Alan Cox (alc@)
2005-02-15 22:17:07 +00:00
..
alpha Backout previous change (disabling of security checks for signals delivered 2005-02-13 17:37:20 +00:00
amd64 MFi386 rev 1.61: Fix a few bugs in the legacy cpu attachment ivars. 2005-02-15 07:26:28 +00:00
arm Define NIRQ to 64 for CPU_ARM9, because Cirrus Logic EP93XX cores provides 2005-02-13 18:26:31 +00:00
boot Expand *n't contractions. 2005-02-13 22:25:33 +00:00
bsm
cam Remove a shadow declaration of 'error' that caused certain tests to be 2005-02-12 04:51:19 +00:00
coda
compat Unbreak the kernel build. Pointy hat to: sobomax. 2005-02-13 19:50:57 +00:00
conf Add sys/dev/ieee488/ibfoo.c for hte pcii driver. Fixes the broken tinderbox 2005-02-14 06:00:34 +00:00
contrib Access softc embedded struct ifnet via function macro to make it easier to 2005-02-09 19:29:13 +00:00
crypto
ddb
dev Initialize Netgraph type at a correct time, before device probing. 2005-02-15 18:41:21 +00:00
doc
fs Make a SYSCTL_NODE static 2005-02-10 12:23:29 +00:00
gdb
geom Fix typo. We want to unlock mutex here. 2005-02-12 16:19:03 +00:00
gnu Make a SYSCTL_NODE static 2005-02-10 12:23:29 +00:00
i4b
i386 Correct a few bugs in the legacy cpu attachment. Get the unit from the 2005-02-15 07:21:20 +00:00
ia64
isa
isofs/cd9660
kern When dealing with systems with no absolute drivers attached, only calibrate 2005-02-15 07:43:48 +00:00
libkern Add strspn() to libkern. 2005-02-10 20:39:39 +00:00
modules Connect ng_source(4) to the build. 2005-02-12 17:04:21 +00:00
net Check for non-NULL ac_netgraph field in interface arpcom, instead of 2005-02-14 11:58:54 +00:00
net80211 rev 1.19 fixed wpa supplicant but broke wpa authenticator; when operating 2005-02-10 17:00:48 +00:00
netatalk
netatm
netgraph Make WITNESS happier: 2005-02-14 13:47:06 +00:00
netinet - Retransmit just one segment on initiation of SACK recovery. 2005-02-14 21:01:08 +00:00
netinet6
netipsec
netipx
netkey
netnatm
netncp
netsmb
nfs
nfs4client
nfsclient
nfsserver
opencrypto
pc98 Merged from sys/dev/sio/sio.c revision 1.458. 2005-02-11 03:41:34 +00:00
pccard Remove more deadwood that never got implemented in NEWCARD, since NEWCARD 2005-02-15 02:54:53 +00:00
pci Correct the SiS 755 PCI ID. Confirmed against Linux code. 2005-02-14 07:30:04 +00:00
posix4
powerpc
rpc
security Synchronize HEAD copyright/license with RELENG_5 copyright/license: 2005-02-13 13:59:34 +00:00
sparc64 - Re-write OF_decode_addr() with a bus-neutral approach, adding support 2005-02-12 19:13:51 +00:00
sys Bump __FreeBSD_version for increased size for default thread stacks. 2005-02-15 06:33:28 +00:00
tools
ufs - Remove the unused and unsafe ufs_ihashlookup. This function returned a 2005-02-14 20:51:39 +00:00
vm Rather than overloading the page->object field like UMA does, use instead 2005-02-15 22:17:07 +00:00
Makefile