alc [Sat, 14 Oct 2006 23:21:48 +0000 (23:21 +0000)]
Long ago, revision 1.22 of vm/vm_pager.h introduced a bug. Specifically,
it introduced a check after the call to file system's get pages method
that assumes that the get pages method does not change the array of pages
that is passed to it. In the case of vnode_pager_generic_getpages(),
this assumption has been incorrect. The contents of the array of pages
may be shifted by vnode_pager_generic_getpages(). Likely, the problem
has been hidden by vnode_pager_haspage() limiting the set of pages that
are passed to vnode_pager_generic_getpages() such that a shift never
occurs.
The fix implemented herein is to adjust the pointer to the array of pages
rather than shifting the pages within the array.
ru [Sat, 14 Oct 2006 19:01:55 +0000 (19:01 +0000)]
Prevent IOC_IN with zero size argument (this is only supported
if backward copatibility options are present) from attempting
to free memory that wasn't allocated. This is an old bug, and
previously it would attempt to free a null pointer. I noticed
this bug when working on the previous revision, but forgot to
fix it.
Security: local DoS
Reported by: Peter Holm
MFC after: 3 days
ru [Sat, 14 Oct 2006 16:37:53 +0000 (16:37 +0000)]
Reflect the following changes to lib/libc/gen/disklabel.c in a manpage:
: revision 1.13
: date: 2002/04/03 15:44:53; author: phk; state: Exp; lines: +0 -5
: Initial deorbit burn for the undocumented and unused d_boot[01]
: fields of struct disklabel.
:
: Sponsored by: DARPA and NAI Labs.
: ----------------------------
: revision 1.15
: date: 2002/05/12 20:49:33; author: phk; state: Exp; lines: +1 -3
: Retire the bogus uses of the disklabel field d_sbsize and begin to
: initialize it to zero so we don't have to have everbody and their
: aunt including FFS specific header files.
:
: Sponsored by: DARPA & NAI Labs.
davidxu [Sat, 14 Oct 2006 13:40:08 +0000 (13:40 +0000)]
Don't inherit THR_FLAGS_NEED_SUSPEND for child process, child process
only has one thread, setting the flag can cause the thread to be
suspended and no another thread will resume it.
bde [Sat, 14 Oct 2006 07:25:11 +0000 (07:25 +0000)]
Don't do null Setattr RPCs for VA_MARK_ATIME. When we added the
VA_MARK_ATIME feature to fix POSIX conformance fore execve() and mmap(),
we thought that it was optimized well enough for the one file system
that supports it (ffs) and harmless for other file systems (except
layered ones which already get the layering for VOP_SETATTR() wrong).
However, nfs_setattr() doesn't do much parameter checking, so when
it gets a combination of parameters that it doesn't understand, it
always does a Setattr RPC. This RPC can't do anything good, and for
VA_MARK_ATIME it is null except for wasting a lot of time.
This is the smallest and easiest to fix of several bugs that have
increased the number of RPCs for kernel builds on nfs by more than
100% since 2004-11-05. The real-time increase depends on network
latency and parallelization and can also be very large (approaching
the same percentage for unparallelized operations like "make depend"
on systems with fast CPUs and high-latency networks).
tegge [Sat, 14 Oct 2006 01:11:44 +0000 (01:11 +0000)]
Backout unblocking of signal if no threads can currently handle it.
The check for pending signal after direct invocation of signal handler
is sufficient.
davidxu [Fri, 13 Oct 2006 22:31:00 +0000 (22:31 +0000)]
o Make _thr_umutex_init a function.
o Eliminate unused parameter for some functions.
o Convert type of first parameter to void * for _thr_umtx_wait
and _thr_umtx_wake.
ume [Fri, 13 Oct 2006 12:41:36 +0000 (12:41 +0000)]
Revert the default value of net.inet6.ip6.auto_linklocal to 1.
If ipv6_enable is not set to "YES", net.inet6.ip6.auto_linklocal
is turned to 0 at boot.
glebius [Fri, 13 Oct 2006 12:38:43 +0000 (12:38 +0000)]
- Before doing ioctl(SIOCGIFNETMASK) put the proper IP address into the ifreq,
to obtain correct netmask in case of interface with multiple aliases.
- While here, remove a comment with a bad idea.
cognet [Thu, 12 Oct 2006 16:43:15 +0000 (16:43 +0000)]
Don't build the libgcc with functions already included in the libc to
unbreak the build.
We'll switch back to the libgcc functions and get rid of the libsoftfloat
later.
ariff [Thu, 12 Oct 2006 15:37:43 +0000 (15:37 +0000)]
- Fix support for ASUS U5F laptop. This laptop (and possibly others)
need a special inverted EAPD quirk.
- Add "eapdinv" config for future testing purposes.
ru [Thu, 12 Oct 2006 10:08:52 +0000 (10:08 +0000)]
- Improve description of the -A option.
- Document how whiteouts look in the long output. [1]
- Sort entry types.
- Fix description of the socket type.
kmacy [Thu, 12 Oct 2006 04:44:01 +0000 (04:44 +0000)]
The T2000 has multiple PCI domains requiring bus allocation to be done differently.
This pulls in changes by jmg from perforce and makes them sun4v only for now.
Approved by: scottl (acting as backup for mentor rwatson)
glebius [Wed, 11 Oct 2006 14:57:03 +0000 (14:57 +0000)]
Improve ktr(4) logging for callout(9) subsystem. Log all inserts and
removals, including failures, into the callwheel.
XXX: Most of the CTR() macros are called with callout_lock spin mutex
held, thus won't be logged into file, if KTR_ALQ is used. Moving the
CTR() macros out from the spinlocked code would require copying of all
arguments. I'm too lazy to do this.