freebsd-nq/sys/kern
Jacques Vidrine 8b7358ca43 Introduce a uiomove_frombuf helper routine that handles computing and
validating the offset within a given memory buffer before handing the
real work off to uiomove(9).

Use uiomove_frombuf in procfs to correct several issues with
integer arithmetic that could result in underflows/overflows.  As a
side-effect, the code is significantly simplified.

Add additional sanity checks when computing a memory allocation size
in pfs_read.

Submitted by:	rwatson  (original uiomove_frombuf -- bugs are mine :-)
Reported by:	Joost Pol <joost@pine.nl>  (integer underflows/overflows)
2003-10-02 15:00:55 +00:00
..
bus_if.m Introduce BUS_CONFIG_INTR(). The method allows devices to tell parents 2003-09-10 21:37:10 +00:00
clock_if.m Add a generic implementation of inittodr() and resettodr(), as well as 2002-04-04 23:39:10 +00:00
device_if.m
genassym.sh
imgact_aout.c Add sysentvec->sv_fixlimits() hook so that we can catch cases on 64 bit 2003-09-25 01:10:26 +00:00
imgact_elf32.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
imgact_elf64.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
imgact_elf.c Add sysentvec->sv_fixlimits() hook so that we can catch cases on 64 bit 2003-09-25 01:10:26 +00:00
imgact_gzip.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
imgact_shell.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
inflate.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
init_main.c Remove the global variable 'cmask', which was used to initialize the 2003-10-02 03:57:59 +00:00
init_sysent.c msync(2) should be declared MP-safe. 2003-09-07 05:42:07 +00:00
kern_acct.c Add fdidx argument to vn_open() and vn_open_cred() and pass -1 throughout. 2003-07-27 17:04:56 +00:00
kern_acl.c Move more ACL logic from the UFS code (ufs_acl.c) to the central POSIX.1e 2003-08-04 02:13:05 +00:00
kern_alq.c Add fdidx argument to vn_open() and vn_open_cred() and pass -1 throughout. 2003-07-27 17:04:56 +00:00
kern_clock.c Fix this to build on alpha. Build test successful. 2003-06-27 08:35:05 +00:00
kern_condvar.c Allow SA process unblocks a thread blocked in condition variable. 2003-07-02 01:19:15 +00:00
kern_conf.c Retire revoke_and_destroy_dev() with extreme prejudice. 2003-09-28 20:50:36 +00:00
kern_context.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
kern_descrip.c Remove the global variable 'cmask', which was used to initialize the 2003-10-02 03:57:59 +00:00
kern_environment.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
kern_event.c Initialize struct fileops with C99 sparse initialization. 2003-06-18 18:16:40 +00:00
kern_exec.c Remove the regstkpages sysctl variable. We have a growable register 2003-09-27 23:07:47 +00:00
kern_exit.c Rename P_THREADED to P_SA. P_SA means a process is using scheduler 2003-06-15 00:31:24 +00:00
kern_fork.c Change instances of callout_init that specify MPSAFE behaviour to 2003-08-19 17:51:11 +00:00
kern_idle.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
kern_intr.c Make swi_vm be INTR_MPSAFE. On all platforms, it is only used to activate 2003-07-01 16:00:38 +00:00
kern_jail.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
kern_kse.c Let SA process work under ULE scheduler, originally it would panic kernel. 2003-08-26 11:33:15 +00:00
kern_kthread.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
kern_ktr.c Update the license on this file to be a bit more sane. 2003-09-10 01:09:32 +00:00
kern_ktrace.c Consistently use the BSD u_int and u_short instead of the SYSV uint and 2003-08-07 15:04:27 +00:00
kern_linker.c Avoid NULL pointer dereferencing in modlist_lookup2(). 2003-09-23 14:42:38 +00:00
kern_lock.c Rearrange the SYSINIT order to call lockmgr_init() earlier so that 2003-07-16 01:00:39 +00:00
kern_lockf.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
kern_mac.c If the struct mac copied into the kernel has a negative length, return 2003-09-29 18:35:17 +00:00
kern_malloc.c - Only use UMA to cache malloc requests up to PAGE_SIZE. Values larger than 2003-09-19 04:39:08 +00:00
kern_mib.c Change description of kern.osreldate from "Operating system release date" to 2003-08-21 14:47:08 +00:00
kern_module.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
kern_mtxpool.c Rearrange the SYSINIT order to call lockmgr_init() earlier so that 2003-07-16 01:00:39 +00:00
kern_mutex.c If a spin lock is held for too long and WITNESS is enabled, then call 2003-07-31 18:52:18 +00:00
kern_ntptime.c During a positive leap second, the tai_time offset should be 2003-06-25 20:56:40 +00:00
kern_physio.c Grab Giant in physio() since non-giant drivers are starting to appear. 2003-08-02 09:40:53 +00:00
kern_poll.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
kern_proc.c Allow the KERN_PROC_PROC sysctl to be used without the useless 4th 2003-09-19 14:16:50 +00:00
kern_prot.c Add a new sysctl, security.bsd.conservative_signals, to disable 2003-09-14 07:22:38 +00:00
kern_resource.c Extend the mutex pool implementation to permit the creation and use of 2003-07-13 01:22:21 +00:00
kern_sema.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
kern_shutdown.c Further cleanup <machine/cpu.h> and <machine/md_var.h>: move the MI 2003-08-16 16:57:57 +00:00
kern_sig.c Move some tracing related code into its own function as it will 2003-09-26 15:09:46 +00:00
kern_subr.c Introduce a uiomove_frombuf helper routine that handles computing and 2003-10-02 15:00:55 +00:00
kern_switch.c Rename P_THREADED to P_SA. P_SA means a process is using scheduler 2003-06-15 00:31:24 +00:00
kern_sx.c Extend the mutex pool implementation to permit the creation and use of 2003-07-13 01:22:21 +00:00
kern_synch.c - On my Pentium4-M laptop, invalpg takes ~1100 cycles if the page is found in 2003-09-30 08:11:36 +00:00
kern_syscalls.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
kern_sysctl.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
kern_tc.c Use the quality to disable timecounters for which we deem Hz too low. 2003-09-03 08:14:16 +00:00
kern_thr.c Update powerpc to use the (old thread,new thread) calling convention 2003-08-14 03:56:24 +00:00
kern_thread.c Let SA process work under ULE scheduler, originally it would panic kernel. 2003-08-26 11:33:15 +00:00
kern_time.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
kern_timeout.c On ia64 time_t is 64 bit. Explicitly cast tv_sec to long and change 2003-08-23 08:31:32 +00:00
kern_umtx.c Return EINVAL if the contested bit is not set on the umtx passed to 2003-09-07 11:14:52 +00:00
kern_uuid.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
kern_xxx.c Correct mostly harmless off-by-one error in getdomainname(). 2003-09-13 17:12:22 +00:00
ksched.c sched_setscheduler: Return EINVAL when a invalid policy is specified, 2003-09-13 18:46:24 +00:00
link_elf_obj.c Add the mlockall() and munlockall() system calls. 2003-08-11 07:14:08 +00:00
link_elf.c Add the mlockall() and munlockall() system calls. 2003-08-11 07:14:08 +00:00
linker_if.m The method link_preload_finish is not static. 2003-09-20 17:39:32 +00:00
Make.tags.inc Finish driving a stake through the heart of netns and the associated 2003-03-05 19:24:24 +00:00
Makefile Finish driving a stake through the heart of netns and the associated 2003-03-05 19:24:24 +00:00
makesyscalls.sh - Include umtx.h in files generated by makesyscalls.sh 2003-04-01 01:12:24 +00:00
md4c.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
md5c.c Revert stuff which accidentally ended up in the previous commit. 2003-07-22 10:36:36 +00:00
p1003_1b.c Use __FBSDID(). 2003-06-11 06:34:30 +00:00
posix4_mib.c Use __FBSDID(). 2003-06-11 06:34:30 +00:00
sched_4bsd.c Change instances of callout_init that specify MPSAFE behaviour to 2003-08-19 17:51:11 +00:00
sched_ule.c - Somewhere along the line I stupidly removed critical logic from 2003-09-20 02:05:58 +00:00
subr_acl_posix1e.c Move more ACL logic from the UFS code (ufs_acl.c) to the central POSIX.1e 2003-08-04 02:13:05 +00:00
subr_autoconf.c Revert stuff which accidentally ended up in the previous commit. 2003-07-22 10:36:36 +00:00
subr_blist.c Expand inline the relevant parts of src/COPYRIGHT for Matt Dillon's 2003-08-12 23:24:05 +00:00
subr_bus.c Introduce BUS_CONFIG_INTR(). The method allows devices to tell parents 2003-09-10 21:37:10 +00:00
subr_clist.c Revert stuff which accidentally ended up in the previous commit. 2003-07-22 10:36:36 +00:00
subr_clock.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
subr_devstat.c The present defaults for the open and close for device drivers which 2003-09-27 12:01:01 +00:00
subr_disk.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
subr_eventhandler.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
subr_hints.c Add a resource_disabled() helper function that returns true (non-zero) if 2003-07-02 16:01:38 +00:00
subr_kobj.c add a read-only sysctl to display the number of entries in the fixed size 2003-08-14 21:16:46 +00:00
subr_log.c Replace the code for reading and writing the kernel message buffer 2003-06-22 02:18:31 +00:00
subr_mbpool.c Add a facility for devices, specifically network interfaces, that require 2003-07-15 08:59:38 +00:00
subr_mbuf.c Use constants less throughout the code and instead use the objsize 2003-08-16 19:48:52 +00:00
subr_mchain.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
subr_module.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
subr_msgbuf.c Put the message about msgbuf cksum mismatch under bootverbose and tell 2003-09-05 11:12:00 +00:00
subr_param.c More pipe changes: 2003-08-11 05:51:51 +00:00
subr_pcpu.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
subr_power.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
subr_prf.c Revert stuff which accidentally ended up in the previous commit. 2003-07-22 10:36:36 +00:00
subr_prof.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
subr_rman.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
subr_rtc.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
subr_sbuf.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
subr_scanf.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
subr_smp.c Document some sysctl variables. 2003-06-12 19:46:51 +00:00
subr_taskqueue.c correct fast swi taskqueue spinlock name to be different from the sleep lock 2003-09-06 21:05:18 +00:00
subr_trap.c Log involuntary context switches correctly. 2003-09-05 22:15:26 +00:00
subr_turnstile.c If a spin lock is held for too long and WITNESS is enabled, then call 2003-07-31 18:52:18 +00:00
subr_witness.c add fast swi taskqueue spinlock to the order_list so witness doesn't complain 2003-09-06 21:06:08 +00:00
sys_generic.c Introduce no_poll() default method for device drivers. Have it 2003-09-27 12:53:33 +00:00
sys_pipe.c pipe_build_write_buffer() only requires read access of the page that it 2003-09-12 07:13:15 +00:00
sys_process.c Add or finish support for machine dependent ptrace requests. When we 2003-08-15 05:25:06 +00:00
sys_socket.c Initialize struct fileops with C99 sparse initialization. 2003-06-18 18:16:40 +00:00
syscalls.c msync(2) should be declared MP-safe. 2003-09-07 05:42:07 +00:00
syscalls.master msync(2) should be declared MP-safe. 2003-09-07 05:42:07 +00:00
sysv_ipc.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
sysv_msg.c Update some argument-documenting comments to match reality. 2003-08-07 16:42:27 +00:00
sysv_sem.c Update some argument-documenting comments to match reality. 2003-08-07 16:42:27 +00:00
sysv_shm.c Update some argument-documenting comments to match reality. 2003-08-07 16:42:27 +00:00
tty_compat.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
tty_conf.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
tty_cons.c OK, I messed up /dev/console with what I had hoped would be compat 2003-09-26 19:35:50 +00:00
tty_pty.c Don't use seltrue when that is not really what we mean. 2003-09-27 12:44:06 +00:00
tty_subr.c Revert stuff which accidentally ended up in the previous commit. 2003-07-22 10:36:36 +00:00
tty_tty.c The present defaults for the open and close for device drivers which 2003-09-27 12:01:01 +00:00
tty.c Use a new message buffer `consmsgbuf' to forward messages to a 2003-06-22 02:54:33 +00:00
uipc_accf.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
uipc_cow.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
uipc_domain.c move domain list mutex initialization to earlier in the boot sequence so 2003-09-02 20:59:23 +00:00
uipc_jumbo.c Lock the vm object when removing a page. 2003-06-11 21:23:04 +00:00
uipc_mbuf2.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
uipc_mbuf.c Implement MBUF_STRESS_TEST mark II. 2003-09-01 05:55:37 +00:00
uipc_proto.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
uipc_sem.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
uipc_sockbuf.c Guard against MLEN growing larger than a uint8_t due to MSIZE grwoing to a 2003-07-26 07:23:24 +00:00
uipc_socket2.c Guard against MLEN growing larger than a uint8_t due to MSIZE grwoing to a 2003-07-26 07:23:24 +00:00
uipc_socket.c Make the second argument to sooptcopyout() constant in order to 2003-08-05 00:27:54 +00:00
uipc_syscalls.c Migrate the sf_buf allocator that is used by sendfile(2) and zero-copy 2003-08-29 20:04:10 +00:00
uipc_usrreq.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
vfs_acl.c Move more ACL logic from the UFS code (ufs_acl.c) to the central POSIX.1e 2003-08-04 02:13:05 +00:00
vfs_aio.c Fix asynchronous physio breakage introduced in rev 1.163. 2003-09-10 15:48:51 +00:00
vfs_bio.c - vm_hold_free_pages() should lock the kernel object. (The pages being 2003-09-22 04:58:09 +00:00
vfs_cache.c Make the VFS cache use zones instead of malloc(9). This results in a 2003-06-13 08:46:13 +00:00
vfs_cluster.c - Move BX_BKGRDWAIT and BX_BKGRDINPROG to BV_ and the b_vflags field. 2003-08-28 06:55:18 +00:00
vfs_default.c Introduce no_poll() default method for device drivers. Have it 2003-09-27 12:53:33 +00:00
vfs_export.c Guard against MLEN growing larger than a uint8_t due to MSIZE grwoing to a 2003-07-26 07:23:24 +00:00
vfs_extattr.c Add mac_check_vnode_deleteextattr() and mac_check_vnode_listextattr(): 2003-08-21 13:53:01 +00:00
vfs_init.c Initialize struct vfsops C99-sparsely. 2003-06-12 20:48:38 +00:00
vfs_lookup.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
vfs_mount.c Update the list of CDROM device names to try for booting with RB_CDROM 2003-09-26 09:07:27 +00:00
vfs_subr.c - In reassignbuf() don't unlock vp and lock newvp if they are the same. 2003-09-20 00:21:48 +00:00
vfs_syscalls.c Add mac_check_vnode_deleteextattr() and mac_check_vnode_listextattr(): 2003-08-21 13:53:01 +00:00
vfs_vnops.c Rename VOP_RMEXTATTR() to VOP_DELETEEXTATTR() for consistency with the 2003-07-28 18:53:29 +00:00
vnode_if.src Rename VOP_RMEXTATTR() to VOP_DELETEEXTATTR() for consistency with the 2003-07-28 18:53:29 +00:00