Don Lewis [Sun, 11 Jan 2004 23:44:32 +0000 (23:44 +0000)]
Don't try to unlock the directory vnode in null_lookup() if the lock is
shared with the underlying file system and the lookup in the underlying
file system did the unlock for us.
Søren Schmidt [Sun, 11 Jan 2004 22:08:34 +0000 (22:08 +0000)]
Overhaul of the timeout/reinit framework. This should clear up most
of the leftovers from the old version that really doesn't work anymore.
Add a reset function for host-end of the ATA channel. This is needed
for the SiI3112 in order to whack it back to reality if a device
locks up the SATA interface (thereby preventing that we can reset the
device). The result is that ATA now recovers from the timeouts that
happens with the SiI3112A and more or less all disks based on old
PATA electronics with a Marvell PATA->SATA converter. This includes
lots of the popular SATA dongles and the WDC Raptor disks..
Ruslan Ermilov [Sun, 11 Jan 2004 20:45:46 +0000 (20:45 +0000)]
Ensure that generated headers are here before we build .depend
and object files in a less hackish way compatible with further
planned changes to bsd.dep.mk.
Ruslan Ermilov [Sun, 11 Jan 2004 19:26:33 +0000 (19:26 +0000)]
Use my newly acquired magic stick and put aslcompiler.y.h into
SRCS to teach make(1) that many .c sources are dependent on it.
This fixes parallel (-j) builds and makes it possible to build
individual .o files separately.
While here, removed PROG from CLEANFILES -- it's taken care of
already by bsd.prog.mk.
Ruslan Ermilov [Sun, 11 Jan 2004 10:42:47 +0000 (10:42 +0000)]
Replaced an ugly hack to selectively disable warnings
in contributed sources with just a hack made possible
by bsd.sys.mk,v 1.33. This is better because it just
nulls out the warning flags rather than adding gcc(1)
specific -w option to CFLAGS.
David E. O'Brien [Sun, 11 Jan 2004 10:30:56 +0000 (10:30 +0000)]
Add Audigy support.
I started with a year-old patch by Orlando Bassotto
<orlando.bassotto@ieo-research.it>, and ported it to 5.2-CURRENT along with
fixing the problems working with pre-Audigy cards.
Ruslan Ermilov [Sun, 11 Jan 2004 10:29:55 +0000 (10:29 +0000)]
Put the warning flags to where they belong (into CWARNFLAGS).
This allows us to easily override them when necessary, e.g.,
to selectively disable warnings in libc/ contributed sources.
Warner Losh [Sun, 11 Jan 2004 06:52:31 +0000 (06:52 +0000)]
Add support for subtractive decoding bridges. These bridges pass all
signals to addresses to the child busses. Typically, ProgIf of 1
means a subtractive bridge. However, Intel has a whole lot of ones
with a ProgIf of 80 that are also subtractive. We cope with these
bridges too. This eliminates hw.pci.allow_unsupported_io_range
because that had almost the same effect as these patches (almost means
'buggy'). Remove the bogus checks for ISA bus locations: these cycles
aren't special and are only passed by transparent bridges.
We allow any range to succeed. If the range is a superset of the
range that's decoded, trim the resource to that range. Otherwise,
pass the range unchanged. This will change the location that PC Card
and CardBus cards are attached. This might bogusly cause some
overlapping allocation that wasn't present before, but the overlapping
fixes need to be in the pci level.
Robert Watson [Sun, 11 Jan 2004 06:24:34 +0000 (06:24 +0000)]
Release audit device major number reservation. The new audit
implementation writes directly to a file, similar to the Darwin,
Solaris, and whoever else implementations, rather than buffering
through a pseudo-device.
David E. O'Brien [Sun, 11 Jan 2004 03:34:02 +0000 (03:34 +0000)]
Vendor import emu10k1.h from version 1.0.1 of the ALSA driver.
ftp://ftp.alsa-project.org/pub/driver/alsa-driver-1.0.1.tar.bz2
or http://www.alsa-project.org/alsa/cvs/alsa-kernel/include/emu10k1.h
Robert Watson [Sun, 11 Jan 2004 02:28:06 +0000 (02:28 +0000)]
When not creating a core dump due to resource limits specifying
a maximum dump size of 0, return a size-related error, rather
than returning success. Otherwise, waitpid() will incorrectly
return a status indicating that a core dump was created. Note
that the specific error doesn't actually matter, since it's lost.
Robert Watson [Sun, 11 Jan 2004 01:29:03 +0000 (01:29 +0000)]
Problem:
When an NFS server is port-scanned nfsd sometimes exits. This has
happened 3 times the last few weeks.
Nfsd has been written to exit when accept(2) fails. Unfortunately
accept can sometimes make a "normal" return with errno ECONNABORTED
and in this case nfsd exits prematurely.
Solution:
Check for ECONNABORTED (and also EINTR, since nfsd uses signals)
and continue.
Robert Watson [Sat, 10 Jan 2004 22:38:54 +0000 (22:38 +0000)]
Update the diskless(8) documentation to indicate that the use of the
kernel BOOTP options is *not* required if the boot loader can pass
network configuration information to the kernel using the kernel
environment. As such, PXE doesn't require them. However, the NFS
options are required in the kernel (previously not documented).
Robert Watson [Sat, 10 Jan 2004 17:41:04 +0000 (17:41 +0000)]
Clarify the behavior of ptrace(2) a little bit: the tracing process
must first attach to the traced process. If the tracing process
exits without detaching, the traced process will be killed rather
than continued. For the duration of the tracing session, the traced
process is reparented to the tracing process (with resulting expected
behaviors). It is permissible to trace more than one other process
at a time. When using waitpid() to monitor the behavior of the traced
process, signals are intercepted: they may optionally then be
forwarded using ptrace(). Signals are generated normally by and for
the process, but also by the tracing facility (SIGTRAP).
Ruslan Ermilov [Sat, 10 Jan 2004 16:30:29 +0000 (16:30 +0000)]
Moved the code for :U and :L modifiers where it belongs, so that
the fallback for SysV (now in POSIX) variable substitution works
for old_string arguments starting with 'U' or 'L'.
Maxim Sobolev [Sat, 10 Jan 2004 13:09:21 +0000 (13:09 +0000)]
Fix serious ugliness introduced in 1.61, which leads to long delay in boot
sequence when machine is started without attached USB mouse. Only do
repeated attempts to re-open device if the usb module has been actually
loaded. Also fix broken logic in doing delays between open attempts - do
delays between attempts, not after each attempt.
Due to previous behaviour being very annoying for notebook owners this
is a good 5.2 MFC candidate.
Don Lewis [Sat, 10 Jan 2004 08:53:00 +0000 (08:53 +0000)]
Check that sa_len is the appropriate value in tcp_usr_bind(),
tcp6_usr_bind(), tcp_usr_connect(), and tcp6_usr_connect() before checking
to see whether the address is multicast so that the proper errno value
will be returned if sa_len is incorrect. The checks are identical to the
ones in in_pcbbind_setup(), in6_pcbbind(), and in6_pcbladdr(), which are
called after the multicast address check passes.
Don Lewis [Sat, 10 Jan 2004 08:28:54 +0000 (08:28 +0000)]
Add a somewhat redundant check on the len arguement to getsockaddr() to
avoid relying on the minimum memory allocation size to avoid problems.
The check is somewhat redundant because the consumers of the returned
structure will check that sa_len is a protocol-specific larger size.
Submitted by: Matthew Dillon <dillon@apollo.backplane.com>
Reviewed by: nectar
MFC after: 30 days
Don Lewis [Sat, 10 Jan 2004 08:14:27 +0000 (08:14 +0000)]
Don't execute the code in in6_ifdetach() that removes the link-local
allnodes multicast route if the routing table has not been initialized.
This avoids a panic during boot if an interface detaches before the
routing table is initialized.
Alfred Perlstein [Sat, 10 Jan 2004 02:59:54 +0000 (02:59 +0000)]
Fix a panic when attempting a v4 op against a v3/v2-only server.
It happens because rpcclnt_request is incorrectly returning 0 in the case
of an rpc mismatch or auth error.
Prevent a race condition between fork1() and whatever changes the pgrp by
setting the new process' p_pgrp again before inserting it in the p_pglist.
Without it we can get the new process to be inserted in a different p_pglist
than the one p2->p_pgrp points to, and this is not something we want to happen.
This is not a fix, merely a bandaid, but it will work until someone finds a
better way to do it.
Change sdp_open_local(3) API. It now takes a path to a control socket
Teach sdpcontrol(8) how to talk to the local SDP server
Update man pages
s/u_int/uint
Bruce A. Mah [Fri, 9 Jan 2004 20:10:20 +0000 (20:10 +0000)]
First 5.2-RELEASE errata, documenting some known issues in the
release: xdm(1) black-and-white-ness, ACPI problems, ATA device
problems, NFS floppy install requirements, pcm(4) vchan instabilities.
Nate Lawson [Fri, 9 Jan 2004 20:01:42 +0000 (20:01 +0000)]
Expand the check for overriding the OS name to override _OS* (including
_OS_, _OS, and _OSI). This should fix this option for people who reported
it not changing anything.
Jacques Vidrine [Fri, 9 Jan 2004 16:52:09 +0000 (16:52 +0000)]
Provide sysarch(2) prototypes in the MD sysarch.h headers. While I'm
at it, use the ANSI C generic pointer type for the second argument,
thus matching the documentation.
Remove the now extraneous (and now conflicting) function declarations
in various libc sources. Remove now unnecessary casts.
Andre Oppermann [Fri, 9 Jan 2004 14:14:10 +0000 (14:14 +0000)]
Reduce TCP_MINMSS default to 216. The AX.25 protocol (packet radio)
is frequently used with an MTU of 256 because of slow speeds and a
high packet loss rate.
Jacques Vidrine [Fri, 9 Jan 2004 13:43:49 +0000 (13:43 +0000)]
It was reported that when using nss_ldap, getgrent(3) would behave
incorrectly when encountering `large' groups (many members and/or many
long member names). The reporter tracked this down to the glibc NSS
module compatibility code (nss_compat.c): it would prematurely record
that a NSS module was finished iterating through its database in some
cases.
Two aspects are corrected:
1. nss_compat.c recorded that a NSS module was finished iterating
whenever the module reported something other than SUCCESS. The
correct logic is to continue iteration when the module reports
either SUCCESS or RETURN. The __nss_compat_getgrent_r and
__nss_compat_getpwent_r routines are updated to reflect this.
2. An internal helper macro __nss_compat_result is used to map glibc
NSS status codes to BSD NSS status codes (e.g. NSS_STATUS_SUCCESS ->
NS_SUCCESS). It provided the obvious mapping.
When a NSS routine is called with a too-small buffer, the
convention in the BSD NSS code is to report RETURN. (This is used
to implement reentrant APIs such as getpwnam_r(3).) However, the
convention in glibc for this case is to set errno = ERANGE and
overload TRYAGAIN. __nss_compat_result is updated to handle this
case.