opnsense-src/sys/kern
Andre Oppermann e8ad36aba4 In soreceive_stream() don't drop an already dequeued mbuf chain by
overwriting the return mbuf pointer with newly received data after
a loop.  Instead append the new mbuf chain to the existing one.

Fix up sb_lastrecord when dequeuing mbuf's so that sbappend_stream()
doesn't get confused.

For the remainder copy case in the mbuf delivery part deduct the
copied length len instead of the whole mbuf length.  Additionally
don't depend on 'n' being being available which isn't true in the
case of MSG_PEEK.

Fix the MSG_WAITALL case by comparing against sb_hiwat.  Before
it was looping for every receive as sb_lowat normally is zero.
Add comment about issue with (MSG_WAITALL | MSG_PEEK) which isn't
properly handled.

Submitted by:	trociny (except for the change in last paragraph)
2012-10-29 12:31:12 +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 missing system calls. 2012-05-31 19:32:37 +00:00
clock_if.m
cpufreq_if.m Introduce a new method, cpufreq_drv_type(), that returns the type of the 2005-02-18 00:23:36 +00:00
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 refactor code so it can run in a chroot without having to have /dev/mounted 2008-01-18 17:02:14 +00:00
imgact_aout.c Cosmetics: define FREEBSD32_MINUSER and AOUT32_MINUSER for struct 2012-07-22 13:41:45 +00:00
imgact_elf.c Remove the support for using non-mpsafe filesystem modules. 2012-10-22 17:50:54 +00:00
imgact_elf32.c
imgact_elf64.c
imgact_gzip.c Remove an old hack I noticed years ago, but never committed. 2012-06-28 07:33:43 +00:00
imgact_shell.c The execution of the shebang script requires putting interpreter path, 2011-03-06 22:59:30 +00:00
inflate.c Normalize a significant number of kernel malloc type names: 2005-10-31 15:41:29 +00:00
init_main.c Fix grammar. 2012-08-16 13:01:56 +00:00
init_sysent.c regen. 2012-08-17 02:47:16 +00:00
kern_acct.c Remove the support for using non-mpsafe filesystem modules. 2012-10-22 17:50:54 +00:00
kern_alq.c Remove the support for using non-mpsafe filesystem modules. 2012-10-22 17:50:54 +00:00
kern_clock.c Implement the DTrace sched provider. This implementation aims to be 2012-05-15 01:30:25 +00:00
kern_clocksource.c panic() with reasonable message instead of returning zero frequency causing 2012-10-10 19:46:46 +00:00
kern_condvar.c Remove all the checks on curthread != NULL with the exception of some MD 2012-09-13 22:26:22 +00:00
kern_conf.c Remove unused SI_* flags. 2012-08-28 19:30:29 +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 Post r222812 KTR_CPUMASK started being initialized only as a tunable 2012-08-30 21:22:47 +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 Remove the support for using non-mpsafe filesystem modules. 2012-10-22 17:50:54 +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 Reserve room for the terminating NUL when setting or getting kernel 2012-08-14 19:16:30 +00:00
kern_et.c Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
kern_event.c Make the interval timings for EVFILT_TIMER more accurate. tvtohz() always 2012-07-13 13:24:33 +00:00
kern_exec.c Remove the support for using non-mpsafe filesystem modules. 2012-10-22 17:50:54 +00:00
kern_exit.c Remove the support for using non-mpsafe filesystem modules. 2012-10-22 17:50:54 +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 userret() already checks for td_locks when INVARIANTS is enabled, so 2012-09-08 18:27:11 +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 Staticize malloc types. 2011-04-13 11:28:46 +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 Add optional entropy harvesting for software interrupts in swi_sched() 2012-09-25 14:55:46 +00:00
kern_jail.c Remove the support for using non-mpsafe filesystem modules. 2012-10-22 17:50:54 +00:00
kern_khelp.c Use the full and proper company name for Swinburne University of Technology 2011-04-12 08:13:18 +00:00
kern_kthread.c Stop treating td_sigmask specially for the purposes of new thread 2012-05-26 20:03:47 +00:00
kern_ktr.c Post r222812 KTR_CPUMASK started being initialized only as a tunable 2012-08-30 21:22:47 +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 Remove the support for using non-mpsafe filesystem modules. 2012-10-22 17:50:54 +00:00
kern_lock.c Improve check coverage about idle threads. 2012-09-12 22:10:53 +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 Add the OpenSolaris dtrace lockstat provider. The lockstat provider 2009-05-26 20:28:22 +00:00
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 Fix a bug with memguard(9) on 32-bit architectures without a 2012-07-15 20:29:48 +00:00
kern_mbuf.c Since the macro dtom() has been removed, fix comments about the dtom. 2012-10-29 10:04:28 +00:00
kern_mib.c As a safety measure, disable lowering pid_max too much. 2012-08-16 13:04:21 +00:00
kern_module.c Fix a typo. 2012-08-22 20:01:57 +00:00
kern_mtxpool.c Fix a number of style issues in the MALLOC / FREE commit. I've tried to 2008-10-23 20:26:15 +00:00
kern_mutex.c Remove all the checks on curthread != NULL with the exception of some MD 2012-09-13 22:26:22 +00:00
kern_ntptime.c Limit popcorn limit to something sane (either 2ns or 2 ticks if that's 2012-08-16 02:35:44 +00:00
kern_osd.c Make the rmlock(9) interface a bit more like the rwlock(9) interface: 2009-05-29 10:52:37 +00:00
kern_physio.c Account i/o done on cdevs. 2010-11-25 20:05:11 +00:00
kern_pmc.c Add software PMC support. 2012-03-28 20:58:30 +00:00
kern_poll.c Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
kern_priv.c Add an extra comment to the SDT probes definition. This allows us to get 2010-08-22 11:18:57 +00:00
kern_proc.c Remove the support for using non-mpsafe filesystem modules. 2012-10-22 17:50:54 +00:00
kern_prot.c Fix a typo. (s/nessesary/necessary/) 2012-01-08 18:48:36 +00:00
kern_racct.c Add CPU percentage limit enforcement to RCTL. The resouce name is "pcpu". 2012-10-26 16:01:08 +00:00
kern_rangelock.c Add a rangelock implementation, intended to be used to range-locking 2012-05-30 16:06:38 +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 Change kern.proc.rlimit sysctl to: 2012-01-22 20:25:00 +00:00
kern_rmlock.c Add an unified macro to deny ability from the compiler to reorder 2012-10-09 14:32:30 +00:00
kern_rwlock.c Remove all the checks on curthread != NULL with the exception of some MD 2012-09-13 22:26:22 +00:00
kern_sdt.c Instead of only iterating over the set of known SDT probes when sdt.ko is 2012-03-27 15:07:43 +00:00
kern_sema.c
kern_sharedpage.c Move the code dealing with shared page into a dedicated 2012-06-23 10:15:23 +00:00
kern_shutdown.c free wdog_kern_pat calls in post-panic paths from under SW_WATCHDOG 2012-06-03 08:01:12 +00:00
kern_sig.c Remove the support for using non-mpsafe filesystem modules. 2012-10-22 17:50:54 +00:00
kern_switch.c critical_exit: ignore td_owepreempt if kdb_active is set 2011-12-04 21:27:41 +00:00
kern_sx.c Remove all the checks on curthread != NULL with the exception of some MD 2012-09-13 22:26:22 +00:00
kern_synch.c Implement the DTrace sched provider. This implementation aims to be 2012-05-15 01:30:25 +00:00
kern_syscalls.c Call chainevh callback when we are invoked with neither MOD_LOAD nor 2010-10-21 20:31:50 +00:00
kern_sysctl.c Handle spurious page faults that may occur in no-fault sections of the 2012-03-22 04:52:51 +00:00
kern_tc.c Add support for walltimestamp in DTrace. 2012-07-16 20:17:19 +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 Make the updates of the tid ring buffer' head and tail pointers 2012-09-26 09:25:11 +00:00
kern_time.c Implement syscall clock_getcpuclockid2, so we can get a clock id 2012-08-17 02:26:31 +00:00
kern_timeout.c Move the code to call the callout callback into the helper function 2012-05-03 20:00:30 +00:00
kern_umtx.c The fields of struct timespec32 should be int32_t and not uint32_t. 2012-10-27 23:42:41 +00:00
kern_uuid.c Convert all users of IF_ADDR_LOCK to use new locking macros that specify 2012-01-05 19:00:36 +00:00
kern_xxx.c Place hostnames and similar information fully under the prison system. 2009-05-29 21:27:12 +00:00
ksched.c sched_rr_interval() seems always returned period in hz ticks, but same 2012-08-10 18:19:57 +00:00
link_elf.c Remove the support for using non-mpsafe filesystem modules. 2012-10-22 17:50:54 +00:00
link_elf_obj.c Remove the support for using non-mpsafe filesystem modules. 2012-10-22 17:50:54 +00:00
linker_if.m strict kobj signatures: linker_if fixes 2009-06-11 17:05:45 +00:00
Make.tags.inc Disconnect non-MPSAFE SMBFS from the build in preparation for dropping 2012-10-18 12:04:56 +00:00
Makefile Continue to introduce Capsicum Capability Mode support: 2011-03-01 13:28:27 +00:00
makesyscalls.sh - Add the ffclock_getcounter(), ffclock_getestimate() and ffclock_setestimate() 2011-11-21 01:26:10 +00:00
md4c.c
md5c.c Fix a panic on sparc64 related to inproper aligment - we cannot assume, 2006-03-30 18:45:50 +00:00
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 Add CPU percentage limit enforcement to RCTL. The resouce name is "pcpu". 2012-10-26 16:01:08 +00:00
sched_ule.c Pad tdq_lock to avoid false sharing with tdq_load and tdq_cpu_idle. 2012-10-24 18:36:41 +00:00
serdev_if.m MFp4: Add the ipend() method to the serdev I/F to allow umbrella 2006-04-23 22:12:39 +00:00
stack_protector.c Random number generator initialization cleanup: 2009-10-20 16:36:51 +00:00
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 Retire PCONFIG and leave the priority of thread0 alone when waiting for 2011-01-06 22:09:37 +00:00
subr_blist.c - Fix typos s/(more|less) then|\1 than/ 2011-12-03 15:41:37 +00:00
subr_bufring.c Switch to our preferred 2-clause BSD license. 2010-05-05 20:39:02 +00:00
subr_bus.c Provide a generic way to disable devices at boot time 2012-10-02 03:33:41 +00:00
subr_clock.c Improve style and wording of comments and sysctl descriptions [1]. 2011-01-09 14:34:56 +00:00
subr_devstat.c Fix build for kernels with dtrace hooks. 2012-07-11 18:50:50 +00:00
subr_disk.c Correct bioq_disksort so that bioq_insert_tail() offers barrier semantic. 2010-09-02 19:40:28 +00:00
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 Split eventhandler_register() into an internal part and a wrapper function 2010-03-19 19:51:03 +00:00
subr_fattime.c Use ISO C99 integer types in sys/kern where possible. 2010-06-21 09:55:56 +00:00
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 panic: add a switch and infrastructure for stopping other CPUs in SMP case 2011-12-11 21:02:01 +00:00
subr_log.c Add kqueue support to /dev/klog. 2012-02-01 14:34:52 +00:00
subr_mbpool.c Add parens around *free in *free++ in mbp_count() so that mbp_count() 2007-05-27 17:38:36 +00:00
subr_mchain.c - Use uint8_t for the variable x and spell the size of the variable 2012-02-06 06:03:16 +00:00
subr_module.c Provide convenience function for obtaining MODINFO_ADDR and MODINFO_SIZE 2011-02-09 19:08:21 +00:00
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 Allow autotune maxusers > 384 on 64 bit machines 2012-10-25 01:46:20 +00:00
subr_pcpu.c Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
subr_power.c General consensus is that it would be even better to run this in a 2005-11-09 16:22:56 +00:00
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 r222015 introduced a new assertion that the size of a fixed-length sbuf 2011-08-19 08:29:10 +00:00
subr_scanf.c Xen netback driver rewrite. 2012-01-26 16:35:09 +00:00
subr_sglist.c This patch fixes two bugs in sglist(9) and improves robustness of the API via 2009-08-21 02:59:07 +00:00
subr_sleepqueue.c Tweak the commit message in case of panic for sleeping from threads 2012-09-12 22:05:54 +00:00
subr_smp.c Another fixe for r236772. 2012-06-11 18:47:26 +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 Move the checks for td_pinned, td_critnest, TDP_NOFAULTING and 2012-09-08 18:35:15 +00:00
subr_taskqueue.c Shorten the name of the fast SWI taskqueue to "fast taskq" so that 2012-08-28 13:35:37 +00:00
subr_trap.c Add CPU percentage limit enforcement to RCTL. The resouce name is "pcpu". 2012-10-26 16:01:08 +00:00
subr_turnstile.c Improve check coverage about idle threads. 2012-09-12 22:10:53 +00:00
subr_uio.c Replace the ill-named ZERO_COPY_SOCKET kernel option with two 2012-10-23 14:19:44 +00:00
subr_unit.c Correct double "the the" 2012-09-14 21:28:56 +00:00
subr_witness.c - Unlike cache invalidation and TLB demapping IPIs, reading registers from 2012-08-29 16:56:50 +00:00
sys_capability.c Style: move opt_*.h includes in the proper place. 2012-06-10 20:22:10 +00:00
sys_generic.c Disconnect non-MPSAFE SMBFS from the build in preparation for dropping 2012-10-18 12:04:56 +00:00
sys_pipe.c I am comparing current pipe code with the one in 8.3-STABLE r236165, 2012-07-31 05:48:35 +00:00
sys_procdesc.c Fix panic in procdesc that can be triggered in the following scenario: 2012-09-01 11:21:56 +00:00
sys_process.c Remove the support for using non-mpsafe filesystem modules. 2012-10-22 17:50:54 +00:00
sys_socket.c Add the fo_chown and fo_chmod methods to struct fileops and use them 2011-08-16 20:07:47 +00:00
syscalls.c regen. 2012-08-17 02:47:16 +00:00
syscalls.master Implement syscall clock_getcpuclockid2, so we can get a clock id 2012-08-17 02:26:31 +00:00
systrace_args.c Implement syscall clock_getcpuclockid2, so we can get a clock id 2012-08-17 02:26:31 +00:00
sysv_ipc.c Move SysV IPC freebsd32 compat shims helpers from freebsd32_misc.c to 2010-03-19 11:01:51 +00:00
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 Close a race due to dropping of the map lock between creating a map entry 2012-02-19 00:28:49 +00:00
tty.c Correct SIGTTIN handling. 2012-10-25 09:05:21 +00:00
tty_compat.c Make TIOCSTI work again. 2010-01-04 20:59:52 +00:00
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 In order to maximize the re-usability of kernel code in user space this 2011-09-16 13:58:51 +00:00
tty_tty.c Finish r210923, 210926. Mark some devices as eternal. 2011-01-04 10:59:38 +00:00
tty_ttydisc.c Correct SIGTTIN handling. 2012-10-25 09:05:21 +00:00
uipc_accf.c (S)LIST_HEAD_INITIALIZER takes a (S)LIST_HEAD as an argument. 2009-12-28 22:56:30 +00:00
uipc_cow.c Add some FEATURE macros for various features (AUDIT/CAM/IPC/KTR/MAC/NFS/NTP/ 2011-02-25 10:11:01 +00:00
uipc_debug.c Add missing socket options. 2009-05-26 09:19:21 +00:00
uipc_domain.c Move UMA socket zone initialization from uipc_domain.c to uipc_socket.c 2012-10-19 10:15:32 +00:00
uipc_mbuf.c Since the macro dtom() has been removed, fix comments about the dtom. 2012-10-29 10:04:28 +00:00
uipc_mbuf2.c Use ISO C99 integer types in sys/kern where possible. 2010-06-21 09:55:56 +00:00
uipc_mqueue.c Fix freebsd32_kmq_timedreceive() and freebsd32_kmq_timedsend() to use 2012-09-25 22:15:59 +00:00
uipc_sem.c In order to maximize the re-usability of kernel code in user space this 2011-09-16 13:58:51 +00:00
uipc_shm.c Export some more useful info about shared memory objects to userland 2012-04-01 18:22:48 +00:00
uipc_sockbuf.c Document a large number of currently undocumented sysctls. While here 2011-12-13 00:38:50 +00:00
uipc_socket.c In soreceive_stream() don't drop an already dequeued mbuf chain by 2012-10-29 12:31:12 +00:00
uipc_syscalls.c Remove the support for using non-mpsafe filesystem modules. 2012-10-22 17:50:54 +00:00
uipc_usrreq.c Remove the support for using non-mpsafe filesystem modules. 2012-10-22 17:50:54 +00:00
vfs_acl.c Remove the support for using non-mpsafe filesystem modules. 2012-10-22 17:50:54 +00:00
vfs_aio.c Remove the support for using non-mpsafe filesystem modules. 2012-10-22 17:50:54 +00:00
vfs_bio.c Remove the support for using non-mpsafe filesystem modules. 2012-10-22 17:50:54 +00:00
vfs_cache.c Remove the support for using non-mpsafe filesystem modules. 2012-10-22 17:50:54 +00:00
vfs_cluster.c Correct a KASSERT message. 2012-08-15 22:12:01 +00:00
vfs_default.c Remove the support for using non-mpsafe filesystem modules. 2012-10-22 17:50:54 +00:00
vfs_export.c Set the prison in NFS anon and GSS SVC creds. 2009-09-28 18:07:16 +00:00
vfs_extattr.c Remove the support for using non-mpsafe filesystem modules. 2012-10-22 17:50:54 +00:00
vfs_hash.c In keeping with style(9)'s recommendations on macros, use a ';' 2008-03-16 10:58:09 +00:00
vfs_init.c Remove the support for using non-mpsafe filesystem modules. 2012-10-22 17:50:54 +00:00
vfs_lookup.c Remove the support for using non-mpsafe filesystem modules. 2012-10-22 17:50:54 +00:00
vfs_mount.c Remove the support for using non-mpsafe filesystem modules. 2012-10-22 17:50:54 +00:00
vfs_mountroot.c Remove the support for using non-mpsafe filesystem modules. 2012-10-22 17:50:54 +00:00
vfs_subr.c Remove the support for using non-mpsafe filesystem modules. 2012-10-22 17:50:54 +00:00
vfs_syscalls.c Remove unused `vfslocked' variable. 2012-10-22 21:14:26 +00:00
vfs_vnops.c Remove the support for using non-mpsafe filesystem modules. 2012-10-22 17:50:54 +00:00
vnode_if.src Fix the mis-handling of the VV_TEXT on the nullfs vnodes. 2012-09-28 11:25:02 +00:00