Commit Graph

26521 Commits

Author SHA1 Message Date
Brian Somers
e2e26133df dlopen(..., RTLD_NOW) rather than RTLD_LAZY.
Pointed out by: John Polstra <jdp@polstra.com>
1998-01-19 22:59:57 +00:00
Brian Somers
677f680c33 sys/types.h -> sys/param.h
Pointed out by: Niklas Hallqvist <niklas@petra.appli.se>
1998-01-19 22:34:20 +00:00
Bruce Evans
bd4f43ff72 mount(8) only uses realpath() for the mountpoint, so don't look up the
real path here for the mount device (or path).  This fixes difficulties
unmounting devices that are actually symlinks to real devices.

Also, print the original path instead of the real path in early error
messages.  nfs path handling and later error messages may still be wrong,
probably only in silly cases where the original path is both a symlink
and a remote path.

PR:		5208
1998-01-19 18:48:36 +00:00
Tor Egge
281c79d603 Nondestructive attempts to get simple locks when SL_DEBUG is defined. 1998-01-19 17:33:08 +00:00
Bill Paul
813907f9ec Invoke rpcgen with -C so that headers are created with ANSI prototypes.
Note: this may cause some problems in a few cases. With very old versions
of rpcgen, if you defined a procedure called foo, then rpcen would create
client stubs for function foo_1() and server stubs _also_ with function
foo_1(). This only worked because of the lack of ANSI prototypes: the
client side stub takes different arguments than the server side stub.
(The client side takes a CLIENT * handle, while the server side wants
an svc_req *.)

To fix this conflict, rpcgen in ANSI mode generates foo_1() for the client
and foo_1_svc() for the server. RPC server code that depends on the old
behavior might break because of this. (Fixing it is just a matter of
adding the _svc suffix onto the server procedure names.)
1998-01-19 17:19:09 +00:00
Bruce Evans
90e05a748a Don't create superblocks with size larger than SBSIZE (8192). The
size was rounded up to a multiple of the fragment size, but this
gave invalid file systems when the fragment size was > SBSIZE (fsck
aborts early on them).  Now a fragment size of 32768 seems to work
(too-simple tests with fsck and iozone worked).
1998-01-19 16:55:26 +00:00
Bruce Evans
cc52d04f9f Guard against a block size of 0 in the label. When the first
superblock is invalid, fsck looks at the label to help guess where
the next superblock should be.  If the partition type is 4.2BSD,
fsck assumed that the block size was valid and divided by it, so
it dumped core if the size was 0.

Initialization of the label was broken almost 3 years ago in rev.1.9
of newfs/newfs.c.  Newfs does not change the label at all, so there
is no problem (except the breakage of the automatic search for
backup superblocks) unless something else sets the partition type
to 4.2BSD.  However, it is too easy to set partition types to
4.2.BSD by copying an old label or by using a disktab entry to
create the label.

PR:	2537
1998-01-19 16:28:29 +00:00
Jordan K. Hubbard
7a0b248e9c Add a missing \ the previous committer omitted from the crunch target. 1998-01-19 16:10:51 +00:00
Bruce Evans
9bb4a86cf0 Fixed accesses to addresses between VM_MAXUSER_ADDRESS (normally
0xefbfe000) and kernel_start (normally 0xf0100000).

Things are unnecessarily (?) difficult because procfs is used to
access user addresses in the live-kernel case although we must have
access to /dev/mem to work at all, and whatever works for the
dead-kernel case should work in all cases (modulo volatility of
live kernel variables).  We used the wrong range [0, kernel_start)
for user addresses.  Procfs should only work up to VM_MAXUSER_ADDRESS,
but it bogusly works for reads up to the address 2 pages higher
(the user area, including the kernel stack, is mapped to where the
user area used to be (WTUAUTB)).  Procfs can not work at all for
addresses between WTUAUTB and kernel_start.

Now we use procfs only to access addresses up to VM_MAXUSER_ADDRESS.
Higher addresses are translated normally using kvtophys(), so the
user ptd is used for addresses below the real kernel start (0xf0000000;
see INKERNEL()) and nothing is found WTUAUTB.

Strange accesses that cross the user-kernel boundary are now handled,
but such ranges are currently always errors because they necessarily
overlap the hole WTUAUTB.

Short reads are still not handled.
1998-01-19 15:27:56 +00:00
Bruce Evans
04822660a1 Removed `kstack' and associated mistranslations in kvtophys().
Correct translations would have been null.  However, kstack was
the top of the kernel stack instead of the base of the kernel stack
like it was when the kernel exported it, so the area above the
kernel stack was mistranslated and the kernel stack was not
translated.  This bug was depended on to compensate for the wrong
value of kstack - to read the pcb, instead of just using the address
of the pcb, we used the mistranslated address of kstack, which
happened to be the same (curpcb = kstack - 0x2000).

This area is simpler than it used to be now that the kernel stack
address is per-process.  The code still seems to be more complicated
than necessary - the `found_pcb == 0' case seems to be unused.
1998-01-19 14:27:41 +00:00
Bruce Evans
ffbb164e19 Set p_retval for the correct process in getpriority(). This fixes
a null pointer panic when the pointer for the incorrect process is
NULL.  getpriority() was broken in rev.1.27.  Rev.1.28 broke the
warning instead of fixing the problem.

PR:	5495
1998-01-19 12:39:00 +00:00
Tor Egge
95f67de2e3 The removal of a page from the free queue in vm_page_zero_idle was
imcomplete. Also set m->queue, in order to prevent vm_page_select_free
from selecting the page being zeroed.
1998-01-19 04:16:16 +00:00
Brian Somers
c6fe0cb207 Reimplement proxy-arp address stuff using sysctl(). 1998-01-19 02:59:34 +00:00
Wolfram Schneider
74f3544ed2 Add an example for busy mail servers, commented out. 1998-01-18 22:28:06 +00:00
Brian Somers
d1a3ea477c Allow "set vj" for changing the default number of slots
and whether slot compression is requested.
Don't show current values with "show ipcp" if IPCP isn't
"opened".
1998-01-18 20:49:22 +00:00
Tor Egge
75d515b755 Don't throw away bootp reply packets that are shorter than our extended-length
bootp query packet.
PR:		5512
1998-01-18 18:53:46 +00:00
Tor Egge
3bc42d575a Increase the minimum bootp reply packet size from 16 (bogus) to 300 (correct). 1998-01-18 18:46:20 +00:00
KATO Takenori
647e869094 Sync with sys/i386/isa/wd.c revision 1.147. 1998-01-18 15:10:03 +00:00
KATO Takenori
43a0695fdf Sync with sys/i386/conf/files.i386 revision 1.186. 1998-01-18 15:09:34 +00:00
KATO Takenori
34bb5953e4 Sync with sys/i386/conf/files.i386 revision 1.12. 1998-01-18 15:09:05 +00:00
KATO Takenori
3c4f86eec1 Sync with sys/i386/conf/majors.i386 revision 1.24. 1998-01-18 15:08:34 +00:00
Bruce Evans
8c2c0a1d2f Fixed endless loop for `p/x *(int *)0xf0000000'. kvm_uread() in
gdb was cloned from the buggy version of kvm_uread() in libkvm and
had the same bugs.  It looped endlessly on EOF and checked errno
without setting it in the lseek() error check.  The first bug caused
gdb to loop endlessly for reads from addresses between the end of
the user area and the start of the kernel text.  kvm_uread() should
not be used for addresses beyond the end of the user area, but is
due to bugs elsewhere.
1998-01-18 13:18:55 +00:00
Bruce Evans
941b2747b6 Don't override FRAME_CHAIN(). If the current frame is valid, then
the previous frame is in the usual place even for traps, interrupts
and syscalls in the kernel, because the assembly language stubs
don't change the frame pointer.  The previous frame is just not for
the calling function.  We may as well depend on this as on magic to
determine the trap frame address.  The magic is in FRAME_SAVED_PC()
which elides the correct number of stubs (1) to go back to a pc that
matches the previous frame.

Removing fbsd_kern_frame_chain() fixes bugs in it.  Xsyscall was
misspelled as _Xsyscall (gdb removes one leading underscore), so
the tf_syscall frame type was never found.  This was harmless
because tf_normal works in all cases in fbsd_kern_frame_chain()
and Xsyscall is spelled correctly in fbsd_kern_frame_saved_pc()
where it matters.  There were style bugs on almost every line,
starting with a primary indent of 7.
1998-01-18 12:35:48 +00:00
Andrey A. Chernov
41051eb9e7 Do not run by default. Can grow your root mailbox up to 2Mb per day
since SPAMmers like to retry often
1998-01-18 12:06:40 +00:00
Bruce Evans
82f143c642 Fixed sloppy definitions of SIGTRAMP_START and SIGTRAMP_END. The old
range was a little too large.
1998-01-18 11:51:48 +00:00
KATO Takenori
471f80601f Workarround for locking violation while recycling vnode which union fs
used in freelist.
1998-01-18 08:17:48 +00:00
KATO Takenori
afc2a5581f Improve and revise fixes for locking violation.
Obtained from:	NetBSD/pc98
1998-01-18 07:56:41 +00:00
Bruce Evans
d76f78c43c Pass the system name to dmesg. Rev.1.7 only works when the symbols in
/kernel aren't too different form those in the kernel being debugged.
1998-01-17 17:07:53 +00:00
Bruce Evans
18e5aee8c1 VVMIO -> VOBJBUF as in pstat.c. 1998-01-17 16:58:55 +00:00
Bruce Evans
b49d184b20 Started getting rid of the compatibility cruft for the Lite1 mount()
and the pre-Lite2 vfsconf interfaces.

For quot, just back out revs. 1.1 and 1.2 and change MNT_FFS to
"ufs", so that vfsconf isn't used at all.  Revs. 1.1 and 1.2 were
hacks to get around f_fstypename not being in `struct statfs' in
Lite1.
1998-01-17 16:45:03 +00:00
Bruce Evans
1e69872de7 Started getting rid of the compatibility cruft for the Lite1 mount()
and the pre-Lite2 vfsconf interfaces.

For getvfsent.c, just define _OLD_VFSCONF.  This will give the
current default macro hacks in <sys/mount.h> when the default is
reversed.  This is an intermediate step.
1998-01-17 16:32:14 +00:00
Bruce Evans
10abc80013 Started getting rid of the compatibility cruft for the Lite1 mount()
and the pre-Lite2 vfsconf interfaces.

For lsvfs, use the new interface for getvfsbyname(), and use the
old interface for getvfsent() explicitly instead of depending on
macro hacks in <sys/mount.h>.  This is an intermediate step.
1998-01-17 16:24:27 +00:00
Bruce Evans
ccb8bfa988 Don't install the tcl implementation headers. The tcl distribution
makefile doesn't install them, and they couldn't be used without
lots of undocumented -I's in CFLAGS.  tcl.h is still installed in
/usr/include/tcl/.  Note that rev.1.24 of tcl_bmake/mkMakefile.sh
broke all the section 3 tcl man pages by putting it there instead
of in /usr/include.
1998-01-17 15:52:32 +00:00
Bruce Evans
7eb44007dd Updated shlib version to 80.4 in the correct place.
Regenerated libtcl/Makefile.  This adds -DHAVE_ST_BLKSIZE=1 to CFLAGS.
It was broken by direct editing in rev.1.25.
1998-01-17 15:49:55 +00:00
Brian Somers
ced716c30f Remove the necessity of -ldes and -lalias etc from release/Makefile.
When building a release, RELEASE_CRUNCH is defined for a `make' of
the objects required by the crunch of each program.  The object list
is still obtained in the same way, so you must make sure that all
objects are built (empty if necessary) by this make.  ppp/Makefile
provides an example.

Reviewed by: jkh
1998-01-17 14:21:21 +00:00
Bruce Evans
bf770561ee Fixed syntax error in normally-unconfigured code in previous commit. 1998-01-17 13:39:29 +00:00
Jordan K. Hubbard
73dfa4e8d6 MF22: fix to install script handling. 1998-01-17 12:26:19 +00:00
John Dyson
4722175765 Tie up some loose ends in vnode/object management. Remove an unneeded
config option in pmap.  Fix a problem with faulting in pages.  Clean-up
some loose ends in swap pager memory management.

The system should be much more stable, but all subtile bugs aren't fixed yet.
1998-01-17 09:17:02 +00:00
Paul Traina
d806a7ad47 I wrote a poor, but better-than-nothing manual page for the wfd subdriver.
Obtained from:	 od.4
1998-01-17 05:15:01 +00:00
Paul Traina
61584b4680 Fix misleading comment about major # 1998-01-16 22:43:33 +00:00
Paul Traina
aaf862068b Bring in IDE ATAPI floppy support.
This is Junichi's v1.0 driver.

NOTE: Major device numbers have been changed to avoid conflict with other
      FreeBSD 3.0 devices.  The new numbers should be considered "official."
      This driver is still considered "beta" quality, although we have been
      playing with it.  Please submit bugs to junichi and myself.

Submitted by:	junichi@astec.co.jp
1998-01-16 22:13:07 +00:00
Bruce Evans
a17bbc0dda Removed obsolete man pages. 1998-01-16 18:56:34 +00:00
Bruce Evans
9d44ece512 Removed references to the man pages for the obsolete interfaces
VOP_BLKATOFF, VOP_SEEK, VOP_SELECT, VOP_TRUNCATE, VOP_UPDATE,
VOP_VALLOC and VOP_VFREE.
1998-01-16 18:49:42 +00:00
Bruce Evans
06dcc5a953 Fixed synopsis again. Too much was blown away by splatting a NetBSD-
based version over the top of the FreeBSD version in rev.1.6.
1998-01-16 18:45:52 +00:00
Bruce Evans
f867ffd315 Fixed bitrot. The type of the "level" is intrmask_t, not int. 1998-01-16 18:14:34 +00:00
Bruce Evans
e6a658d84f Fixed prototype for tsleep() (const poisoning). 1998-01-16 18:12:57 +00:00
Bruce Evans
b1d3fc49a9 Fixed a missing #include in the synopsis. 1998-01-16 18:06:23 +00:00
Bruce Evans
33b77e2dec Include <machine/pc/display.h>, not <i386/include/pc/display.h>. This is
not quite correct, because the Makefiles in lkm/syscons don't set up the
`machine' symlink, but other, more volatile headers in <machine> are
already used.
1998-01-16 17:58:55 +00:00
Bruce Evans
cc03533c8d Removed most unused includes of <net/if_var.h> outside the kernel. 1998-01-16 17:38:56 +00:00
Bruce Evans
060cc64852 Fixed bitrot in the prototype for logwtmp(). 1998-01-16 16:53:30 +00:00