freebsd-nq/sys/kern
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
..
bus_if.m * Factor out the object system from new-bus so that it can be used by 2000-04-08 14:17:18 +00:00
device_if.m * Factor out the object system from new-bus so that it can be used by 2000-04-08 14:17:18 +00:00
genassym.sh Use "nm | awk ..." instead of genassym(1) to generate symbol value headers. 2000-06-02 09:27:48 +00:00
imgact_aout.c Remove ~25 unneeded #include <sys/conf.h> 2000-04-19 14:58:28 +00:00
imgact_elf.c Remove unneeded #include <vm/vm_zone.h> 2000-04-30 18:52:11 +00:00
imgact_gzip.c
imgact_shell.c Fix #! script exec under linux emulation. If a script is exec'd from a 2000-04-26 20:58:40 +00:00
inflate.c
init_main.c Remove no-longer-relevant comment. 2000-06-25 10:14:06 +00:00
init_sysent.c Second of two commits adding capability manipulation syscalls for 2000-06-15 23:27:18 +00:00
kern_accf.c return of the accept filter part II 2000-06-20 01:09:23 +00:00
kern_acct.c Add sysctl descriptions to a few sysctls. Simply "documentation". 2000-06-26 13:52:31 +00:00
kern_acl.c Remove unneeded #include <vm/vm_zone.h> 2000-04-30 18:52:11 +00:00
kern_cap.c Introduce additional POSIX.1e-related stubs 2000-06-07 04:53:49 +00:00
kern_clock.c Remove ~25 unneeded #include <sys/conf.h> 2000-04-19 14:58:28 +00:00
kern_conf.c Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
kern_descrip.c don't panic the system when fpathconv is called on an unsupported filetype. 2000-06-27 23:08:36 +00:00
kern_environment.c
kern_event.c Report a file type (S_IFIFO) in kqueue_stat(). 2000-06-28 19:16:27 +00:00
kern_exec.c Remove unneeded #include <vm/vm_zone.h> 2000-04-30 18:52:11 +00:00
kern_exit.c fix races in the uidinfo subsystem, several problems existed: 2000-06-22 22:27:16 +00:00
kern_fork.c Add sysctl descriptions to a few sysctls. Simply "documentation". 2000-06-26 13:52:31 +00:00
kern_intr.c
kern_jail.c o Modify jail to limit creation of sockets to UNIX domain sockets, 2000-06-04 04:28:31 +00:00
kern_kthread.c
kern_ktrace.c Modify ktrace's general I/O tracing, ktrgenio(), to use a struct uio * 2000-07-02 08:08:09 +00:00
kern_linker.c Move the securelevel check before loading KLD's into linker_load_file(), 2000-06-29 17:57:04 +00:00
kern_lock.c Eliminate the undocumented, experimental, non-delivering and highly 2000-03-16 08:51:55 +00:00
kern_lockf.c
kern_malloc.c Move #ifdef to the right place. 2000-06-29 09:26:26 +00:00
kern_mib.c Dammit. 2000-06-07 18:54:41 +00:00
kern_module.c Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
kern_ntptime.c Isolate the Timecounter internals in their own two files. 2000-03-20 14:09:06 +00:00
kern_physio.c Separate the struct bio related stuff out of <sys/buf.h> into 2000-05-05 09:59:14 +00:00
kern_proc.c Fix typo (inT -> int) 2000-06-23 07:10:34 +00:00
kern_prot.c fix races in the uidinfo subsystem, several problems existed: 2000-06-22 22:27:16 +00:00
kern_resource.c fix a typo 2000-06-10 19:21:20 +00:00
kern_shutdown.c Separate the struct bio related stuff out of <sys/buf.h> into 2000-05-05 09:59:14 +00:00
kern_sig.c Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
kern_subr.c Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
kern_switch.c Commit major SMP cleanups and move the BGL (big giant lock) in the 2000-03-28 07:16:37 +00:00
kern_synch.c Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
kern_syscalls.c
kern_sysctl.c Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
kern_tc.c Isolate the Timecounter internals in their own two files. 2000-03-20 14:09:06 +00:00
kern_threads.c
kern_time.c Remove unneeded <sys/buf.h> includes. 2000-04-18 15:15:39 +00:00
kern_timeout.c
kern_xxx.c
ksched.c Remove unneeded #include <sys/kernel.h> 2000-04-29 15:36:14 +00:00
link_aout.c Remove unneeded #include <vm/vm_zone.h> 2000-04-30 18:52:11 +00:00
link_elf_obj.c Remove unneeded #include <vm/vm_zone.h> 2000-04-30 18:52:11 +00:00
link_elf.c Remove unneeded #include <vm/vm_zone.h> 2000-04-30 18:52:11 +00:00
linker_if.m First round implementation of a fine grain enhanced module to module 2000-04-29 13:19:31 +00:00
Make.tags.inc Add soft updates to the set of things being tagged. Syntax cleanup. 2000-01-27 01:22:06 +00:00
makedevops.pl
Makefile
makeobjops.pl * Factor out the object system from new-bus so that it can be used by 2000-04-08 14:17:18 +00:00
makesyscalls.sh Fixed the calculation of sy_nargs in sysent tables. We attempted to do 2000-05-09 21:18:30 +00:00
md5c.c
p1003_1b.c Add $FreeBSD$ 2000-05-01 20:32:07 +00:00
posix4_mib.c Add $FreeBSD$. 2000-04-22 15:13:06 +00:00
subr_acl_posix1e.c Remove unneeded #include <vm/vm_zone.h> 2000-04-30 18:52:11 +00:00
subr_autoconf.c Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
subr_blist.c Eliminate the undocumented, experimental, non-delivering and highly 2000-03-16 08:51:55 +00:00
subr_bus.c Some changes and fixes from Bruce: 2000-06-26 09:53:37 +00:00
subr_clist.c
subr_devstat.c Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
subr_disk.c Add 'kern.disks', a sysctl which returns the list of disks from 2000-06-22 11:44:43 +00:00
subr_disklabel.c Separate the struct bio related stuff out of <sys/buf.h> into 2000-05-05 09:59:14 +00:00
subr_diskmbr.c Separate the struct bio related stuff out of <sys/buf.h> into 2000-05-05 09:59:14 +00:00
subr_diskslice.c Separate the struct bio related stuff out of <sys/buf.h> into 2000-05-05 09:59:14 +00:00
subr_eventhandler.c Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
subr_kobj.c * Move the driver_t::refs field to kobj_t to replace kobj_t::instances. 2000-05-01 10:45:15 +00:00
subr_log.c
subr_module.c
subr_param.c Move the MSG* and SEM* options to opt_sysvipc.h 2000-05-01 13:33:56 +00:00
subr_prf.c Do not fault if curproc is null. 2000-04-29 11:32:15 +00:00
subr_prof.c Commit major SMP cleanups and move the BGL (big giant lock) in the 2000-03-28 07:16:37 +00:00
subr_rman.c Replace all the ifdef debugging spaghetti with a single ifdef and 2000-05-03 00:20:36 +00:00
subr_scanf.c
subr_smp.c Further fixes for multiple-IO-APIC systems from Tor Egge: 2000-05-31 21:37:28 +00:00
subr_taskqueue.c Add taskqueue system for easy-to-use SWIs among other things. 2000-05-28 15:45:30 +00:00
subr_trap.c Fix my own style bugs (use of spaces instead of tabs for indentation). 2000-07-01 02:40:13 +00:00
subr_xxx.c
sys_generic.c Modify ktrace's general I/O tracing, ktrgenio(), to use a struct uio * 2000-07-02 08:08:09 +00:00
sys_pipe.c Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
sys_process.c
sys_socket.c Include the UID and GID values filled in by socreate() into socket->so_cred 2000-05-11 22:08:57 +00:00
syscalls.c Second of two commits adding capability manipulation syscalls for 2000-06-15 23:27:18 +00:00
syscalls.master Introduce syscalls for process capability manipulation. Currently backs 2000-06-15 23:08:17 +00:00
sysv_ipc.c Remove the undocumented, flawed, broken-as-designed semconfig() syscall. 2000-05-01 11:13:41 +00:00
sysv_msg.c Move the MSG* and SEM* options to opt_sysvipc.h 2000-05-01 13:33:56 +00:00
sysv_sem.c Move the MSG* and SEM* options to opt_sysvipc.h 2000-05-01 13:33:56 +00:00
sysv_shm.c This is a cleanup patch to Peter's new OBJT_PHYS VM object type 2000-05-29 22:40:54 +00:00
tty_compat.c
tty_conf.c Don't refer to TABLDISC in the comments here. 2000-01-30 10:14:13 +00:00
tty_cons.c Don't follow null pointers if we somehow have a null devswitch entry 2000-01-25 09:20:08 +00:00
tty_pty.c Unused include: #include "pty.h" 2000-06-10 07:12:40 +00:00
tty_snoop.c Unstaticize this driver. You can have as many snoop devices as you can 2000-04-02 00:35:37 +00:00
tty_subr.c
tty_tty.c
tty.c Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
uipc_accf.c return of the accept filter part II 2000-06-20 01:09:23 +00:00
uipc_domain.c
uipc_mbuf.c
uipc_proto.c
uipc_sockbuf.c fix races in the uidinfo subsystem, several problems existed: 2000-06-22 22:27:16 +00:00
uipc_socket2.c fix races in the uidinfo subsystem, several problems existed: 2000-06-22 22:27:16 +00:00
uipc_socket.c fix races in the uidinfo subsystem, several problems existed: 2000-06-22 22:27:16 +00:00
uipc_syscalls.c Modify ktrace's general I/O tracing, ktrgenio(), to use a struct uio * 2000-07-02 08:08:09 +00:00
uipc_usrreq.c fix races in the uidinfo subsystem, several problems existed: 2000-06-22 22:27:16 +00:00
vfs_acl.c Remove unneeded #include <vm/vm_zone.h> 2000-04-30 18:52:11 +00:00
vfs_aio.c Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
vfs_bio.c Virtualizes & untangles the bioops operations vector. 2000-06-16 08:48:51 +00:00
vfs_cache.c Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
vfs_cluster.c Virtualizes & untangles the bioops operations vector. 2000-06-16 08:48:51 +00:00
vfs_conf.c Make a trip to Pointy-Hats-R-Us and actually include the header that 2000-05-22 17:25:47 +00:00
vfs_default.c Separate the struct bio related stuff out of <sys/buf.h> into 2000-05-05 09:59:14 +00:00
vfs_export.c Move prtactive to vfs from ufs. It is used all over the place. 2000-06-27 07:46:22 +00:00
vfs_extattr.c Move the securelevel check before loading KLD's into linker_load_file(), 2000-06-29 17:57:04 +00:00
vfs_init.c
vfs_lookup.c
vfs_mount.c Make a trip to Pointy-Hats-R-Us and actually include the header that 2000-05-22 17:25:47 +00:00
vfs_subr.c Move prtactive to vfs from ufs. It is used all over the place. 2000-06-27 07:46:22 +00:00
vfs_syscalls.c Move the securelevel check before loading KLD's into linker_load_file(), 2000-06-29 17:57:04 +00:00
vfs_vnops.c Fix stupid braino in last commit, initialize `vp' before we test vp->v_tag. 2000-06-25 18:10:45 +00:00
vnode_if.pl remove crufty exec stuff, perl is in the base system 2000-06-27 19:09:55 +00:00
vnode_if.src