1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-21 11:13:30 +00:00
Commit Graph

43551 Commits

Author SHA1 Message Date
Tor Egge
f52523701c Fix two problems with pipe_write():
1. Data written beyond end of pipe buffer, causing kernel memory corruption.

    - Check that space is still valid after obtaining the pipe lock.

    - Defer the calculation of transfer size until the pipe
      lock has been obtained.

    - Update the pipe buffer pointers while holding the pipe lock.

 2. Writes of size <= PIPE_BUF not always atomic.

    - Allow an internal write to span two contiguous segments,
      so writes of size <= PIPE_BUF can be kept atomic
      when wrapping around from the end to the start of the
      pipe buffer.

PR:		15235
Reviewed by:	Matt Dillon <dillon@FreeBSD.org>
1999-12-13 02:55:47 +00:00
Alfred Perlstein
1e12157c61 explain that ioflags can be used to give read-ahead hints to the underlying
filesystem.
1999-12-13 02:28:53 +00:00
Jordan K. Hubbard
c0230c1b3d The current code incorrectly assumes that all vlans
are configured, and/or associated with a parent device.  If you
receive a frame for a VLAN that's not in the list, you walk off
the end of the list.  Boom.

Submitted by:	C. Stephen Gunn <csg@waterspout.com>
PR:		15291
1999-12-13 01:57:00 +00:00
Jordan K. Hubbard
ae290324a4 sys/net/if_vlan.c fails to maintain the IFF_RUNNING flag on the
vlan interfaces it manages.  This prevents the interface from
actually sending or receiving data.

Submitted by:	C. Stephen Gunn <csg@waterspout.com>
PR:		15290
1999-12-13 01:38:14 +00:00
Daniel C. Sobral
07b5ccc39d Keep fortunes short, so motd won't scroll outside the screen. 1999-12-13 01:05:15 +00:00
Daniel C. Sobral
bbb0c07eeb Exercise sufficient editorial license and further shorten motd.
Stolen from: jkh
1999-12-13 00:58:53 +00:00
Yoshinobu Inoue
79ea3cf110 Always set INP_IPV4 flag for IPv4 pcb entries, because netstat needs it
to print out protocol specific pcb info.

A patch submitted by guido@gvr.org, and asmodai@wxs.nl also reported
the problem.
Thanks and sorry for your troubles.

Submitted by: guido@gvr.org
Reviewed by: shin
1999-12-13 00:39:20 +00:00
Marcel Moolenaar
4ac29d1e8a Add colldef to the list of tools. It's needed on older systems. 1999-12-12 22:24:08 +00:00
Peter Wemm
00943c9151 Argh, fix a stupid typo. :-( 1999-12-12 21:36:19 +00:00
Marcel Moolenaar
0dd0e829e5 o Add gensetdefs to the list of tools.
o  Don't set CFLAGS in the bootstrap env. It is very likely to be
   overridden my any CFLAGS setting in /etc/make.conf. Setting it
   here is almost useless. So far, it doesn't seem necessary.
1999-12-12 21:24:07 +00:00
Peter Wemm
de8708acc2 Move mlx, ncp and nwfs to the common area, they build on the Alpha and
are marked cross-platform in conf/files..
1999-12-12 21:17:08 +00:00
Marcel Moolenaar
3666ebdc3d Allow it to be compiled as cross-tool. 1999-12-12 21:16:46 +00:00
Peter Wemm
983b11b5c3 Zap unused CFLAGS += -DNCP 1999-12-12 21:15:51 +00:00
Peter Wemm
fc6e400716 Fix pointer problem for the Alpha 1999-12-12 21:10:53 +00:00
Jordan K. Hubbard
80da3ae170 Note that Tekram controllers are supported again.
PR:		15090
Reported by:	Ilmar S. Habibulin <ilmar@ints.ru>
1999-12-12 21:06:44 +00:00
Peter Wemm
7a377dc1b6 Move mlx from x86-only to generic. It builds on the Alpha and is in the
common conf/files for the main kernel..
1999-12-12 21:00:42 +00:00
Peter Wemm
72c10febd0 time_t is an int on the Alpha, not long. 1999-12-12 20:59:29 +00:00
Peter Wemm
7c229969ba Move amr from x86-specific to generic. (it's in the generic conf/files
in the main kernel and builds fine on the alpha here...)
1999-12-12 20:55:49 +00:00
Peter Wemm
89aaf624ea Don't waste time creating amr.h since it (and NAMR) aren't used. 1999-12-12 20:54:53 +00:00
Peter Wemm
87280b0a70 Fix a printf format problem on the Alpha, where size_t == unsigned long,
not unsigned int as on the x86.
1999-12-12 20:53:31 +00:00
Peter Wemm
484fa03fbf Fix joy and put it back in the MI section. (yes, it works on Alpha) 1999-12-12 20:42:58 +00:00
Peter Wemm
d00177ef7e Make this kld'able (#include "joy.h" no longer required as there are no
references to NJOY any more after newbusification)
1999-12-12 20:39:35 +00:00
Peter Wemm
b4c7ee1c09 Change "atapi" (the old one) from "present but broken" to "not present". 1999-12-12 20:35:47 +00:00
Peter Wemm
b41da0980c Remove a whole bunch of "CFLAGS+= -DFSNAME" cruft. It hasn't been
needed for ages, but keeps getting cut/pasted into new Makefiles.
(Once apon a time it was used to activate mount arguments in
 <sys/mount.h>, but that was killed with extreme prejudice long ago)
1999-12-12 20:34:11 +00:00
Chris Piazza
40921d4855 sd->da, wd->ad 1999-12-12 19:12:45 +00:00
Poul-Henning Kamp
b9fcd4a616 Look for disk devices rather than bdevs.
Approved by:	grog
1999-12-12 17:43:12 +00:00
Peter Wemm
a5aa0913bd Bring these more into line with other modules that have .h files generated
on the fly.
1999-12-12 16:47:33 +00:00
Peter Wemm
9029b6442a Use the -c and -h args of vnode_if.sh to generate only the .h file that
we use.  The .c half is statically compiled into the kernel.  It's kinda
silly to generate a .h file on the fly that has inlines to call the
.c stuff when the .c code is fixed.

Also, zap the special treatment for VFS_KLD modules.  This treatment
applies to lots of things, not just VFS's.
1999-12-12 16:45:58 +00:00
Matthew Dillon
c7ba5d0b3e Make the cvs-supfile cover the entire repository - add the doc hierarchy.
Approved by: jkh
1999-12-12 16:44:26 +00:00
Peter Wemm
6f77b2defc Use a seperate -c and -h mode. The vnode_if.c file is compiled only into
the kernel while the vnode_if.h header is a bunch of inlines to call the
code that is in the kernel. Generating the .h file on the fly is kinda
bogus because it has to match the one compiled into the kernel.

IMHO we should have kern/vnode_if.c and sys/vnode_if.h committed in the
tree but that's another battle.
1999-12-12 16:43:05 +00:00
Peter Wemm
cfdd238335 Put on asbestos suit and put a splcam() around the 'Mounting root from..'
message to stop it splitting.  Every single scsi machine I've seen seems
to reliably collide with this and it's rather annoying.
1999-12-12 16:34:43 +00:00
Peter Wemm
016fc47da3 The sysctl mod_xx hack is no longer required now that we have totally
dynamic sysctl registration.
1999-12-12 16:30:34 +00:00
Peter Wemm
acf5b0bacb Remove some horrible #if 0'd code that has no hope of working now. It
used to edit the old-style isa_devtab config tables to insert a mapping
for a pci device into the isa tables so that the wdc driver could probe
it later.  This has been #if 0'd since April.
1999-12-12 14:47:23 +00:00
Peter Wemm
bfc8775abb Turn on warnings for the wd* driver with a loud pointer to ata*. This
doesn't break builds, but is difficult to miss..
1999-12-12 14:31:40 +00:00
Mark Newton
268b6cb68e Replace the svr4_sys_getdents64() routine with a port of linux_getdents() --
differences between the VFS interface between FreeBSD and NetBSD make
it easier to pick up the Linux one than to continue development with the
NetBSD port.

This patch fixes a bug which caused duplicate filenames to be seen by
callers to svr4_sys_getdents64(), leading to malformed directory listings
from Solaris client programs.

Obtained from:	The Linuxulator, with a pointer from marcel
1999-12-12 11:25:33 +00:00
Mark Newton
84fbe5a0ba Avoid excessive redundancy in svr4_sys_getmsg() and svr4_sys_putmsg():
Only look up the provided descriptor in fd_ofiles[] once.

Submitted by:	Ville-Pertti Keinone <will@iki.fi>
1999-12-12 10:28:30 +00:00
Mark Newton
ce12799bad fd_revoke() shouldn't panic if the descriptor provided is not a file or
socket.  Return EINVAL instead.

Submitted by:	Ville-Pertti Keinone <will@iki.fi>
1999-12-12 10:27:04 +00:00
Matthew Dillon
c137e096c2 Add blurb on massive improvements to NFS
Reviewed by:	jkh
1999-12-12 09:53:11 +00:00
Peter Wemm
e44b832ddd Add a 'warning' option for the files* files. This is intended to enable
giving a dire warning about certain drivers going away in the future.
1999-12-12 09:38:48 +00:00
Bill Fumerola
ee63d901b3 -Wall fixes. 1999-12-12 07:25:14 +00:00
Matthew Dillon
5f3bfd608d Fix a number of server-side issues related to aborting badly formed
NFS packets, mainly initializing structure pointers to NULL which
    are conditionally freed prior to return.

PR:		kern/15249
Submitted by:	Ian Dowse <iedowse@maths.tcd.ie>
1999-12-12 07:06:39 +00:00
Bill Fumerola
76df653e3d -Wall fixes. 1999-12-12 06:40:28 +00:00
Bill Fumerola
c9914211a1 -Wall fixes. 1999-12-12 06:30:46 +00:00
Bill Fumerola
6636c9afd0 -Wall fixes. 1999-12-12 06:17:25 +00:00
Matthew Dillon
ea94c7b968 Synopsis of problem being fixed: Dan Nelson originally reported that
blocks of zeros could wind up in a file written to over NFS by a client.
    The problem only occurs a few times per several gigabytes of data.   This
    problem turned out to be bug #3 below.

    bug #1:

        B_CLUSTEROK must be cleared when an NFS buffer is reverted from
        stage 2 (ready for commit rpc) to stage 1 (ready for write).
        Reversions can occur when a dirty NFS buffer is redirtied with new
        data.

        Otherwise the VFS/BIO system may end up thinking that a stage 1
        NFS buffer is clusterable.  Stage 1 NFS buffers are not clusterable.

    bug #2:

        B_CLUSTEROK was inappropriately set for a 'short' NFS buffer (short
        buffers only occur near the EOF of the file).  Change to only set
        when the buffer is a full biosize (usually 8K).  This bug has no
        effect but should be fixed in -current anyway.  It need not be
        backported.

    bug #3:

        B_NEEDCOMMIT was inappropriately set in nfs_flush() (which is
	typically only called by the update daemon).  nfs_flush()
        does a multi-pass loop but due to the lack of vnode locking it
        is possible for new buffers to be added to the dirtyblkhd list
        while a flush operation is going on.  This may result in nfs_flush()
        setting B_NEEDCOMMIT on a buffer which has *NOT* yet gone through its
        stage 1 write, causing only the commit rpc to be made and thus
        causing the contents of the buffer to be thrown away (never sent to
        the server).

    The patch also contains some cleanup, which only applies to the commit
    into -current.

Reviewed by:	dg, julian
Originally Reported by: Dan Nelson <dnelson@emsphone.com>
1999-12-12 06:09:57 +00:00
Boris Popov
6f6da2f326 Bump local version number to 1.3.4. 1999-12-12 05:53:02 +00:00
Brian Feldman
f48b807fc0 This is Bosko Milekic's mbuf allocation waiting code. Basically, this
means that running out of mbuf space isn't a panic anymore, and code
which runs out of network memory will sleep to wait for it.

Submitted by:	Bosko Milekic <bmilekic@dsuper.net>
Reviewed by:	green, wollman
1999-12-12 05:52:51 +00:00
Boris Popov
a58f6db677 Update to version 1.3.4 of ncplib. Cleanup header files. 1999-12-12 05:50:07 +00:00
Jordan K. Hubbard
404f4d4100 I shouldn't have incremented PART_OFF; it was wrong and broke label
display to boot.  Also fix some various warning fluff while I'm in
here cleaning up.
1999-12-12 04:58:02 +00:00
Justin T. Gibbs
e0b0c6aad5 When booting verbose, indicate if we are using manual termination
settings for U2 cards.

Don't assume that all aic7859 cards are 2930CUs.
1999-12-12 04:54:14 +00:00