John Baldwin [Mon, 17 Jul 2000 19:51:42 +0000 (19:51 +0000)]
- Don't try to free mboot.bootinst before it has been allocated. If, for
some reason, mboot.bootinst is not initialized to NULL at the beginning
of the program, then the last commit to this would try to free whatever
bogus address is in it.
- Restore the behavior of free()'ing the mboot.bootinst buffer after we
abuse it to determine the sector size of the disk (as clearly noted in
the comments). Properly fix the double free() bug by setting the pointer
to NULL after we free it.
John Baldwin [Mon, 17 Jul 2000 19:39:50 +0000 (19:39 +0000)]
Oops. Remove some debugging code used to display a hexdump of the sector
we just loaded from the disk. The code to call it was commented out, and
it easily fit into the extra sector, but remove it anyway as it is
unneeded.
Nick Hibma [Mon, 17 Jul 2000 19:28:29 +0000 (19:28 +0000)]
The modem driver for Communication Device Class, ACM compliant devices.
There is a number of devices that are compliant, of which the 3Com 5605 is
has been verified to work.
The driver is not perfect yet, but should be able to get you somewhere.
The driver was originally written by Lennart Augustsson, but Mike Smith
and Mike Meyer <mwm@mired.org> did the porting.
Bill Paul [Mon, 17 Jul 2000 19:27:41 +0000 (19:27 +0000)]
Add the PCI IDs for the Macronix 98727 and 98732 parts. These are
3.3volt PCI/cardbus chipsets similar to the 98715 (and they have
512-bit hash tables). Also update the man page to mention the 98727/98732
and the SOHOware SFA110A Rev B4 card with the 98715AEC-C chip.
John Polstra [Mon, 17 Jul 2000 17:18:13 +0000 (17:18 +0000)]
Fix a bug which could cause programs with user threads packages to
lock against themselves, causing infinite spinning. Brian Feldman
found this problem when testing with Mozilla and supplied the fix,
which I have revised slightly.
Here is the failure scenario. A thread calls dlopen() and acquires
the writer lock. While the thread still holds the lock, a signal
is delivered and caught. The signal handler tries to call a function
which hasn't been bound yet. It thus enters the dynamic linker
and tries to acquire the reader lock. Since the writer lock is
already held, it will spin forever in the signal handler. The
thread holding the lock won't be able to progress and release the
lock.
The solution is to block almost all signals while holding the
exclusive lock.
A similar problem could conceivably occur in the opposite order.
Namely, a thread is holding the reader lock and then a signal
handler calls dlopen() or dlclose() and spins waiting for the writer
lock. We deal with this administratively by proclaiming that signal
handlers aren't allowed to call dlopen() or dlclose(). Actually
we don't have to proclaim a thing, since signal handlers aren't
allowed to call any system functions except those which are explicitly
permitted.
Jonathan Lemon [Mon, 17 Jul 2000 17:06:04 +0000 (17:06 +0000)]
This is `liloboot', which creates a file which can be treated like a
Linux kernel image, and is designed to be dropped into a Linux system
and booted via LILO. Once booted, the user is greeted by the FreeBSD
loader. This still isn't quite complete, as the the root= specification
from LILO isn't currently passed to the loader yet.
Mark Murray [Mon, 17 Jul 2000 12:23:04 +0000 (12:23 +0000)]
Add randomness write functionality. This does absolutely nothing for
entropy estimation, but causes an immediate reseed after the input
(read in sizeof(u_int64_t) chunks) is "harvested".
This will be used in the reboot "reseeder", coming in another
commit. This can be used very effectively at any time you think
your randomness is compromised; something like
* Order options in the SYNOPSIS correctly.
* Re-order the list of options in teh DESCRIPTION as per
the SYNOPSIS.
* Move the description of exit conditions from the
DESCRIPTION section to a new DIAGNOSTICS section.
* Typo fix: "effect" -> "affect" when used as a verb.
* Clear the Nm macro as appropriate.
* Typo fix: "consider" -> "considers" for a singular subject.
* Use Nx instead of NetBSD.
Matt Jacob [Mon, 17 Jul 2000 01:45:51 +0000 (01:45 +0000)]
Preserve CAM_DIS_DISCONNECT as passed up from SIM (like
CAM_TAG_ACTION_VALID and CAM_DIR_MASK). Remove redundant
CAM_DEBUG line. Spiff up CAM_DEBUG printout for commands
and move the printout up to the top where we can see it,
even for the pending_ua/pending_ca cass. Add missing
newline in a CAM_DEBUG.
Matt Jacob [Mon, 17 Jul 2000 00:43:47 +0000 (00:43 +0000)]
Whoops- forgot to commit this other pearl from Justin- only set or
clear CAM_TAG_ACTION_VALID if this is an XPT_SCSI_IO CCB (otherwise,
the peripheral driver knows best...)..
Obtained from:gibbs@freebsd.org
Matt Jacob [Mon, 17 Jul 2000 00:34:52 +0000 (00:34 +0000)]
Roll back target mode f/w to 7.55- 7.65 hangs when presented with a
non-disconnecting command. Interestingly enough, of the other flavors
of the 7.65 f/w (the dual-id and multi-id flavor)- the dual-id doesn't
hang (they're also supposed to be the same except for supporting dual
or multi-id capture!), but other things are questionable as well.
Ben Smithurst [Sun, 16 Jul 2000 20:46:43 +0000 (20:46 +0000)]
1. "braces" -> "brackets" when referring to [ and ].
PR: 19894
Submitted by: Tony Finch <dot@dotat.at>
2. "brackets" -> "angle brackets" when referring to < and >.
3. Clean up the bit about creating the usage() message. After clarifying a
couple of points the sentence became rather long, and rather poor English, so
it was converted to a enumerated list instead.
PCCard entry cleanup:
- Remove unit numbers in config lines.
- Remove all of logger lines and add logstr lines for some cards. This
changes reduced file size from 84k to 45k.
- Use '/sbin/ifconfig $device delete' instead of /etc/pccard_ether_remove
which haven't merge from PAO yet.
- Cosmetic changes.
Nick Hibma [Sun, 16 Jul 2000 17:28:01 +0000 (17:28 +0000)]
And another buffer overflow. Maybe next time I should read the manpage for
strlen.
This one only occurs if there is exactly one element on the line without any
whitespace. This is however never a valid line, so not a big chance that
this would ever cause any problems.
s/IPSEC_IPV6FWD/IPSEC/. this avoids unexpected behavior on ipv6 fowarding.
(even if you ask for tunnel-mode encryption packets will go out in clear)
sync with kame.
Revert back to original mtree default behaviour to not follow symlinks, to be
compatible with other *BSD camp. Add -L option to follow symlinks, so remove
-P option which is now default. The next step will be to add -L to building
process.
David E. O'Brien [Sun, 16 Jul 2000 06:32:28 +0000 (06:32 +0000)]
Squeeze the BOOTMFS kernel image some more. The Alpha kernel was simply
over flowing its britches. So remove all ppbus bits except those for PLIP
(untested), and all USB bits as SRM does not know what USB is. Also remove
/dev/random as I don't think we need it just for whacking bits onto a disk.
Warner Losh [Sun, 16 Jul 2000 06:00:40 +0000 (06:00 +0000)]
Take jdp's excellent message to -current about the internat crypto
files and put it in my freebsd web area. Rewrite the entry in
UPDATING to point to it the message and hopefully not confuse people
like the old one did.
Peter Wemm [Sun, 16 Jul 2000 05:53:14 +0000 (05:53 +0000)]
Forced commit. This is to try and help folks that used the international
crypto repo and have slightly different files but with the same version.
cvsup in 'checkout mode' has no trouble with this, but cvs can get really
silly about it.
Simplify the F_GETOWN and F_SETOWN fcntl commands. The workaround
is not needed since the FreeBSD native implementation switched
from TIOC{G|S}PGRP to FIO{G|S}ETOWN (kern_descrip.c rev 1.55).
PR: 16946
Submitted by: Victor Salaman <salaman@teknos.com>
Bill Paul [Sat, 15 Jul 2000 17:54:30 +0000 (17:54 +0000)]
Apply patch to the dc driver to handle Macronix MX98715AEC-C/D/E chips,
which differ slightly from the Macronix MX98715AEC chip on the sample
adapter that I have in that the multicast hash table is only 128 bits
wide instead of 512. New adapters are popping up with this chip, and
due to improper handling of the smaller hash table, broadcast packets
were not being received correctly.
Alfred Perlstein [Sat, 15 Jul 2000 16:24:21 +0000 (16:24 +0000)]
Fix systat to use the kern.ipc.mbtypes sysctl instead of referencing a
structure member that doesn't exist anymore.
Use getsysctlbyname for kern.ipc.mbstat instead of sysctl.
Use netstat's method of displaying values from mtnames.
Submitted by: Ian Dowse <iedowse@maths.tcd.ie>
Missed by PR: 19809
Andrzej Bialecki [Sat, 15 Jul 2000 10:26:04 +0000 (10:26 +0000)]
These patches implement dynamic sysctls. It's possible now to add
and remove sysctl oids at will during runtime - they don't rely on
linker sets. Also, the node oids can be referenced by more than
one kernel user, which means that it's possible to create partially
overlapping trees.
Add sysctl contexts to help programmers manage multiple dynamic
oids in convenient way.
Please see the manpages for detailed discussion, and example module
for typical use.
This work is based on ideas and code snippets coming from many
people, among them: Arun Sharma, Jonathan Lemon, Doug Rabson,
Brian Feldman, Kelly Yancey, Poul-Henning Kamp and others. I'd like
to specially thank Brian Feldman for detailed review and style
fixes.
Robert Watson [Sat, 15 Jul 2000 03:25:14 +0000 (03:25 +0000)]
o Display only a short fortune at the root login prompt, as large ones
scroll of our pretty /etc/motd that helps the user know what to do.
o Change reflects similar setting in /share/skel
Admin some amount of responsibility for the current state of lpr/lpd.
Also add Garance Drosihn who has been doing a great deal of work on
print systems.
Warner Losh [Fri, 14 Jul 2000 19:46:35 +0000 (19:46 +0000)]
Add new keyword "logstr". By default, we now use syslog outselves to
log insert/remove events using the logstr, if specified for that card,
or the manufacturer + version strings from the cis if not. This
eliminates the need to have logger in the pccard.conf file which makes
it easier to move pcardd to /sbin later if we need to. This also
reduces the pccard.conf file size from 53k to 28k, which will help the
install disk a little.
Also, minor cleanup of free usage (if (x != NULL) free(x); is
identical to free(x); for all versions of C that we care about).
Reviewed by: iwasaki (who proposed the logstr keyword).
Matt Jacob [Fri, 14 Jul 2000 19:45:43 +0000 (19:45 +0000)]
Pick up some changes from Justin (add tagged queing support, remember
to splx(s) if cam_extend_get fails and we return ENXIO, reset ccb flags
when we push ATIOs back to the SIM, do some data increment fixes, set
priority of command based on whether CAM_DIS_DISCONNECT is set and related
changes).
Add in some more CAM_DEBUG_PERIPH debug statements and also add in support
for TARGIODEBUG which then will enable or disable CAM_DEBUG_PERIPH tracing
for an instance.