freebsd-dev/sys
Alan Cox 4c8e0452e0 Correct a long-standing error in vm_object_deallocate(). Specifically,
only anonymous default (OBJT_DEFAULT) and swap (OBJT_SWAP) objects should
ever have OBJ_ONEMAPPING set.  However, vm_object_deallocate() was
setting it on device (OBJT_DEVICE) objects.  As a result,
vm_object_page_remove() could be called on a device object and if that
occurred pmap_remove_all() would be called on the device object's pages.
However, a device object's pages are fictitious, and fictitious pages do
not have an initialized pv list (struct md_page).

To date, fictitious pages have been allocated from zeroed memory,
effectively hiding this problem.  Now, however, the conversion of rotting
diagnostics to invariants in the amd64 and i386 pmaps has revealed the
problem.  Specifically, assertion failures have occurred during the
initialization phase of the X server on some hardware.

MFC after: 1 week
Discussed with: Kostik Belousov
Reported by: Michiel Boland
2008-02-24 18:03:56 +00:00
..
amd64 Eliminate whitespace diffs to the i386 version. 2008-02-19 06:30:49 +00:00
arm ARM locore cosmetics. 2008-02-05 10:23:42 +00:00
boot o Build and install the U-Boot loader as ubldr. 2008-02-23 19:45:20 +00:00
bsm Merge OpenBSM 1.0 changes to src/sys/bsm: 2007-10-29 18:47:25 +00:00
cam Fix a couple of locking mistakes in the ses_ioctl path. 2008-02-20 19:49:46 +00:00
cddl Introduce some functions in the vnode locks namespace and in the ffs 2008-02-24 16:38:58 +00:00
compat Sanitize arguments to linux_mremap(). 2008-02-22 11:47:56 +00:00
conf Hook-up the FPU emulator. It's optional upon FPU_EMU. 2008-02-23 20:16:38 +00:00
contrib Introduce some functions in the vnode locks namespace and in the ffs 2008-02-24 16:38:58 +00:00
crypto Make test00 compilable again. 2008-01-15 18:34:47 +00:00
ddb Use dump_write() instead of direct calls to di->dumper() in textdumps. 2008-01-31 16:22:14 +00:00
dev o Add module event handler. 2008-02-24 12:16:01 +00:00
fs Introduce some functions in the vnode locks namespace and in the ffs 2008-02-24 16:38:58 +00:00
gdb Add kdb_cpu_sync_icache(), intended to synchronize instruction 2007-06-09 21:55:17 +00:00
geom geom_lvm(4) is now known as geom_linux_lvm(4). 2008-02-20 07:52:43 +00:00
gnu Introduce some functions in the vnode locks namespace and in the ffs 2008-02-24 16:38:58 +00:00
i4b Spelling fix for interupt -> interrupt 2007-10-12 06:03:46 +00:00
i386 Teach the dump and minidump code to respect the maxioszie attribute of 2008-02-15 06:26:25 +00:00
ia64 Re-sort options. While here: 2008-02-16 18:30:58 +00:00
isa Use cpu_spinwait() (i.e., "pause") when spinning on rdtsc during DELAY(). 2008-01-17 18:59:38 +00:00
kern Introduce some functions in the vnode locks namespace and in the ffs 2008-02-24 16:38:58 +00:00
libkern Add prototype for __cmpd2(). 2008-02-23 22:40:05 +00:00
modules - update firmware to 5.0 2008-02-23 01:06:17 +00:00
net Use RTFREE_LOCKED() instead of rtfree() when releasing a reference on the 2008-02-13 16:57:58 +00:00
net80211 - Correctly handle ALTQ in ieee80211_deliver_data() 2008-02-03 12:00:03 +00:00
netatalk Annotate two possible bugs in a comment: (1) we allocate and explicitly 2007-11-20 18:50:54 +00:00
netatm Disconnect netatm from the build as it is not MPSAFE and relies on 2007-07-14 21:49:24 +00:00
netgraph Fix shutdown bug made by previous commit. 2008-02-24 10:13:32 +00:00
netinet Add table/tablearg support to ipfw's nat. 2008-02-24 15:37:45 +00:00
netinet6 Rather than passing around a cached 'priv', pass in an ucred to 2008-02-02 14:11:31 +00:00
netipsec Rather than passing around a cached 'priv', pass in an ucred to 2008-02-02 14:11:31 +00:00
netipx Make tcpstates[] static, and make sure TCPSTATES is defined before 2007-07-30 11:06:42 +00:00
netnatm
netncp Introduce some functions in the vnode locks namespace and in the ffs 2008-02-24 16:38:58 +00:00
netsmb Currently, smb_co_init() uses the same lock name for the mutex interlock 2008-02-24 16:26:52 +00:00
nfs
nfs4client - Add real assertions to lockmgr locking primitives. 2008-02-13 20:44:19 +00:00
nfsclient Introduce some functions in the vnode locks namespace and in the ffs 2008-02-24 16:38:58 +00:00
nfsserver Use nfsrv_destroycache() only once, else it crashes the server. 2008-01-18 17:03:36 +00:00
opencrypto Make ftruncate a 'struct file' operation rather than a vnode operation. 2008-01-07 20:05:19 +00:00
pc98 Add COMPAT_FREEBSD7 and enable it in configs that have COMPAT_FREEBSD6. 2008-01-07 21:40:11 +00:00
pccard
pci Give MEXTADD() another argument to make both void pointers to the 2008-02-01 19:36:27 +00:00
powerpc Don't define DEBUG. No debugging required. 2008-02-24 17:10:30 +00:00
rpc Remove the now-unused NET_{LOCK,UNLOCK,ASSERT}_GIANT() macros, which 2007-08-06 14:26:03 +00:00
security Make sure that the termid type is initialized to AU_IPv4 by default. 2008-01-28 17:33:46 +00:00
sparc64 The Sun disk label only uses 16-bit fields for cylinders, heads and 2008-02-11 21:40:22 +00:00
sun4v Add a wrapper function that bound checks writes to the dump device. 2008-01-28 19:04:07 +00:00
sys Introduce some functions in the vnode locks namespace and in the ffs 2008-02-24 16:38:58 +00:00
tools Introduce a standalone shell script for embedding MFS image. 2008-02-05 10:46:30 +00:00
ufs Introduce some functions in the vnode locks namespace and in the ffs 2008-02-24 16:38:58 +00:00
vm Correct a long-standing error in vm_object_deallocate(). Specifically, 2008-02-24 18:03:56 +00:00
Makefile o Add boot, gdb, nfsserver and opencrypto dirs to CSCOPEDIRS; sort. 2008-01-23 08:50:34 +00:00