Commit Graph

54236 Commits

Author SHA1 Message Date
kris
993abb53dc Format string error in warn() 2000-11-19 13:29:43 +00:00
kris
2ab60731dd Use mktemp -t to respect TMPDIR
Clean up temporary file at runtime
2000-11-19 13:10:11 +00:00
kris
101b67297f Correct typo 2000-11-19 13:09:36 +00:00
kris
33514b48b8 Format string paranoia 2000-11-19 12:46:16 +00:00
dfr
da6f7f0f11 Convert various calls to splhigh() to disable_intr() since splhigh() is
now a no-op.
2000-11-19 12:28:42 +00:00
dfr
5a46c864c6 We don't need <stddef.h> for offsetof() any more. 2000-11-19 12:26:14 +00:00
kris
dae3fc672d Unlink the temporary file immediately so it is removed on exit.
Obtained from:	OpenBSD
2000-11-19 12:04:12 +00:00
kris
21ab1b113e MAXPATHNAMELEN -> MAXPATHLEN
Submitted by:	ianm@kashmir.cit.nepean.uws.edu.au via OpenBSD
Obtained from:	OpenBSD
2000-11-19 11:29:58 +00:00
kris
df871b4bd5 L_SET -> SEEK_SET
Obtained from:	OpenBSD
2000-11-19 10:56:14 +00:00
kris
41e14b7cc1 Format string paranoia
Obtained from:	OpenBSD
2000-11-19 10:52:10 +00:00
kris
4d2f72a2d5 Don't suggest people use getpid() to construct temporary filenames;
point them to mkstemp() instead.

Obtained from:	OpenBSD (based on)
2000-11-19 10:30:42 +00:00
kris
22625cdfe7 Update the documentation to describe the new mktemp() family behaviour.
Also notes that mkstemp() first appeared in 4.4BSD (change obtained
from OpenBSD)

Reviewed by:	sheldonh
2000-11-19 10:21:32 +00:00
kris
1a1517afe4 Fix a buffer overflow from a long local hostname.
Obtained from:	OpenBSD
2000-11-19 10:08:26 +00:00
kris
b9600b6040 Don't use sizeof() on a pointer when we really wanted to measure
the length of the array.

Noticed by:	Christos Zoulas <christos@ZOULAS.COM>
Obtained from:	OpenBSD
2000-11-19 10:01:27 +00:00
jake
f265931038 - Protect the callout wheel with a separate spin mutex, callout_lock.
- Use the mutex in hardclock to ensure no races between it and
  softclock.
- Make softclock be INTR_MPSAFE and provide a flag,
  CALLOUT_MPSAFE, which specifies that a callout handler does not
  need giant.  There is still no way to set this flag when
  regstering a callout.

Reviewed by:	-smp@, jlemon
2000-11-19 06:02:32 +00:00
jwd
9c6b4db333 Check return code from login_tty. Allow getty to try and become
a daemon and session leader (thus allowing getty to be run from
a shell command line or script).

Partially Reviewed by:	bde
2000-11-19 02:10:25 +00:00
jwd
efaee5cdfc Add/fix the ability to split a file larger than 2 gigabytes.
Added $FreeBSD tag (in the way the already present sccsid is
done). I've been told the rcsid stuff may be of dubious value
so I'm curious to know if folks (still) use it.

Submitted by:	Brad Chisholm <blc@bsdwins.com>
2000-11-19 01:44:20 +00:00
dillon
2ace352085 Implement a low-memory deadlock solution.
Removed most of the hacks that were trying to deal with low-memory
    situations prior to now.

    The new code is based on the concept that I/O must be able to function in
    a low memory situation.  All major modules related to I/O (except
    networking) have been adjusted to allow allocation out of the system
    reserve memory pool.  These modules now detect a low memory situation but
    rather then block they instead continue to operate, then return resources
    to the memory pool instead of cache them or leave them wired.

    Code has been added to stall in a low-memory situation prior to a vnode
    being locked.

    Thus situations where a process blocks in a low-memory condition while
    holding a locked vnode have been reduced to near nothing.  Not only will
    I/O continue to operate, but many prior deadlock conditions simply no
    longer exist.

Implement a number of VFS/BIO fixes

	(found by Ian): in biodone(), bogus-page replacement code, the loop
        was not properly incrementing loop variables prior to a continue
        statement.  We do not believe this code can be hit anyway but we
        aren't taking any chances.  We'll turn the whole section into a
        panic (as it already is in brelse()) after the release is rolled.

	In biodone(), the foff calculation was incorrectly
        clamped to the iosize, causing the wrong foff to be calculated
        for pages in the case of an I/O error or biodone() called without
        initiating I/O.  The problem always caused a panic before.  Now it
        doesn't.  The problem is mainly an issue with NFS.

	Fixed casts for ~PAGE_MASK.  This code worked properly before only
        because the calculations use signed arithmatic.  Better to properly
        extend PAGE_MASK first before inverting it for the 64 bit masking
        op.

	In brelse(), the bogus_page fixup code was improperly throwing
        away the original contents of 'm' when it did the j-loop to
        fix the bogus pages.  The result was that it would potentially
        invalidate parts of the *WRONG* page(!), leading to corruption.

	There may still be cases where a background bitmap write is
        being duplicated, causing potential corruption.  We have identified
        a potentially serious bug related to this but the fix is still TBD.
        So instead this patch contains a KASSERT to detect the problem
  	and panic the machine rather then continue to corrupt the filesystem.
	The problem does not occur very often..  it is very hard to
	reproduce, and it may or may not be the cause of the corruption
	people have reported.

Review by: (VFS/BIO: mckusick, Ian Dowse <iedowse@maths.tcd.ie>)
Testing by: (VM/Deadlock) Paul Saab <ps@yahoo-inc.com>
2000-11-18 23:06:26 +00:00
dillon
59e131028f Add the splvm()'s suggested in PR 20609 to protect vm_pager_page_unswapped().
The remainder of the PR is still open.

PR: kern/20609 (partial fix)
2000-11-18 21:11:23 +00:00
dillon
15a44d16ca This patchset fixes a large number of file descriptor race conditions.
Pre-rfork code assumed inherent locking of a process's file descriptor
    array.  However, with the advent of rfork() the file descriptor table
    could be shared between processes.  This patch closes over a dozen
    serious race conditions related to one thread manipulating the table
    (e.g. closing or dup()ing a descriptor) while another is blocked in
    an open(), close(), fcntl(), read(), write(), etc...

PR: kern/11629
Discussed with: Alexander Viro <viro@math.psu.edu>
2000-11-18 21:01:04 +00:00
ben
fd59970ee1 Fix typo.
PR:		22923
Submitted by:	Jimmy Olgeni <olgeni@uli.it>
2000-11-18 20:19:26 +00:00
ben
0927c1e22a Fix typos.
PR:		22922
Submitted by:	Jimmy Olgeni <olgeni@uli.it>
2000-11-18 20:18:34 +00:00
ben
7b2462e425 Fix another typo.
PR:		22924
Submitted by:	Jimmy Olgeni <olgeni@uli.it>
2000-11-18 20:16:47 +00:00
ru
2a8ac69f53 While in the SYNOPSIS section, Nm macro always required an
argument to setup indentation for the rest of the synopsis
line and to automatically emit a line break for a non-first
synopsis line.  It does not require it anymore.

The following now works as expected:

.Sh NAME
.Nm utility
.Sh SYNOPSIS
.Nm
.Cm start
.Nm
.Cm stop
2000-11-18 17:34:55 +00:00
ru
c9e9d26430 mdoc(7) police: fix errors uncovered by the new feature of the Nm macro. 2000-11-18 15:50:46 +00:00
dwmalone
51c8220761 Further use of M_ZERO.
Submitted by:	josh@zipperup.org
Submitted by:	Robert Drehmel <robd@gmx.net>
Approved by:	msmith
2000-11-18 15:21:22 +00:00
dwmalone
918549eb31 Add the use of M_ZERO to netgraph.
Submitted by:	josh@zipperup.org
Submitted by:	Robert Drehmel <robd@gmx.net>
Submitted by:	archie
Approved by:	archie
2000-11-18 15:17:43 +00:00
ru
f96d89a937 mdoc(7) police: now that Nm macro accepts punctuation characters
as argument, unbreak this page by escaping the `[' character.

Noticed by:	sheldonh
2000-11-18 14:44:30 +00:00
sos
dd1e6b9d4b Fix a braino .. 2000-11-18 12:14:35 +00:00
cg
b7783e49d5 do not blindly assume 8khz is supported on open(). try for 8khz but respect
minspeed/maxspeed specified by the hw driver.

Submitted by:	Andrew Gordon <arg@arg1.demon.co.uk>
2000-11-18 03:43:04 +00:00
obrien
463fa1112a Make the order of values prompted for with the "-i" option match print_part() 2000-11-18 02:55:43 +00:00
bp
d1e0950f7e Use vop_defaultop() instead of ntfs_bypass().
PR:		kern/22756
2000-11-18 02:47:12 +00:00
jhb
abf0152035 Release sched_lock very briefly to give interrupts a chance to fire if we
are in softclock() for a long time.  The old code already did an
splx()/slphigh() pair here, I just missed adding in the equivalent mutex
operations on sched_lock earlier.
2000-11-18 00:21:00 +00:00
tegge
b45236a982 Don't attempt to cluster write buffers where the VMIO flag isn't set. 2000-11-17 23:40:08 +00:00
des
2c31bf9c12 Make sure we don't cross stripe boundaries when reviving striped plexes.
This makes crash recovery work for stripe sizes that are not multiples of
DEFAULT_REVIVE_BLOCKSIZE (currently 64 kB).
While we're here, fix a few cosmetic nits.

Reviewed by:	grog
Sponsored by:	Enitel ASA (http://www.enitel.no/)
2000-11-17 23:40:01 +00:00
mph
3c3947a8d5 "minute(s) period(s)" --> "minute(s)" 2000-11-17 23:08:03 +00:00
obrien
eb7769fac6 Fix the `make -jX' (X>1) breakage.
Based on patch submitted by:	Makoto MATSUSHITA <matusita@jp.freebsd.org>
Reviewed by:	marcel, bde
2000-11-17 21:25:15 +00:00
jake
3a97b3e213 - Split the run queue and sleep queue linkage, so that a process
may block on a mutex while on the sleep queue without corrupting
it.
- Move dropping of Giant to after the acquire of sched_lock.

Tested by:	John Hay <jhay@icomtek.csir.co.za>
		jhb
2000-11-17 18:09:18 +00:00
bmah
4392ed2ce5 Reference security advisories FreeBSD-SA-00:{68,69,70}. 2000-11-17 17:48:40 +00:00
jhb
158d498abd - Change extra sanity checks in cpu_switch() to be conditional on INVARIANTS
instead of DIAGNOSTIC.
- Remove the p_wchan check as it no longer applies since a process may be
  switched out during CURSIG() within msleep() or mawait().
- Remove an extra sanity check only needed during the early SMPng work.
2000-11-17 17:37:43 +00:00
ru
7ffd84a159 mdoc(7) police: Nm is a must in the NAME section. 2000-11-17 17:11:26 +00:00
ru
5335f94e99 Return to the stock version of this file as local FreeBSD mods
to it have been made in mdoc(7) format, but now it is again in
man(7) format, and the vendor apparently incorporated our mods.
2000-11-17 16:30:34 +00:00
ru
9e61ada2ff mdoc(7) police: eliminate warnings. 2000-11-17 15:40:57 +00:00
ru
da58922cd5 Fixed Nm macro so that it accepts punctuation characters as argument.
For example, neither of the following worked before:

     .Nm ,       name,
     .Nm .       name.
     .Nm :       name:
     .Dq Nm      ``name''
     .Op Nm .    [name].
2000-11-17 15:30:41 +00:00
ru
eb8c554f56 mdoc(7) police: use certified section headers wherever possible. 2000-11-17 11:44:16 +00:00
ben
dd1ebedcff Fix typos.
PR:		22901, 22902
Submitted by:	Jimmy Olgeni <olgeni@uli.it>
2000-11-17 09:16:29 +00:00
msmith
db197d8ac3 The default kernel filename is "kernel" again, not "kernel.ko".
Submitted by:	mckusick
2000-11-17 04:43:56 +00:00
msmith
213c63151c Add the 'gdt' and 'gdtd' devices for the ICP Vortex RAID controller family. 2000-11-17 01:36:34 +00:00
brian
2607c6601d Go back to populating data_len in struct ngpppoe_init_data. 2000-11-16 23:15:42 +00:00
brian
5d83d171df Go back to using data_len in struct ngpppoe_init_data after discussions
with Julian and Archie.

Implement a new ``sizedstring'' parse type for dealing with field pairs
consisting of a uint16_t followed by a data field of that size, and use
this to deal with the data_len and data fields.

Written by:		Archie with some input by me
Agreed in principle by:	julian
2000-11-16 23:14:53 +00:00