Bruce Evans [Mon, 7 Sep 1998 13:17:06 +0000 (13:17 +0000)]
Removed statically configured mount type numbers (MOUNT_*) and all
references to them.
The change a couple of days ago to ignore these numbers in statically
configured vfsconf structs was slightly premature because the cd9660,
cfs, devfs, ext2fs, nfs vfs's still used MOUNT_* instead of the number
in their vfsconf struct.
Fix problem reported on bugtraq: check permission of device mounted
for non-root users. Fortunately, the default for vfs.usermount is 0.
Tested by: "Jan B. Koum " <jkb@best.com
Sean Eric Fagan [Mon, 7 Sep 1998 05:49:43 +0000 (05:49 +0000)]
Use a default execution type if none of the listed ones match. This
uses the first type listed in the array as the default type. This isn't
perfect, but I thought it would be better than nothing.
Bruce Evans [Mon, 7 Sep 1998 05:42:15 +0000 (05:42 +0000)]
Made unloading of the nfs LKM sort of work. This is mainly to test
detachment of vfs sysctls. Unloading of vfs LKMs doesn't actually
work for any vfs, since it leaves garbage pointers to memory
allocation control structures.
Tor Egge [Sun, 6 Sep 1998 21:13:09 +0000 (21:13 +0000)]
Better handling of word splitting. Don't record the same region
multiple times when performing nested variable expansion, and
preserve some quoting information in order to avoid removing
apparently empty expansion result.
Bill Paul [Sun, 6 Sep 1998 14:58:46 +0000 (14:58 +0000)]
Patch the transmit error handler to avoid following NULL pointers and
generating a trap 12 panic. The code blindly assumed that in the event
of a transmit error, the packet that caused the error would still be
at the head of the driver's transmit queue (sc->xl_cdata.xl_tx_head).
However in the case of error 82 (which indicates that a transmit error
occurred after part of the transmit FIFO memory has been reclaimed)
this is not true: the TX queue has already been flushed, and the
pointer to the head of the queue is NULL, so trying to dereference
the pointer to find the transmit descriptor address causes a crash.
The code now checks for a NULL pointer before trying to reload the
chip's download pointer register. There may still be error messages
printed warning of the transmit error, but no panic should occur.
Note that this eror code is only generated with "cyclone" chipsets
(3c900B, 3c905B, and presumeably the 3c980 server adapter). It should
only appear during periods of heavy traffic, probably only on
non-switched networks.
Problem reported by: Darcy Buskermolen <darcy@ok-connect.com>
RFC 1644 has the status "Experimental Protocol", which means:
4.1.4. Experimental Protocol
A system should not implement an experimental protocol unless it
is participating in the experiment and has coordinated its use of
the protocol with the developer of the protocol.
John Birrell [Sat, 5 Sep 1998 23:07:59 +0000 (23:07 +0000)]
Change the ELF64_R_SYM() to shift 32 bits instead of 8 bits to match
binutils.
Ensure that three of the structures are the size that binutils writes
them. I just love code that doesn't share header files to avoid
problems like these.
John Polstra [Sat, 5 Sep 1998 20:28:48 +0000 (20:28 +0000)]
Don't recognize a file as an a.out shared library unless it has at
least 2 version numbers. This fixes the bug where the dynamic
linker would try to load an ELF shared library if it found one.
Note, this change also fixes the same thing in "ld", because the
code is shared.
For "ld" there is still a problem with ".a" libraries, which cannot
be distinguished by name. I haven't decided what, if anything, to
do about that.
Bruce Evans [Sat, 5 Sep 1998 17:13:28 +0000 (17:13 +0000)]
Ignore the statically configured vfs type numbers and assign vfs
type numbers in vfs attach order (modulo incomplete reuse of old
numbers after vfs LKMs are unloaded). This requires reinitializing
the sysctl tree (or at least the vfs subtree) for vfs's that support
sysctls (currently only nfs). sysctl_order() already handled
reinitialization reasonably except it checked for annulled self
references in the wrong place.
Bruce Evans [Sat, 5 Sep 1998 15:17:34 +0000 (15:17 +0000)]
Instantiate `nfs_mount_type' in a standard file so that it is present
when nfs is an LKM. Declare it in a header file. Don't forget to use
it in non-Lite2 code. Initialize it to -1 instead of to 0, since 0
will soon be the mount type number for the first vfs loaded.
Bruce Evans [Sat, 5 Sep 1998 14:13:35 +0000 (14:13 +0000)]
Sysctl nodes are written to, so don't put them in the text section.
Our write protection of the kernel text on i386's doesn't actually
work in many cases:
- use of the 4MB page completely breaks it.
- CR0_WP isn't set until just before init is started, so the kernel
text is not write protected during kernel initialization.
Remove tcl from /usr/src, according to prior agreement. BTW, tcl-8.0 *is*
a port so there is nothing to be done on that side now.
Approved by: jkh
===
To: "Jordan K. Hubbard" <jkh@time.cdrom.com>
cc: Andreas Klemm <andreas@klemm.gtn.com>, current@freebsd.org
Subject: Re: Make this a relese coordinator decision (was Re: ports-current/packages-current discontinued)
From: David Greenman <dg@root.com>
Date: Sun, 03 Aug 1997 20:23:31 -0700
>decision is, I'll respect it.
Another chance to architect people's principles...I can hardly wait. Seems
quite appropriate for a Sunday - I just need to get one of those collection
plates (and money envelopes) so I can profit, too. :-)
Tcl stays in /usr/src for now, but it needs to be kept up to date; same
for perl. If Jordan doesn't have "setup" (written in tcl) ready for 3.0,
then tcl will be yanked prior to the 3.0 release (and made into a port).
As for the ports tree only supporting the last FreeBSD release, this seems
sensible to me. The "ports" have always been a moving target between releases
and the problem is only going to get worse when we expand to supporting other
processor architectures. In any case, Satoshi is and always has been in charge
of the ports tree and whatever he wants to do with it (within reason :-)) is
his decision.
Does this cover the issue completely? I admit to deleting messages in this
thread with unusual fervor (people have FAR too much time on their hands!).
There's a fair bit of reasoning behind the above, but since everyone is sick
of arguing about this, I'll spare you the analysis.
-DG
David Greenman
Core-team/Principal Architect, The FreeBSD Project
Add OBJFORMAT to list of variables passed into /mk script since it seems
to think you're using aout otherwise (and emits a rather confusing and
inaccurate diagnostic about OBJFORMAT being set in /etc/make.conf when
it most demonstrably is not set there).
John Polstra [Sat, 5 Sep 1998 04:27:35 +0000 (04:27 +0000)]
Explicitly pass the "-aout" option to ldconfig, until I've had a
chance to work out a better scheme to handle the separate
invocations necessary for a.out and ELF.
John Polstra [Sat, 5 Sep 1998 03:31:00 +0000 (03:31 +0000)]
Implement ldconfig functionality for ELF. The hints are stored in
a different file than the a.out hints, namely, "/var/run/ld-elf.so.hints".
These hints consist only of the directory search path. There is
no hash table as in the a.out hints, because ELF doesn't have to
search for the file with the highest minor version number. (It
doesn't have minor version numbers at all.)
A single run of ldconfig updates either the a.out hints or the ELF
hints, but not both. The set of hints to process is selected in
the usual way, via /etc/objformat, or ${OBJFORMAT}, or the "-aout"
or "-elf" command line option. The rationale is that you probably
want to search different directories for ELF than for a.out.
"ldconfig -r" is faked up to produce output like we are used to,
except that for ELF there are no minor version numbers. This should
enable "ldconfig -r" to be used for checking LIB_DEPENDS in ports
even for ELF.
I implemented the ELF functionality in a new source file, with an
eye toward eliminating the a.out code entirely at some point in
the future.
Mike Smith [Fri, 4 Sep 1998 19:55:51 +0000 (19:55 +0000)]
Increase 'maxusers' to 32; with the number of people using GENERIC as
their one-size-fits-all kernel, this should help reduce the "out of foo"
reports.
Bill Paul [Fri, 4 Sep 1998 16:22:15 +0000 (16:22 +0000)]
Modify the xl_mediacheck() routine to also test for the case where the
XCVR value read from the EEPROM is completely wrong. I've had one report
of a 3c900 card that returns an xcvr value of 14, which is impossible
(the manual states that all vales above 8 are reserved). If the value
is out of the expe
Add PCI vendor ID for the 3c980-TX server adapter card, which apparently
also uses the cyclone chip. Graciously supplied Mats O Jansson
<maja@cntw.com>.
Also noted by Mats, the 10mpbs cyclone adapters should be named 3c900B,
not 3c905B. I haven't actually encountered a 10mbps only cyclone adapter
yet, nor anybody who has one, but this makes sense given the naming
scheme used for the older boomerang adapters.
Warner Losh [Fri, 4 Sep 1998 16:08:54 +0000 (16:08 +0000)]
o Enable standby mode in apm utility. You need a newer kernel for this
functionality to work (however, the kernel changes were committed
to current at 1998/07/05 23:29:11 PDT).
o Enable setting of a timer for later wakeup. Note, not all APM
BIOSes support this for all modes (mine doesn't support waking up on
a timer from standby mode).
o Print out the APM capabilities, as reported by the BIOS.
o Report wake on ring indication. No way to enable/disable this, but
it is reported.
o update man page with above
o The output of this command has changed, so if you have a script that
parses its output, then you may need to rewrite it slightly.
o The code attempts to deal with older kernels than July 5, 1998, but
that part of the code isn't well tested.