freebsd-dev/sys/compat/svr4
Brian Feldman 42ebfbf227 Modify ktrace's general I/O tracing, ktrgenio(), to use a struct uio *
instead of a struct iovec * array and int len.  Get rid of stupidly trying
to allocate all of the memory and copyin()ing the entire iovec[], and
instead just do the proper VOP_WRITE() in ktrwrite() using a copy of
the struct uio that the syscall originally used.

This solves the DoS which could easily be performed; to work around the
DoS, one could also remove "options KTRACE" from the kernel.  This is
a very strong MFC candidate for 4.1.

Found by:	art@OpenBSD.org
2000-07-02 08:08:09 +00:00
..
imgact_svr4.c useracc() the prequel: 1999-10-29 18:09:36 +00:00
Makefile Don't forget to back up svr4_syscallnames.c. Don't depend on side effects 2000-05-09 21:40:01 +00:00
svr4_acl.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
svr4_dirent.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
svr4_errno.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
svr4_exec.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
svr4_fcntl.c Remove unneeded #include <sys/kernel.h> 2000-04-29 15:36:14 +00:00
svr4_fcntl.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
svr4_filio.c Remove some all-too-wordy debugging prints 2000-01-15 15:30:44 +00:00
svr4_filio.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
svr4_fuser.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
svr4_hrt.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
svr4_ioctl.c Remove unnecessary includes 1999-12-08 12:01:59 +00:00
svr4_ioctl.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
svr4_ipc.c Remove unneeded #include <sys/kernel.h> 2000-04-29 15:36:14 +00:00
svr4_ipc.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
svr4_misc.c fix races in the uidinfo subsystem, several problems existed: 2000-06-22 22:27:16 +00:00
svr4_mman.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
svr4_proto.h Regenerated (to fix "created from" lines, and to fix the previous 2000-05-10 14:38:28 +00:00
svr4_resource.c SVR4 emulator source files now take their compilation options from 1999-12-08 10:51:17 +00:00
svr4_resource.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
svr4_siginfo.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
svr4_signal.c Fix handling of svr4_sigsets, which are implemented in SysVR4 as a sequence 2000-01-15 15:38:17 +00:00
svr4_signal.h Fix handling of svr4_sigsets, which are implemented in SysVR4 as a sequence 2000-01-15 15:38:17 +00:00
svr4_socket.c Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
svr4_socket.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
svr4_sockio.c Remove unnecessary includes 1999-12-08 12:01:59 +00:00
svr4_sockio.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
svr4_sockmod.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
svr4_stat.c Remove unnecessary includes 1999-12-08 12:01:59 +00:00
svr4_stat.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
svr4_statvfs.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
svr4_stream.c Modify ktrace's general I/O tracing, ktrgenio(), to use a struct uio * 2000-07-02 08:08:09 +00:00
svr4_stropts.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
svr4_syscall.h Regenerated (to fix "created from" lines, and to fix the previous 2000-05-10 14:38:28 +00:00
svr4_syscallnames.c Regenerated (to fix "created from" lines, and to fix the previous 2000-05-10 14:38:28 +00:00
svr4_sysconfig.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
svr4_sysent.c Regenerated (to fix "created from" lines, and to fix the previous 2000-05-10 14:38:28 +00:00
svr4_systeminfo.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
svr4_sysvec.c Give the "streams" modulea version (1) and depend on it from the 2000-05-06 01:39:45 +00:00
svr4_termios.c Remove unnecessary includes 1999-12-08 12:01:59 +00:00
svr4_termios.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
svr4_time.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
svr4_timod.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
svr4_ttold.c Remove unnecessary includes 1999-12-08 12:01:59 +00:00
svr4_ttold.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
svr4_types.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
svr4_ucontext.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
svr4_ulimit.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
svr4_ustat.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
svr4_util.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
svr4_utsname.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
svr4_wait.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
svr4.h Removed bogus include of opt_global.h. opt_global.h is automatically 2000-01-09 12:29:45 +00:00
syscalls.conf $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
syscalls.master Fixed the "created from" lines generated from this file. makesyscalls.sh 2000-05-10 14:32:32 +00:00