freebsd-skq/sys
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
..
alpha Argh, fix a stupid typo. :-( 1999-12-12 21:36:19 +00:00
amd64 Reclaim UPAGES_HOLE (8k) that was chopped out of process address space. 1999-12-11 10:54:06 +00:00
boot Remove BAD144 support, it has already been disabled for some time. 1999-12-08 09:33:00 +00:00
cam Quirk all Pioneer changers as changers up front, instead of waiting for the 1999-12-11 23:00:44 +00:00
coda Lock reporting and assertion changes. 1999-12-11 16:13:02 +00:00
compat Replace the svr4_sys_getdents64() routine with a port of linux_getdents() -- 1999-12-12 11:25:33 +00:00
compile
conf Argh, fix a stupid typo. :-( 1999-12-12 21:36:19 +00:00
contrib Lock reporting and assertion changes. 1999-12-11 16:13:02 +00:00
ddb Remove unused macro definition. 1999-11-02 22:40:15 +00:00
dev time_t is an int on the Alpha, not long. 1999-12-12 20:59:29 +00:00
fs Fix pointer problem for the Alpha 1999-12-12 21:10:53 +00:00
geom Revamp the devstat priority system. All disks now have the same priority. 1999-12-08 04:45:23 +00:00
gnu struct mountlist and struct mount.mnt_list have no business being 1999-11-20 10:00:46 +00:00
i4b Temporary adjustment to build after pnp changes. There is a new version 1999-12-07 12:06:31 +00:00
i386 Use a seperate -c and -h mode. The vnode_if.c file is compiled only into 1999-12-12 16:43:05 +00:00
isa Make this kld'able (#include "joy.h" no longer required as there are no 1999-12-12 20:39:35 +00:00
isofs/cd9660 Commit the kernel part of our DVD support. Nothing much to say really, 1999-12-07 22:25:28 +00:00
kern Fix two problems with pipe_write(): 1999-12-13 02:55:47 +00:00
libkern Zap c_index() and c_rindex(). Bruce prefers these to implicitly convert 1999-12-10 17:38:41 +00:00
miscfs Lock reporting and assertion changes. 1999-12-11 16:13:02 +00:00
modules Move mlx, ncp and nwfs to the common area, they build on the Alpha and 1999-12-12 21:17:08 +00:00
msdosfs struct mountlist and struct mount.mnt_list have no business being 1999-11-20 10:00:46 +00:00
net The current code incorrectly assumes that all vlans 1999-12-13 01:57:00 +00:00
netatalk Change suser_xxx() to suser() where it applies. 1999-04-27 12:21:16 +00:00
netatm Fix a warning (unused variable RCSid) 1999-11-18 08:18:13 +00:00
netgraph New netgraph node type 'pptpgre': this performs GRE encapsulation 1999-12-08 18:55:39 +00:00
netinet Always set INP_IPV4 flag for IPv4 pcb entries, because netstat needs it 1999-12-13 00:39:20 +00:00
netinet6 rtcalloc() is removed because it turned out not to be necessary for FreeBSD. 1999-12-09 08:56:50 +00:00
netipx Get rid of the old XNS checksum code and implement it the IPX way. 1999-08-28 18:21:55 +00:00
netkey KAME netinet6 basic part(no IPsec,no V6 Multicast Forwarding, no UDP/TCP 1999-11-22 02:45:11 +00:00
netnatm
netncp Update to version 1.3.4 of ncplib. Cleanup header files. 1999-12-12 05:50:07 +00:00
netns $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
nfs Fix a number of server-side issues related to aborting badly formed 1999-12-12 07:06:39 +00:00
nfsclient Fix a number of server-side issues related to aborting badly formed 1999-12-12 07:06:39 +00:00
nfsserver Fix a number of server-side issues related to aborting badly formed 1999-12-12 07:06:39 +00:00
ntfs Merged NetBSD version, as they have done improvements: 1999-12-03 20:37:40 +00:00
nwfs Fix pointer problem for the Alpha 1999-12-12 21:10:53 +00:00
pc98 Merge from sys/isa/sio.c rev 1.279. 1999-12-10 14:03:47 +00:00
pccard Move the turning on of the interrupts for the card at the bridge from 1999-12-10 07:02:41 +00:00
pci Remove some horrible #if 0'd code that has no hope of working now. It 1999-12-12 14:47:23 +00:00
posix4 $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
powerpc Make this compile again. (missing #include for RFPROC) 1999-12-06 18:12:29 +00:00
rpc $Id$ -> $FreeBSD$ 1999-08-27 23:45:13 +00:00
svr4 Replace the svr4_sys_getdents64() routine with a port of linux_getdents() -- 1999-12-12 11:25:33 +00:00
sys explain that ioflags can be used to give read-ahead hints to the underlying 1999-12-13 02:28:53 +00:00
tools Use a seperate -c and -h mode. The vnode_if.c file is compiled only into 1999-12-12 16:43:05 +00:00
ufs Lock reporting and assertion changes. 1999-12-11 16:13:02 +00:00
vm Add MAP_NOSYNC feature to mmap(), and MADV_NOSYNC and MADV_AUTOSYNC to 1999-12-12 03:19:33 +00:00
Makefile ${MACHINE} -> ${MACHINE_ARCH} 1999-11-14 13:54:44 +00:00