freebsd-nq/sys/kern
Konstantin Belousov 940cb0e2bb Implement read(2)/write(2) and neccessary lseek(2) for posix shmfd.
Add MAC framework entries for posix shm read and write.

Do not allow implicit extension of the underlying memory segment past
the limit set by ftruncate(2) by either of the syscalls.  Read and
write returns short i/o, lseek(2) fails with EINVAL when resulting
offset does not fit into the limit.

Discussed with:	alc
Tested by:	pho
Sponsored by:	The FreeBSD Foundation
2013-08-21 17:45:00 +00:00
..
bus_if.m Add a BUS_CHILD_DELETED() method that a bus can hook to allow it to cleanup 2012-08-21 18:13:09 +00:00
capabilities.conf Add pipe2() system call. 2013-05-01 22:42:42 +00:00
clock_if.m
cpufreq_if.m
device_if.m Revert r239178 and implement two new functions, namely 2012-08-15 15:42:57 +00:00
dtio_kdtrace.c Change the module name for the I/O provider to "kernel" from 2012-09-25 19:16:28 +00:00
genassym.sh
imgact_aout.c Cosmetics: define FREEBSD32_MINUSER and AOUT32_MINUSER for struct 2012-07-22 13:41:45 +00:00
imgact_elf32.c
imgact_elf64.c
imgact_elf.c Revert r253939: 2013-08-05 08:55:35 +00:00
imgact_gzip.c Replace kernel virtual address space allocation with vmem. This provides 2013-08-07 06:21:20 +00:00
imgact_shell.c
inflate.c
init_main.c Don't call sleepinit() from proc0_init(), make it a SYSINIT instead. 2013-08-09 23:13:52 +00:00
init_sysent.c aio_mlock() added: 2013-06-08 13:30:13 +00:00
kern_acct.c acct: create a special plimit object and set it for exiting processes 2013-06-30 19:08:06 +00:00
kern_alq.c The fix committed in r250951 replaced the reported panic with a deadlock... gold 2013-06-17 09:49:07 +00:00
kern_clock.c Correct a bug that prevented deadlkres from (almost) ever firing. 2013-06-28 15:55:30 +00:00
kern_clocksource.c - Make callout(9) tickless, relying on eventtimers(4) as backend for 2013-03-04 11:09:56 +00:00
kern_condvar.c MFcalloutng: 2013-03-04 12:20:48 +00:00
kern_conf.c Reject spaces and double quotation marks in device names. devctl(4) 2012-12-22 13:33:28 +00:00
kern_cons.c cngetc: use cpu_spinwait to ease the cncheckc loop a tiny bit 2012-10-06 19:50:23 +00:00
kern_context.c In order to maximize the re-usability of kernel code in user space this 2011-09-16 13:58:51 +00:00
kern_cpu.c Revert r175376 and tune cpufreq(4) frequency comparison logic instead. 2012-03-10 18:56:16 +00:00
kern_cpuset.c Several improvements to rmlock(9). Many of these are based on patches 2013-06-25 18:44:15 +00:00
kern_ctf.c Remove the support for using non-mpsafe filesystem modules. 2012-10-22 17:50:54 +00:00
kern_descrip.c Make sendfile() a method in the struct fileops. Currently only 2013-08-15 07:54:31 +00:00
kern_dtrace.c Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
kern_environment.c r249408 and r249436 cause a NULL pointer dereference on the CUBIEBOARD 2013-04-16 22:09:08 +00:00
kern_et.c Fix incorrect assertion that caused panic when periodic-only timers used. 2013-03-13 06:42:01 +00:00
kern_event.c Make sendfile() a method in the struct fileops. Currently only 2013-08-15 07:54:31 +00:00
kern_exec.c Specify SDT probe argument types in the probe definition itself rather than 2013-08-15 04:08:55 +00:00
kern_exit.c Specify SDT probe argument types in the probe definition itself rather than 2013-08-15 04:08:55 +00:00
kern_fail.c Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
kern_ffclock.c Revise the sysctl handling code and restructure the hierarchy of sysctls 2011-12-01 07:19:13 +00:00
kern_fork.c Specify SDT probe argument types in the probe definition itself rather than 2013-08-15 04:08:55 +00:00
kern_gzio.c Remove the support for using non-mpsafe filesystem modules. 2012-10-22 17:50:54 +00:00
kern_hhook.c Move hhook's per-vnet initialisation to an earlier SYSINIT SI_SUB stage to 2013-06-15 10:08:34 +00:00
kern_idle.c On multi-core, multi-threaded PPC systems, it is important that the threads 2011-05-31 15:11:43 +00:00
kern_intr.c The change in r236456 (atomic_store_rel not locked) exposed a bug 2013-07-04 05:53:05 +00:00
kern_jail.c Refine the "nojail" rc keyword, adding "nojailvnet" for files that don't 2013-05-19 04:10:34 +00:00
kern_khelp.c Cleanup and simplification in khelp_{register|deregister}_helper(). No 2013-06-15 06:45:17 +00:00
kern_kthread.c Do not use potentially stale thread in kthread_add() 2013-08-17 17:02:43 +00:00
kern_ktr.c ktr: correctly handle possible wrap-around in the boot buffer 2013-02-08 07:29:07 +00:00
kern_ktrace.c Remove the support for using non-mpsafe filesystem modules. 2012-10-22 17:50:54 +00:00
kern_linker.c Use strdup(9) instead of reimplementing it. 2013-08-16 03:41:41 +00:00
kern_lock.c A few mostly cosmetic nits to aid in debugging: 2013-06-25 20:23:08 +00:00
kern_lockf.c Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
kern_lockstat.c
kern_loginclass.c In order to maximize the re-usability of kernel code in user space this 2011-09-16 13:58:51 +00:00
kern_malloc.c - Disable quantum caches on the kmem_arena. This can make fragmentation 2013-08-13 22:41:24 +00:00
kern_mbuf.c Remove the unused M_NOFREE mbuf flag. It didn't have any in-tree users 2013-08-19 11:16:53 +00:00
kern_mib.c fix some fat-fingering in r246246 2013-02-02 14:19:50 +00:00
kern_module.c Fix a typo. 2012-08-22 20:01:57 +00:00
kern_mtxpool.c
kern_mutex.c Give mutex(9) the ability to recurse on a per-instance basis. 2013-08-09 11:24:29 +00:00
kern_ntptime.c rename scheduler->swapper and SI_SUB_RUN_SCHEDULER->SI_SUB_LAST 2013-07-24 09:45:31 +00:00
kern_osd.c
kern_physio.c Change the way that unmapped I/O capability is advertised. 2013-08-15 22:52:39 +00:00
kern_pmc.c Add software PMC support. 2012-03-28 20:58:30 +00:00
kern_poll.c Remove unsigned comparison < 0 2013-08-07 07:22:56 +00:00
kern_priv.c Make the comments a little more clear about PRIV_KMEM_*, explicitly 2013-07-06 00:10:52 +00:00
kern_proc.c Specify SDT probe argument types in the probe definition itself rather than 2013-08-15 04:08:55 +00:00
kern_prot.c Style fix 2012-11-14 10:33:12 +00:00
kern_racct.c Accessing td_state requires thread lock to be held. 2013-03-14 23:20:18 +00:00
kern_rangelock.c Change the queue of locks in kern_rangelock.c from holding lock requests in 2013-08-15 20:19:17 +00:00
kern_rctl.c Add CPU percentage limit enforcement to RCTL. The resouce name is "pcpu". 2012-10-26 16:01:08 +00:00
kern_resource.c Call sched_prio() to immediately change the priority of the thread in 2013-03-07 02:53:29 +00:00
kern_rmlock.c Fix build with INVARIANT_SUPPORT enabled but not INVARIANTS. 2013-07-08 21:17:20 +00:00
kern_rwlock.c A few mostly cosmetic nits to aid in debugging: 2013-06-25 20:23:08 +00:00
kern_sdt.c FreeBSD's DTrace implementation has a few problems with respect to handling 2013-08-13 03:10:39 +00:00
kern_sema.c
kern_sharedpage.c Replace kernel virtual address space allocation with vmem. This provides 2013-08-07 06:21:20 +00:00
kern_shutdown.c Switch the vm_object mutex to be a rwlock. This will enable in the 2013-03-09 02:32:23 +00:00
kern_sig.c Specify SDT probe argument types in the probe definition itself rather than 2013-08-15 04:08:55 +00:00
kern_switch.c Add a comment on why inlining critical_enter() may not be a good idea 2012-12-09 04:54:22 +00:00
kern_sx.c A few mostly cosmetic nits to aid in debugging: 2013-06-25 20:23:08 +00:00
kern_synch.c Don't call sleepinit() from proc0_init(), make it a SYSINIT instead. 2013-08-09 23:13:52 +00:00
kern_syscalls.c
kern_sysctl.c Add a helpful message that can help point to why a sysctl tree removal failed 2013-08-09 01:04:44 +00:00
kern_tc.c - Make callout(9) tickless, relying on eventtimers(4) as backend for 2013-03-04 11:09:56 +00:00
kern_thr.c Stop treating td_sigmask specially for the purposes of new thread 2012-05-26 20:03:47 +00:00
kern_thread.c Another NFS SIGSTOP related fix: Ignore thread suspend requests due to 2013-03-21 14:06:27 +00:00
kern_time.c Implement compat32 wrappers for the ktimer_* syscalls. 2013-07-21 19:43:52 +00:00
kern_timeout.c Specify SDT probe argument types in the probe definition itself rather than 2013-08-15 04:08:55 +00:00
kern_umtx.c Fix two issues with the spin loops in the umtx(2) implementation. 2013-06-13 09:33:22 +00:00
kern_uuid.c Further restrict the MAC addresses that we use for UUID generation 2013-07-24 18:13:43 +00:00
kern_xxx.c
ksched.c sched_rr_interval() seems always returned period in hz ticks, but same 2012-08-10 18:19:57 +00:00
link_elf_obj.c Remove the support for using non-mpsafe filesystem modules. 2012-10-22 17:50:54 +00:00
link_elf.c Remove the support for using non-mpsafe filesystem modules. 2012-10-22 17:50:54 +00:00
linker_if.m
Make.tags.inc - Trim an unused and bogus Makefile for mount_smbfs. 2013-06-28 21:00:08 +00:00
Makefile
makesyscalls.sh - Add the ffclock_getcounter(), ffclock_getestimate() and ffclock_setestimate() 2011-11-21 01:26:10 +00:00
md4c.c
md5c.c
p1003_1b.c In order to maximize the re-usability of kernel code in user space this 2011-09-16 13:58:51 +00:00
posix4_mib.c Define two new sysctl node flags: CTLFLAG_CAPRD and CTLFLAG_CAPRW, which 2011-07-17 23:05:24 +00:00
sched_4bsd.c rename scheduler->swapper and SI_SUB_RUN_SCHEDULER->SI_SUB_LAST 2013-07-24 09:45:31 +00:00
sched_ule.c Point args[0] not at the thread that is ending but at the one that 2013-04-15 17:21:02 +00:00
serdev_if.m
stack_protector.c
subr_acl_nfs4.c Fix bug where NFSv4 ACL enforcement code wouldn't unconditionally 2012-04-17 14:54:00 +00:00
subr_acl_posix1e.c Add module load/unload stubs. 2012-03-13 20:27:48 +00:00
subr_autoconf.c
subr_blist.c Remove reference to the rlist code from comments, and fix a typo visible 2013-02-05 20:08:33 +00:00
subr_bufring.c
subr_bus_dma.c Move an assertion to the right spot; only bus_dmamap_load_mbuf(9) 2013-06-01 11:42:47 +00:00
subr_bus.c Allow drivers to return BUS_PROBE_NOWILDCARD from their attach routine to 2013-08-08 19:30:49 +00:00
subr_busdma_bufalloc.c Replace kernel virtual address space allocation with vmem. This provides 2013-08-07 06:21:20 +00:00
subr_clock.c
subr_counter.c Revert r249590 and in case if mp_ncpus isn't initialized use MAXCPU. This 2013-07-23 11:16:40 +00:00
subr_devstat.c Fix build for kernels with dtrace hooks. 2012-07-11 18:50:50 +00:00
subr_disk.c
subr_dummy_vdso_tc.c Implement mechanism to export some kernel timekeeping data to 2012-06-22 07:06:40 +00:00
subr_eventhandler.c
subr_fattime.c
subr_firmware.c Correct sizeof usage 2012-06-25 05:41:16 +00:00
subr_hash.c Convert panic()s to KASSERT()s. This is an optimisation for 2012-01-23 16:31:46 +00:00
subr_hints.c Style fixes. 2012-09-04 23:16:55 +00:00
subr_kdb.c - Extend the KDB interface to add a per-debugger callback to print a 2012-04-12 17:43:59 +00:00
subr_kobj.c As it turns out, r186347 actually is insufficient to avoid the use of the 2011-11-15 20:11:03 +00:00
subr_lock.c Several improvements to rmlock(9). Many of these are based on patches 2013-06-25 18:44:15 +00:00
subr_log.c MFcalloutng (r244255 by mav, with minor changes): 2013-03-04 16:07:55 +00:00
subr_mbpool.c
subr_mchain.c Mechanically substitute flags from historic mbuf allocator with 2012-12-05 08:04:20 +00:00
subr_module.c
subr_msgbuf.c - Clean up timestamps in msgbuf code. The timestamps should now be 2012-03-19 00:36:32 +00:00
subr_param.c Implement the concept of the unmapped VMIO buffers, i.e. buffers which 2013-03-19 14:13:12 +00:00
subr_pcpu.c Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
subr_pctrie.c - Add a new general purpose path-compressed radix trie which can be used 2013-05-12 04:05:01 +00:00
subr_power.c
subr_prf.c Fix double vision syndrome (read: double output) when in the 2011-10-16 14:16:46 +00:00
subr_prof.c Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
subr_rman.c Unlock in the error path to prevent a lock leak. 2012-05-31 17:27:05 +00:00
subr_rtc.c Core structure and functions to support a feed-forward clock within the kernel. 2011-11-19 14:10:16 +00:00
subr_sbuf.c A library function shall not set errno to 0. 2013-05-16 18:13:10 +00:00
subr_scanf.c Xen netback driver rewrite. 2012-01-26 16:35:09 +00:00
subr_sglist.c
subr_sleepqueue.c Partially revert r195702. Deferring stops is now implemented via a set of 2013-03-18 17:23:58 +00:00
subr_smp.c - Correctly handle EWOULDBLOCK in quiesce_cpus 2012-12-19 20:08:06 +00:00
subr_stack.c Constify stack argument for functions that don't modify it. 2011-11-16 19:06:55 +00:00
subr_syscall.c Fix build on ARM (and probably other platforms) 2012-12-28 06:52:53 +00:00
subr_taskqueue.c Extend taskqueue(9) to enable per-taskqueue callbacks. 2013-03-23 15:11:53 +00:00
subr_trap.c Partially revert r195702. Deferring stops is now implemented via a set of 2013-03-18 17:23:58 +00:00
subr_turnstile.c Update the comment: we do show the backtrace of misbehaving thread. 2013-02-17 21:37:32 +00:00
subr_uio.c On all the architectures, avoid to preallocate the physical memory 2013-08-09 11:28:55 +00:00
subr_unit.c Correct double "the the" 2012-09-14 21:28:56 +00:00
subr_vmem.c Added sysctl to turn off calls to vmem_check(). 2013-08-20 11:06:56 +00:00
subr_witness.c The r254167 moved initialization of the sleepqueues before the witness 2013-08-10 21:42:14 +00:00
sys_capability.c Implement 32bit versions of the cap_ioctls_limit(2) and cap_ioctls_get(2) 2013-08-18 10:30:41 +00:00
sys_generic.c Help out gcc. clang understands. 2013-06-29 04:35:04 +00:00
sys_pipe.c Make sendfile() a method in the struct fileops. Currently only 2013-08-15 07:54:31 +00:00
sys_procdesc.c Restore the previous sendfile(2) behaviour on the block devices. 2013-08-16 14:22:20 +00:00
sys_process.c Revert r253939: 2013-08-05 08:55:35 +00:00
sys_socket.c Make sendfile() a method in the struct fileops. Currently only 2013-08-15 07:54:31 +00:00
syscalls.c aio_mlock() added: 2013-06-08 13:30:13 +00:00
syscalls.master Add new system call - aio_mlock(). The name speaks for itself. It allows 2013-06-08 13:27:57 +00:00
systrace_args.c aio_mlock() added: 2013-06-08 13:30:13 +00:00
sysv_ipc.c
sysv_msg.c In order to maximize the re-usability of kernel code in user space this 2011-09-16 13:58:51 +00:00
sysv_sem.c In order to maximize the re-usability of kernel code in user space this 2011-09-16 13:58:51 +00:00
sysv_shm.c Be more aggressive in using superpages in all mappings of objects: 2013-07-19 19:06:15 +00:00
tty_compat.c
tty_info.c Fix whitespace inconsistencies in TTY code. 2012-02-06 18:15:46 +00:00
tty_inq.c Use strchr() and strrchr(). 2012-01-02 12:12:10 +00:00
tty_outq.c Fix whitespace inconsistencies in the TTY layer and its drivers owned by me. 2011-06-26 18:26:20 +00:00
tty_pts.c Make sendfile() a method in the struct fileops. Currently only 2013-08-15 07:54:31 +00:00
tty_tty.c
tty_ttydisc.c Correct SIGTTIN handling. 2012-10-25 09:05:21 +00:00
tty.c Merge Capsicum overhaul: 2013-03-02 00:53:12 +00:00
uipc_accf.c
uipc_cow.c
uipc_debug.c
uipc_domain.c - Implement two new system calls: 2013-03-02 21:11:30 +00:00
uipc_mbuf2.c Mechanically substitute flags from historic mbuf allocator with 2012-12-05 08:04:20 +00:00
uipc_mbuf.c Remove the unused M_NOFREE mbuf flag. It didn't have any in-tree users 2013-08-19 11:16:53 +00:00
uipc_mqueue.c Disallow opening a POSIX message queue for execute. 2013-08-18 13:27:04 +00:00
uipc_sem.c Make sendfile() a method in the struct fileops. Currently only 2013-08-15 07:54:31 +00:00
uipc_shm.c Implement read(2)/write(2) and neccessary lseek(2) for posix shmfd. 2013-08-21 17:45:00 +00:00
uipc_sockbuf.c When a previous call to sbsndptr() leaves sb->sb_sndptroff at the start of an 2013-06-19 03:08:01 +00:00
uipc_socket.c When the accept queue is full print the number of already pending 2013-05-08 14:13:14 +00:00
uipc_syscalls.c Fix build. 2013-08-17 00:25:11 +00:00
uipc_usrreq.c Fix receiving fd over unix socket broken in r247740. 2013-07-02 07:36:04 +00:00
vfs_acl.c Don't dereference null pointer should acl_alloc() be passed M_NOWAIT 2013-08-09 08:40:31 +00:00
vfs_aio.c Change the way that unmapped I/O capability is advertised. 2013-08-15 22:52:39 +00:00
vfs_bio.c The soft and hard busy mechanism rely on the vm object lock to work. 2013-08-09 11:11:11 +00:00
vfs_cache.c namecache sdt: freebsd doesn't support structured characters yet 2013-07-09 08:58:34 +00:00
vfs_cluster.c The soft and hard busy mechanism rely on the vm object lock to work. 2013-08-09 11:11:11 +00:00
vfs_default.c - Convert the bufobj lock to rwlock. 2013-05-31 00:43:41 +00:00
vfs_export.c Further refine the handling of stop signals in the NFS client. The 2013-02-21 19:02:50 +00:00
vfs_extattr.c Use a shared lock for VOP_GETEXTATTR, as it is a read-like operation. 2013-03-30 15:09:04 +00:00
vfs_hash.c Add exported vfs_hash_index() function, which calculates the canonical 2013-01-14 05:41:40 +00:00
vfs_init.c Revert accidental commit. 2013-06-29 05:05:57 +00:00
vfs_lookup.c Do not override the ENOENT error for the empty path, or EFAULT errors 2013-08-05 19:42:03 +00:00
vfs_mount.c Add vfs_mounted and vfs_unmounted events so that components can be informed 2013-07-10 15:35:25 +00:00
vfs_mountroot.c Add a tunable for the default timeout. 2013-08-03 04:25:25 +00:00
vfs_subr.c In r114945 the line 'nmp = TAILQ_NEXT(mp, mnt_list);' was duplicated. 2013-08-17 14:13:45 +00:00
vfs_syscalls.c Make the seek a method of the struct fileops. 2013-08-21 17:36:01 +00:00
vfs_vnops.c Make the seek a method of the struct fileops. 2013-08-21 17:36:01 +00:00
vnode_if.src remove vop_lookup_pre and vop_lookup_post 2012-11-22 10:36:10 +00:00