iedowse [Fri, 27 Aug 2004 01:20:26 +0000 (01:20 +0000)]
When trying each linker class in turn with a preloaded module, exit
the loop if the preload was successful. Previously a successful
preload was ignored if the linker class was not the last in the
list.
iedowse [Fri, 27 Aug 2004 01:10:16 +0000 (01:10 +0000)]
Add a new module information type MODINFOMD_SHDR that will be used
by the loader to pass the section header table from preloaded ELF
relocatable modules into the kernel.
iedowse [Fri, 27 Aug 2004 01:06:57 +0000 (01:06 +0000)]
Add MD relocation support for amd64 and i386 platforms. The no-op
relocation is not sufficient for ELF relocatable object format
modules, since accessing the module metadata involves following
pointers between different ELF sections.
This allows kldxref to correctly build linker.hints on the amd64
platform.
iedowse [Fri, 27 Aug 2004 00:51:21 +0000 (00:51 +0000)]
Call the file format specific code through a table of function
pointers and remove knowledge of the file format from kldxref.c.
This will make it possible to support more than one file format.
le [Thu, 26 Aug 2004 21:04:41 +0000 (21:04 +0000)]
When attaching a consumer from a volume to a plex, check if the
volume already has a plex attached and adjust the access counts
of the new consumer accordingly.
nectar [Thu, 26 Aug 2004 19:37:06 +0000 (19:37 +0000)]
Correct a denial-of-service vulnerability in zlib.
For reference, this bug was first reported at
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=252253
Submitted by: "Dmitry V. Levin" <ldv@altlinux.org>
tjr [Thu, 26 Aug 2004 13:16:44 +0000 (13:16 +0000)]
Improve the robustness of MSDOSFSMNT_KICONV handling:
- Use copyinstr() to read cs_win, cs_dos, cs_local strings from the
mount argument structure instead of reading through user-space pointers(!).
- When mounting a filesystem, or updating an existing mount, only try to
update the iconv handles from the information in the mount argument
structure if the structure itself has the MSDOSFSMNT_KICONV flag set.
- Attempt to handle failure of update_mp() in the MNT_UPDATE case.
brueffer [Thu, 26 Aug 2004 08:34:09 +0000 (08:34 +0000)]
- move the list of supported adapters into a HARDWARE section
- properly capitalize Ethernet
- replace a misleading 'adapter' with 'chipset'
- bump document date
brueffer [Thu, 26 Aug 2004 08:33:03 +0000 (08:33 +0000)]
- move the list of supported adapters into a HARDWARE section
- sort the list of adapters
- add the 3Com 3c460 HomeConnect Ethernet USB Adapter [1]
- properly capitalize Ethernet
- replace a misleading 'adapter' with 'chipset'
- bump document date
kientzle [Thu, 26 Aug 2004 03:53:43 +0000 (03:53 +0000)]
Don't edit permissions of pre-existing directories during extract.
This closes a security hole. Otherwise, libarchive will happily
extract into directories to which it lacks write permissions by
resetting the permissions during the extract.
simon [Thu, 26 Aug 2004 00:19:54 +0000 (00:19 +0000)]
- Add a HARDWARE section which lists supported devices.
- Mark up each item in the device list with .It, as per mdoc(7) and to
make it simpler for auto generated Hardware Notes to parse the manual
page.
brueffer [Wed, 25 Aug 2004 22:39:05 +0000 (22:39 +0000)]
- put the list of supported adapters into a HARDWARE section
- make the Buffalo entry look better
- properly capitalize Ethernet and Fast Ethernet
- bump document date
marius [Wed, 25 Aug 2004 22:15:33 +0000 (22:15 +0000)]
Don't call uart_bus_probe() for non-matching PnP-devices. Trying to probe
the keyboard controller with uart_bus_probe() caused a hang here on an i386
machine.
ru [Wed, 25 Aug 2004 22:06:29 +0000 (22:06 +0000)]
Fix "make world DESTDIR=/mnt" to work again. A recent change
to make(1) that causes command-line variables to be passed as
command-line variables to sub-processes that make(1) executes
broke it. By changing the type of all DESTDIR variables used
internally in Makefile.inc1, from environment to command-line
variables of the highest priority, I was able to "make world"
with success, with the command-line variable DESTDIR set.
rwatson [Wed, 25 Aug 2004 21:24:36 +0000 (21:24 +0000)]
Don't hold the UNIX domain socket subsystem lock over the body of the
UNIX domain socket garbage collection implementation, as that risks
holding the mutex over potentially sleeping operations (as well as
introducing some nasty lock order issues, etc). unp_gc() will hold
the lock long enough to do necessary deferal checks and set that it's
running, but then release it until it needs to reset the gc state.
imp [Wed, 25 Aug 2004 19:39:13 +0000 (19:39 +0000)]
Recommend using make kernel for current -> current upgrades. No reason
to have multiple commands for that.
Use relative paths into the src tree consistantly in the instructions.
Fix minor nits that have crept into things.
mlaier [Wed, 25 Aug 2004 18:49:32 +0000 (18:49 +0000)]
Document supported devices here (for lack of a better place). Users
interested in ALTQ are likely to type in "man altq" at some point and maybe
they will scroll down to the bottom as well.
obrien [Wed, 25 Aug 2004 18:28:15 +0000 (18:28 +0000)]
Fix a bug in in_cksum_hdr w/o -O.
The C code assumes that the carry bit is always kept from the previous
operation. However, the pointer indexing requires another add operation.
Thus, the carry bit from the first operation is tromped over by the
"addl" operation that ends up following it, so the "adcl" that follows
that has no effect because the carry bit is cleared before it.
The result is checksum failure on received packets.
The larger issue is that there isn't any other way of preventing the compiler
inserting arbitrary instructions between different __asm statements (and
that the commit message in revision 1.13 of in_cksum.h is wrong on
this point). From
http://developer.apple.com/documentation/DeveloperTools/gcc-3.3/gcc/Extended-Asm.html
---8<---8<---8<---
You can't expect a sequence of volatile asm instructions to remain
perfectly consecutive. If you want consecutive output, use a single
asm. Also, GCC will perform some optimizations across a volatile
asm instruction; GCC does not "forget everything" when it encounters
a volatile asm instruction the way some other compilers do.
---8<---8<---8<---
Also, this change also makes the ASM code much easier to read.
PR: 69257
Submitted by: Mike Bristow <mike@urgle.com>, Qing Li <qing.li@bluecoat.com>
rwatson [Wed, 25 Aug 2004 16:52:59 +0000 (16:52 +0000)]
Convert a mtx_lock(&Giant) to a mtx_unlock(&Giant) in nfsrv_link() to
prevent leakage of Giant. With INVARIANTS, this results in an
assertion failure following execution of the RPC. Without INVARIANTS,
it could result in problems if the NFS server is killed causing nfsd
to return to user space holding Giant.
roam [Wed, 25 Aug 2004 16:36:17 +0000 (16:36 +0000)]
Do not display bogus entries for sockets in the TIME_WAIT or similar
states that no longer have a corresponding file descriptor - until now,
sockstat would mostly randomly match null kern.file.*.xf_data fields
with the first mostly-closed socket.
pjd [Wed, 25 Aug 2004 09:31:30 +0000 (09:31 +0000)]
Allocate memory when dumping pipes with M_WAITOK flag.
On a system with huge number of pipes, M_NOWAIT failes almost always,
because of memory fragmentation.
My fix is different than the patch proposed by Pawel Malachowski,
because in FreeBSD 5.x we cannot sleep while holding dummynet mutex
(in 4.x there is no such lock).
My fix is also ugly, but there is no easy way to prepare nice and clean fix.
marcel [Wed, 25 Aug 2004 08:03:48 +0000 (08:03 +0000)]
Get a step closer to profiling the kernel by fixing the definitions
of the MCOUNT_ENTER, MCOUNT_EXIT and MCOUNT_DECL defines. Also make
sure there's a prototype of _MCOUNT_DECL(). This allows us to build
a kernel. There are still unresolved symbols, so linking fails.
marcel [Wed, 25 Aug 2004 07:42:34 +0000 (07:42 +0000)]
Make profiling actually work. The gcc compiler emits a call to the
_mcount() stub when profiling is enabled. Emit this code sequence
for assembly routines as welli (MCOUNT definition in <machine/asm.h>.
We do not pass the GOT entry however as the 4th argument, because it's
not used. The _mcount() stub calls __mcount(), which does the actual
work. Define _MCOUNT_DECL to define __mcount. We do not have an
implementation of mcount(), so we define MCOUNT as empty, but have a
weak alias to _mcount() in _mcount.S.
Note that the _mcount() stub in the kernel is slightly different from
the stub in userland. This is because we do not have to worry about
nested routines in the kernel.
obrien [Wed, 25 Aug 2004 03:38:05 +0000 (03:38 +0000)]
No longer do special handling of Perl. FreeBSD users have all of 5.x
to get used to the fact that Perl is no longer part of the base system.
It is practically impossible to install any useful package and not get
Perl automatically pulled in as a dependency. So the typical user will
get their Perl.
This change greatly reduces the amount of manual labor in building the
miniinst.iso in release building.
rwatson [Wed, 25 Aug 2004 03:37:25 +0000 (03:37 +0000)]
if_dc includes locking, but that locking is disabled by a #ifdef
by default. As such, mark if_dc as IFF_NEEDSGIANT until such
time as appropriate locking review and testing can take place,
and the locking can be enabled by default.
rwatson [Wed, 25 Aug 2004 01:23:38 +0000 (01:23 +0000)]
In nfs_timer(), pass curthread rather than &thread0 into the protocol
send routine. In IPv6 UDP, the thread will be passed to suser(), which
asserts that if a thread is used for a super user check, it be
curthread. Many of these protocol entry points probably need to
accept credentials instead of threads.
paul [Tue, 24 Aug 2004 23:12:16 +0000 (23:12 +0000)]
Add a CVSTAG makefile variable that can be set in /etc/make.conf that
determines which CVS tag to track when running make update. This makes
it easier to configure a box to track a particular release if it does
automated updates from a cvs repository.
imp [Tue, 24 Aug 2004 23:09:57 +0000 (23:09 +0000)]
Clarify what the lockfunc is used for. When it will be called and
when it won't be called. The old wording was correct, but not
sufficiently specific to understand when and how it would be called.
The new wording describes the current implementation's usage (which
should be updated if other appropriate times are decided upon),
specifically that it is called only when the load operation is
deferred to keep the locking state consistent. When the operation
isn't deferred, the calling routine is assumed to have a coherent
locking world.
josef [Tue, 24 Aug 2004 21:37:46 +0000 (21:37 +0000)]
Add snapshots.se.freebsd.org to list of available ftp mirrors.
Dont forget to use X-LATEST as Release Name (where X is version major number)
when you choose a snapshot server.
jhb [Tue, 24 Aug 2004 20:21:21 +0000 (20:21 +0000)]
Fix the ABI wrappers to use kern_fcntl() rather than calling fcntl()
directly. This removes a few more users of the stackgap and also marks
the syscalls using these wrappers MP safe where appropriate.
Tested on: i386 with linux acroread5
Compiled on: i386, alpha LINT
brueffer [Tue, 24 Aug 2004 17:38:53 +0000 (17:38 +0000)]
- move the list of supported adapters to a HARDWARE section
- correct entry for the Belkin card (we don't support 10GbE in sk(4)) :-)
- properly capitalize Gigabit Ethernet
- wordsmithing on a sentence
- bump document date
tjr [Tue, 24 Aug 2004 13:00:55 +0000 (13:00 +0000)]
Replace the current implementations of ftw() and nftw() with the OpenBSD
implementations written by Todd C. Miller. These are cleaner, less buggy
and actively maintained.