freebsd-skq/sys
bmilekic 04e8cef9b4 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 Add a stub audit_kevents.h, which defines exactly one audit event: 2005-02-02 14:27:36 +00:00
cam Remove a shadow declaration of 'error' that caused certain tests to be 2005-02-12 04:51:19 +00:00
coda Remove vop_destroyvobject() initialization. 2005-02-07 08:04:24 +00:00
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 Start the dreaded NOFOO -> NO_FOO conversion. 2004-12-21 08:47:35 +00:00
ddb Start each of the license/copyright comments with /*- 2005-01-06 01:34:41 +00:00
dev Initialize Netgraph type at a correct time, before device probing. 2005-02-15 18:41:21 +00:00
doc Experimental support for using doxygen to generate kernel documentation. 2004-07-11 16:13:57 +00:00
fs Make a SYSCTL_NODE static 2005-02-10 12:23:29 +00:00
gdb /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 18:27:30 +00:00
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 /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 22:18:23 +00:00
i386 Correct a few bugs in the legacy cpu attachment. Get the unit from the 2005-02-15 07:21:20 +00:00
ia64 s/descr/oid_descr/ 2005-02-09 04:48:23 +00:00
isa Use the local APIC timer to drive the various kernel clocks on SMP machines 2005-02-08 20:25:07 +00:00
isofs/cd9660 Unbreak a few filesystems for which vnode_create_vobject() wasn't being 2005-01-29 16:23:39 +00:00
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 /* -> /*- for license, minor formatting changes, insert COPYRIGHT into files 2005-01-07 02:35:34 +00:00
netatm /* -> /*- for license, minor formatting changes 2005-01-07 01:45:51 +00:00
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 Add missed merge of ripcbinfo extern. Given how widely used 2005-02-09 01:12:43 +00:00
netipsec /* -> /*- for license, minor formatting changes 2005-01-07 01:45:51 +00:00
netipx Mark the IPX netisr as MPSAFE so that inbound IPX traffic is processed 2005-01-09 07:34:55 +00:00
netkey fixed an unexpected addr/port matching failure in IPv6 SA management 2005-01-10 13:06:42 +00:00
netnatm /* -> /*- for license, minor formatting changes 2005-01-07 01:45:51 +00:00
netncp /* -> /*- for license, minor formatting changes 2005-01-07 01:45:51 +00:00
netsmb /* -> /*- for license, minor formatting changes 2005-01-07 01:45:51 +00:00
nfs /* -> /*- for license, minor formatting changes 2005-01-07 01:45:51 +00:00
nfs4client Remove unused cred arg from nfs_vinvalbuf() and many bogus arguments 2005-01-24 12:31:06 +00:00
nfsclient Drop Giant before calling kthread_exit(). 2005-02-07 18:21:50 +00:00
nfsserver Don't try to create vnode_pager objects on other filesystems vnodes, 2005-01-24 22:09:13 +00:00
opencrypto /* -> /*- for license, minor formatting changes 2005-01-07 02:29:27 +00:00
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 /* -> /*- for license, minor formatting changes 2005-01-07 02:29:27 +00:00
powerpc Finish the job of sorting all includes and fix the build by including 2005-02-06 01:55:08 +00:00
rpc /* -> /*- for license, minor formatting changes 2005-01-07 02:29:27 +00:00
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 Add VOP_FOO_APV() which takes a pointer to the vop_vector. 2005-02-08 12:54:32 +00:00
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 Add a NO_BOOT knob to prevent building the boot blocks and loader. 2004-08-19 09:54:28 +00:00