Commit Graph

33960 Commits

Author SHA1 Message Date
gibbs
dc4a57e23b Fix a few problems with handling rejected transfer negotiation messages.
Use the host message loop for any unknown message types instead of performing
a reject message in the sequencer.  Pass reject messages to the host
message loop too which frees up a sequencer interrupt type slot.

Default to issuing a bus reset if initiator mode is enabled.  It seems
that the reset scsi bus bit is not defined in the same location for
all aic78xx BIOSes, so attempting to honor this setting will have to
wait until I get more information on how to detect it.

Nuke some unused variables.
1998-12-17 00:06:52 +00:00
gibbs
11a6f2ec08 Correctly track allocated accept target I/O ccbs so that they can be
aborted prior to disabling our lun.  This requires a second set of
links since we use the ones in the ccb_hdr during normal operations.

Nuke some unused variables.
1998-12-17 00:03:14 +00:00
ken
36eb372526 At Justin's request, limit the size of buffers that can be mapped into
and out of kernel address space (via the pass(4) and xpt(4) peripheral
drivers) to 64K (DFLTPHYS).  Some controllers, like the Adaptec 1542,
don't support more than 64K transactions.

We plan on eventually having the capability of limiting this size based
on min(MAXPHYS, controller max), but since that capability isn't here yet,
limit things to the lowest common denominator.
1998-12-16 21:00:06 +00:00
bde
32cca8fd9b <sys/types.h> isn't a prerequisite for <kvm.h>. 1998-12-16 19:12:14 +00:00
bde
34629b4155 The previous commit was bogus. <stdlib.h> was never a prerequisite
for <kvm.h> or kvm_getloadavg(), and <sys/types.h> was only a
prerequisite for <kvm.h> when <kvm.h> was broken.
1998-12-16 19:04:54 +00:00
bde
933cffdd82 Declare size_t and ssize_t if they are not already declared, so that
<kvm.h> is self-sufficient again.

Moved typedefs and forward struct declarations out of __BEGIN_DECLS/
__END_DECLS.

Don't comment out the prototype for kvm_uread().  This was a 4 year
old kludge for previous breakage of self-sufficiency.  The prototypwe
was broken instead.

Fixed bitrot (const poisoning) in the type of kvm_uread().

Fixed order of the declaration of kvm_uread().
1998-12-16 18:59:47 +00:00
phk
4674dad527 Straigthen out the use of the tls and tlf callbacks.
Not tested on the if_sr, if_cx and if_ar drivers, but
expected to work just the same as it used to.

Any users of these drivers (or even better: donors
of hardware for them) please contact phk@freebsd.org
so we can test the next batch of changes to if_sppp.
1998-12-16 18:42:38 +00:00
bde
28d6420f45 Adjust for kern.ps_strings and PS_STRINGS not being a pointer. This
fixes a type mismatch in the call to kvm_uread().  The bug has gone
undetected for almost 3 years because kvm_uproc()'s protoype has been
disabled for almost 4 years.

Trust sysctlbyname() to work properly if it succeeds.

Fixed style bugs in revs. 1.19 and 1.22.
1998-12-16 18:31:51 +00:00
phk
38464a3bbc Generalize the if_up() and if_down() functions under the names
if_route() and if_unroute().

This is first step towards sanitizing IFF_UP and IFF_RUNNING
1998-12-16 18:30:43 +00:00
fenner
8532cc33d7 Add missing "break"s to allow multicast routing to work.
Submitted by:	Amancio Hasty <hasty@rah.star-gate.com>
1998-12-16 18:07:11 +00:00
ken
60f9c7106b Probable fix for the "cdda2wav" panics that various people have been
reporting since this past summer.  (I think Daniel O'Conner was the first.)

The problem appears to have been something like this:

 - cdda2wav by default passes in a buffer that is close to the 128K MAXPHYS
   limit.
 - many times, the buffer is not page aligned
 - vmapbuf() truncates the address, so that it is page aligned
 - that causes the total size of the buffer to be greater than MAXPHYS,
   which of course is a bad thing.

Here's a quote from the PR (kern/9067):

==================
In particular, note bp->b_bufsize = 0x0001f950 and bp->b_data = 0xf2219960
(which does not start on a page boundary).  vunmapbuf() loops through all
the pages without any difficulty until addr reaches 0xf2239000, and then
the panic occurs.  This seems to indicate that we are exceeding MAXPHYS
since we actually started from the middle of a page (the data is being
transfered to a non page aligned location).

To complete the description, note that the system call originates from
ReadCddaMMC12() (in scsi_cmds.c of cdda2wav) with a request to read 55
audio sectors of 2352 bytes (which is calculated to fall under MAXPHYS).
This in turn ends up calling scsi_send() (in scsi-bsd.c) which calls
cam_fill_csio() and cam_send_ccb().  This results in a CAMIOCOMMAND ioctl
with a ccb function code of XPT_SCSI_IO.
==================

The fix is to change the size check in cam_periph_mapmem() so that it is
like the one in minphys().  In particular, it is something like:

if ((buffer_length + (buf_ptr & PAGE_MASK)) > MAXPHYS)
	buffer is too big

My fix is based on the one in the PR, but I cleaned up a fair number of
things in cam_periph_mapmem().  The checks for each buffer to be mapped
are now in a separate loop from the actual mapping operation.  With the new
arrangement, we don't have to bother with unmapping any previously mapped
buffers if one of the checks fails.

Many thanks to James Liu for tracking this down.  I'd appreciate it if some
vm-savvy folks would look this over.  I believe this fix is correct, but I
could be wrong.

PR:		kern/9067 (also, kern/8112)
Reviewed by:	gibbs
Submitted by:	"James T. Liu" <jtliu@phlebas.rockefeller.edu>
1998-12-16 18:00:39 +00:00
bde
bae37e638a Declare setproctitle() as printf0-like. 1998-12-16 17:52:15 +00:00
bde
c3648dbd00 Adjust for kern.ps_strings and PS_STRINGS not being a pointer. This is
an unimprovement here.  I thought it would be an improvement, as in libkvm,
but here we can access the strings directly.

Use sysctlbyname() instead of sysctl() and trust it to give a nonzero
address if it succeeds.
1998-12-16 17:34:05 +00:00
ghelmer
2b1259bfa2 Document securelevel 3.
PR:		docs/8674
1998-12-16 17:14:16 +00:00
ghelmer
fe4bef1579 Mention affect of securelevel 3 and higher on attempts to change filter lists.
Prompted by:	PR docs/7785
1998-12-16 17:10:03 +00:00
ghelmer
fe04bf9dba Mention securelevel 3 as affecting ipfw and dummynet. Generalize comment
about fdisk and securelevel 2.
PR:		docs/7785
1998-12-16 16:50:12 +00:00
bde
7b9dc76b76 Removed the cast to a pointer in the definition of PS_STRINGS and
adjusted related casts to match (only in the kernel in this commit).
The pointer was only wanted in one place in kern_exec.c.  Applications
should use the kern.ps_strings sysctl instead of PS_STRINGS, so they
shouldn't notice this change.
1998-12-16 16:28:58 +00:00
bde
6e5fef1842 Removed all traces of SYSCTL_INTPTR(). Pointers can't really be passed
across the kernel -> application interface, and for the one sysctl where
they were passed and actually used (kern.ps_strings), the applications
want addresses represented as u_longs anyway (the other sysctl that
passed them, kern.usrstack, has never been used).

Agreed to by:	dfr, phk
1998-12-16 16:06:29 +00:00
des
f1482d2faf Implement and document fetchStatFTP.
Update description of struct url_stat in the man page.
Clean up error handling in ftp.c.
1998-12-16 15:29:03 +00:00
bde
9dd9cb4cb2 Removed bogus casts of USRSTACK and/or the other operand in binary
expressions involving USRSTACK.
1998-12-16 15:21:51 +00:00
kato
83e223ac3a Sync with current sc driver in sys/i386/isa.
Submitted by:	Takahashi Yoshihiro <nyan@wyvern.cc.kogakuin.ac.jp>
1998-12-16 14:57:38 +00:00
jkh
14bdf1c6c0 Make it possible to have separate install scripts as well as have
an on-delete script.

Submitted by:	Rajesh Vaidheeswarran <rv@fore.com>
1998-12-16 13:59:31 +00:00
phk
76e92ae704 Best version so far. Flicker floor is now 2e-12. 1998-12-16 11:46:41 +00:00
ache
2f1a3c78f9 Remove appending objformat to obj prefix for
backend targets. Old variant cause top level things build in
/usr/obj/elf while lower level things build in /usr/obj which cause
mismatch
1998-12-16 11:45:51 +00:00
des
f13cf4998e Remove unused header files. Fix a few shadowing bugs. Improve error reporting. 1998-12-16 11:44:31 +00:00
des
37f6ae6efa Add verbose flag, and support functions.
Brucify the Makefile.
Differentiate atime and mtime in fetch*Stat().
Fix a few pointer bugs.
Tweak some error messages.
Don't #include sys/param.h and stdio.h in fetch.h.
Document that sys/param.h and stdio.h must be #included before fetch.h.
1998-12-16 10:24:55 +00:00
n_hibma
0dfe97f554 Removed dynamic loading of FileHandle 1998-12-16 09:09:09 +00:00
peter
b811a3806f As previously threatened, clean up the rshd -a option and make it default
on rshd and rlogind.  However, note that:
1: rshd used to drop a connection with -a if the hostname != ip address.
   This is unneeded, because iruserok() does it's own checking.
   It was also wrong if .rhosts had an explicit IP address in it,
   connections would be dropped from that host solely because the DNS was
   mismatched even though it was explicitly intended to work by IP address.
2: rlogind and rshd check the hostname mappings by default now because that
   is what goes into the utmp/wtmp and logs.  If the hostname != ip address,
   then it uses the IP address for logging/utmp/wtmp purposes.  There isn't
   much point logging ficticious hostnames.
3: rshd -a is now accepted (but ignored) for compatability.  If you really
   want to make life miserable for people with bad reverse DNS, use tcpd in
   paranoid mode (which is questionable anyway, given DNS ttl tweaking).
1998-12-16 07:20:45 +00:00
jkh
41b0bb1bb1 Update to note which specific brand of IDE drive does this. 1998-12-16 07:14:01 +00:00
peter
e133ecebec Old stuff laying around: Don't use getstr which can conflict with some
curses/termcap/terminfo implementations and causes recursion.
1998-12-16 06:06:06 +00:00
peter
4b96ed957d Old stuff laying around: Don't use a function called getstr(), that has
nasty consequences when the system curses is ncurses as this conflicts
with a ncurses funciton and causes recursion.
1998-12-16 06:04:29 +00:00
peter
f3847d7306 Old stuff from a source tree: copy (verbatum) the code to expand the
%s/%m in the default /etc/gettytab.
1998-12-16 06:01:33 +00:00
peter
b21a9231aa Old nit lying around in a source tree: Slightly optimize the number of
uname/gname overrides and /sets.
1998-12-16 05:50:25 +00:00
peter
279666945c Old nit lying around: Don't override the gname when it's the same as the
previous /set.
1998-12-16 05:47:53 +00:00
peter
285c01114a Old stuff laying around: Don't override /tmp to the same uid/gid as the
previous /set defaults
1998-12-16 05:45:58 +00:00
peter
eb74a6e90b Old stuff lying around a source tree:
Create/remove /etc/wall_cmos_clock without using system() and magic paths.
1998-12-16 05:34:49 +00:00
peter
858805daf7 Cleaning out old stuff from one of my source trees:
use mkdtemp() rather than mktemp() and fix a trivial memory leak.
1998-12-16 05:29:09 +00:00
dillon
221998f917 Added /usr/share/examples/portal to mtree 1998-12-16 05:01:44 +00:00
imp
e8eb0a612e Add support for building on MIPS based systems. 1998-12-16 04:59:53 +00:00
imp
a3877a7dd2 Free memory from getmode.
Obtained from: OpenBSD
1998-12-16 04:54:08 +00:00
imp
3d6d60242a Free memory from setmode.
Obtained from: OpenBSD
1998-12-16 04:51:27 +00:00
imp
16794c966e Return memory from setmode.
Obtained from: OpenBSD
1998-12-16 04:50:46 +00:00
imp
a25b16eb03 Fix two possible non-exploitable buffer overflows.
Thanks to: A friend at Sun auditing dump/restore for Solaris.
1998-12-16 04:48:00 +00:00
imp
3b3da1d9ef Free memory from setmode.
Obtained from: OpenBSD
1998-12-16 04:45:35 +00:00
imp
499ab4bd0d Use getcwd in stead of using getwd so that we try harder to avoid
overflowing a buffer.

Obtained from: Either OpenBSD or a discussion in bugtraq.
1998-12-16 04:44:32 +00:00
imp
a15b387ba9 Free memory obtained from setmode.
Obtained from: OpenBSD
1998-12-16 04:42:33 +00:00
imp
5315be15ac Add reminder to return memory allocated by this call.
Obtained from: OpenBSD
1998-12-16 04:39:23 +00:00
peter
0be4cef38e The perlinterp option builds and works, but I'm not so sure how it'll go
in a release or buildworld environment, so I'll leave it disabled.
1998-12-16 04:02:56 +00:00
peter
fe0264475a Make this work with the perl5 in the source tree - the API has "evolved"
and some code glitches had to be fixed.
1998-12-16 04:00:25 +00:00
msmith
fca47ff171 Disable build/install of boot.help until we sort out how to construct it
in the makeworld environment.
1998-12-16 02:27:15 +00:00