freebsd-dev/sys/kern
Konstantin Belousov ea117d1735 The vinactive() call in vgonel() may start writes for the dirty pages,
creating delayed write buffers belonging to the reclaimed vnode.  Put
the buffer cleanup code after inactivation.

Add asserts that ensure that buffer queues are empty and add BO_DEAD
flag for bufobj to check that no buffers are added after the cleanup.
BO_DEAD is only used by INVARIANTS-enabled kernels.

Reported and tested by:	pho (previous version)
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
2014-12-13 16:02:37 +00:00
..
bus_if.m Add a bus method to fetch the VM domain for the given device/bus. 2014-10-09 05:33:25 +00:00
capabilities.conf Allow sigwait(2) in capabilities mode. 2014-01-28 01:49:49 +00:00
clock_if.m
cpufreq_if.m
device_if.m
genassym.sh
imgact_aout.c
imgact_binmisc.c Allow multiple image activators to run on the same execution by changing 2014-09-04 21:31:25 +00:00
imgact_elf32.c
imgact_elf64.c
imgact_elf.c The size value should be asserted when it is known. 2014-11-22 18:15:02 +00:00
imgact_gzip.c Add a mmap flag (MAP_32BIT) on 64-bit platforms to request that a mapping use 2013-09-09 18:11:59 +00:00
imgact_shell.c Allow multiple image activators to run on the same execution by changing 2014-09-04 21:31:25 +00:00
inflate.c
init_main.c The process spin lock currently has the following distinct uses: 2014-11-26 14:10:00 +00:00
init_sysent.c Regen for r274462. 2014-11-13 05:28:06 +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 Prevent alq from panic when the invalid alq_file path specified. 2014-04-05 16:54:47 +00:00
kern_clock.c The process spin lock currently has the following distinct uses: 2014-11-26 14:10:00 +00:00
kern_clocksource.c remove opensolaris cyclic code, replace with high-precision callouts 2014-12-07 11:21:41 +00:00
kern_condvar.c Fix lc_lock/lc_unlock() support for rmlocks held in shared mode. With 2013-09-20 23:06:21 +00:00
kern_conf.c Remove global device lock acquisition from dev_relthread(), replacing it 2013-10-22 10:40:26 +00:00
kern_cons.c Stop using early_putc immediately after configuring console with cninit() 2014-11-19 14:23:29 +00:00
kern_context.c
kern_cpu.c Pull in r267961 and r267973 again. Fix for issues reported will follow. 2014-06-28 03:56:17 +00:00
kern_cpuset.c Fix multiple incorrect SYSCTL arguments in the kernel: 2014-10-21 07:31:21 +00:00
kern_ctf.c
kern_descrip.c Properly initialize the capability rights for vnodes exported to procstat 2014-11-24 18:34:11 +00:00
kern_dtrace.c Commit the rest of the changes that were intended to be part of r266826. 2014-05-29 01:42:22 +00:00
kern_environment.c Test if 'env' is NULL before doing memset() and strlen(), 2014-10-23 18:23:50 +00:00
kern_et.c Fix build breakage. Apparently all ARM configs build kern_et.c, but only a 2014-04-02 17:34:17 +00:00
kern_event.c prevent doing filter ops locking for staticly compiled filter ops... 2014-11-16 01:18:41 +00:00
kern_exec.c filedesc: fix missed comments about fdsetugidsafety 2014-10-31 09:56:00 +00:00
kern_exit.c When process is exiting, check for suspension regardless of 2014-12-08 16:02:02 +00:00
kern_fail.c
kern_ffclock.c The SYSCTL data pointers can come from userspace and must not be 2014-10-28 12:00:39 +00:00
kern_fork.c filedesc: fixup fdinit to lock fdp and preapare files conditinally 2014-11-13 21:15:09 +00:00
kern_gzio.c
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
kern_intr.c This is the much-discussed major upgrade to the random(4) device, known to you all as /dev/random. 2014-10-30 21:21:53 +00:00
kern_jail.c Avoid unlocking unlocked mutex in RCTL jail code. Specific test case 2014-09-09 16:05:33 +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 Drop KTR records when we're in the debugger so that the debugger isn't 2014-07-02 22:13:07 +00:00
kern_ktrace.c Pull in r267961 and r267973 again. Fix for issues reported will follow. 2014-06-28 03:56:17 +00:00
kern_linker.c Const poison in a few places to ensure we don't modify things 2014-12-03 22:14:13 +00:00
kern_lock.c Do not try to dereference thread pointer when the value is not a pointer. 2014-11-13 17:44:35 +00:00
kern_lockf.c Correct the problem reported by test16 from 2014-07-08 08:10:15 +00:00
kern_lockstat.c - For kernel compiled only with KDTRACE_HOOKS and not any lock debugging 2013-11-25 07:38:45 +00:00
kern_loginclass.c Simplify sys_getloginclass. 2014-10-28 04:59:33 +00:00
kern_malloc.c svn revisions r269964 and r269963 seemed to have impaired small memory 2014-09-22 05:07:22 +00:00
kern_mbuf.c Test for absence of M_NOFREE before attempting to purge the mbuf's tags. 2014-09-30 23:16:26 +00:00
kern_mib.c Fix multiple incorrect SYSCTL arguments in the kernel: 2014-10-21 07:31:21 +00:00
kern_module.c
kern_mtxpool.c Garbage collect mtxpool_lockbuilder, the mutex pool historically used 2014-05-02 07:57:40 +00:00
kern_mutex.c Disable recursion for the process spinlock. 2014-12-01 17:36:10 +00:00
kern_ntptime.c Pull in r267961 and r267973 again. Fix for issues reported will follow. 2014-06-28 03:56:17 +00:00
kern_osd.c Pull in r267961 and r267973 again. Fix for issues reported will follow. 2014-06-28 03:56:17 +00:00
kern_physio.c Fix some issues in change 254760 pointed out by Bruce Evans: 2013-08-29 16:41:40 +00:00
kern_pmc.c Pull in r267961 and r267973 again. Fix for issues reported will follow. 2014-06-28 03:56:17 +00:00
kern_poll.c - Remove empty wrappers ether_poll_[de]register_drv(). [1] 2014-09-28 14:05:18 +00:00
kern_priv.c Pull in r267961 and r267973 again. Fix for issues reported will follow. 2014-06-28 03:56:17 +00:00
kern_proc.c Disable recursion for the process spinlock. 2014-12-01 17:36:10 +00:00
kern_prot.c Extend struct ucred with group table. 2014-11-05 02:08:37 +00:00
kern_racct.c The process spin lock currently has the following distinct uses: 2014-11-26 14:10:00 +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
kern_resource.c The process spin lock currently has the following distinct uses: 2014-11-26 14:10:00 +00:00
kern_rmlock.c - For kernel compiled only with KDTRACE_HOOKS and not any lock debugging 2013-11-25 07:38:45 +00:00
kern_rwlock.c Add a new thread state "spinning" to schedgraph and add tracepoints at the 2014-11-04 16:35:56 +00:00
kern_sdt.c Print a backtrace if the SDT(9) stub gets called so that there's at least 2014-02-22 01:41:45 +00:00
kern_sema.c
kern_sharedpage.c Remove the deprecated VM_ALLOC_RETRY flag for the vm_page_grab(9). 2013-08-22 07:39:53 +00:00
kern_shutdown.c Add missing privilege check when setting the dump device. Before that change it 2014-11-11 04:48:09 +00:00
kern_sig.c Assert the state of the process lock and sigact mutex in 2014-11-28 10:20:00 +00:00
kern_switch.c
kern_sx.c Add a new thread state "spinning" to schedgraph and add tracepoints at the 2014-11-04 16:35:56 +00:00
kern_synch.c Fix multiple incorrect SYSCTL arguments in the kernel: 2014-10-21 07:31:21 +00:00
kern_syscalls.c Fix up module unload for syscall_module_handler consumers. 2014-11-01 22:36:40 +00:00
kern_sysctl.c Now that sysctl_root is only called with sysctl lock in shared mode, update 2014-10-26 01:47:55 +00:00
kern_tc.c Pull in r267961 and r267973 again. Fix for issues reported will follow. 2014-06-28 03:56:17 +00:00
kern_thr.c Clean up confusing comment. Move it to the place of code which is 2014-11-03 11:29:08 +00:00
kern_thread.c Do some refactoring and minor cleanups of the thread_single() code in 2014-12-08 16:27:43 +00:00
kern_time.c The process spin lock currently has the following distinct uses: 2014-11-26 14:10:00 +00:00
kern_timeout.c Add schedgraph traces for callout handlers. Specifically, a callwheel logs 2014-10-08 16:22:59 +00:00
kern_umtx.c Fix assertion, &uc->uc_busy is never zero, the intent is to test the 2014-11-13 18:51:09 +00:00
kern_uuid.c Fix a bug in be_uuid_dec(); it called le16dec() instead of be16dec(), 2014-02-13 22:24:36 +00:00
kern_xxx.c
ksched.c
link_elf_obj.c Fully support constructors for the purpose of code coverage analysis. 2014-10-20 17:04:03 +00:00
link_elf.c Fully support constructors for the purpose of code coverage analysis. 2014-10-20 17:04:03 +00:00
linker_if.m
Make.tags.inc Remove AppleTalk support. 2014-03-14 06:29:43 +00:00
Makefile
makesyscalls.sh Fix syscalls that can be loaded as kernel modules - they were not given 2013-12-15 23:19:42 +00:00
md4c.c
md5c.c
p1003_1b.c
posix4_mib.c
sched_4bsd.c Restore pre-r239157 handling of sched_yield(), when thread time slice was 2014-08-23 17:31:56 +00:00
sched_ule.c Update the ULE scheduler + thread and kinfo structs to use int for cpuid 2014-10-18 19:36:11 +00:00
serdev_if.m
stack_protector.c
subr_acl_nfs4.c
subr_acl_posix1e.c
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 Add bus_dmamap_load_ma() function to load map with the array of 2013-10-27 21:39:16 +00:00
subr_bus.c Revert device_getenv_int() for now as it duplicates resource_int_value(). 2014-12-03 15:29:53 +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_capability.c Remove duplicated includes. 2014-06-26 13:57:44 +00:00
subr_clock.c For architectures where time_t is wide enough, in particular, 64bit 2014-12-12 09:37:18 +00:00
subr_counter.c Create two public UMA_ZONE_PCPU zones: 64 bit sized and pointer sized. 2014-02-10 19:59:46 +00:00
subr_devstat.c Fix multiple incorrect SYSCTL arguments in the kernel: 2014-10-21 07:31:21 +00:00
subr_disk.c
subr_dummy_vdso_tc.c
subr_eventhandler.c
subr_fattime.c Fix a comment typo; conversion tables are for leap years, not leap seconds. 2014-04-20 13:37:22 +00:00
subr_firmware.c
subr_hash.c
subr_hints.c Follow up to r225617. In order to maximize the re-usability of kernel code 2014-10-16 18:04:43 +00:00
subr_kdb.c Fix multiple incorrect SYSCTL arguments in the kernel: 2014-10-21 07:31:21 +00:00
subr_kobj.c
subr_lock.c Drop the 3rd clause from all 3 clause BSD licenses where I am the sole 2014-02-05 18:13:27 +00:00
subr_log.c MFcalloutng (r244255 by mav, with minor changes): 2013-03-04 16:07:55 +00:00
subr_mbpool.c All mbuf external free functions never fail, so let them be void. 2014-07-11 13:58:48 +00:00
subr_mchain.c
subr_module.c
subr_msgbuf.c Pull in r267961 and r267973 again. Fix for issues reported will follow. 2014-06-28 03:56:17 +00:00
subr_param.c Rework virtual machine hypervisor detection. 2014-10-28 19:17:44 +00:00
subr_pcpu.c Create two public UMA_ZONE_PCPU zones: 64 bit sized and pointer sized. 2014-02-10 19:59:46 +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 Pull in r267961 and r267973 again. Fix for issues reported will follow. 2014-06-28 03:56:17 +00:00
subr_prof.c The process spin lock currently has the following distinct uses: 2014-11-26 14:10:00 +00:00
subr_rman.c Nuke the never-used RF_TIMESHARE feature, reducing the complexity of the 2014-07-16 22:18:19 +00:00
subr_rtc.c
subr_sbuf.c Unbreak the ABI by reverting r268494 until the compat shims are provided 2014-07-28 07:20:22 +00:00
subr_scanf.c
subr_sfbuf.c Move KASSERT into locked region. 2014-08-11 15:06:07 +00:00
subr_sglist.c Add sglist_append_bio(9) to append a struct bio's data to a sglist 2014-01-13 04:41:08 +00:00
subr_sleepqueue.c sysctl subsystem uses sxlocks so avoid to setup dynamic sysctl nodes 2014-06-24 15:16:55 +00:00
subr_smp.c Pull in r267961 and r267973 again. Fix for issues reported will follow. 2014-06-28 03:56:17 +00:00
subr_stack.c
subr_syscall.c Thread waiting for the vfork(2)-ed child to exec or exit, must allow 2014-12-08 16:18:05 +00:00
subr_taskqueue.c Remove trailing whitespace. 2014-11-30 19:32:00 +00:00
subr_terminal.c vt(4): Adjust the cursor position after changing the window size 2014-11-01 17:05:15 +00:00
subr_trap.c Fix two issues with /dev/mem access on amd64, both causing kernel page 2014-03-21 14:25:09 +00:00
subr_turnstile.c dtrace sdt: remove the ugly sname parameter of SDT_PROBE_DEFINE 2013-11-26 08:46:27 +00:00
subr_uio.c Add type qualifier volatile to the base (userspace) address argument 2014-10-31 17:43:21 +00:00
subr_unit.c Move the definition of the struct unrhdr into a separate header file, 2013-08-30 07:37:45 +00:00
subr_vmem.c Do not set M_BESTFIT if a strategy has already been provided. This 2014-04-16 21:39:43 +00:00
subr_witness.c Fix a typo from r189544, which replaced unp_global_rwlock with unp_list_lock 2014-10-20 20:21:40 +00:00
sys_capability.c Prepare fget_unlocked for reading fd table only once. 2014-07-23 19:33:49 +00:00
sys_generic.c Style changes: 2014-11-28 09:32:07 +00:00
sys_pipe.c Remove lock recursion for the pipe pair mutex, and disable the 2014-11-29 17:18:20 +00:00
sys_procdesc.c Add a new fo_fill_kinfo fileops method to add type-specific information to 2014-09-22 16:20:47 +00:00
sys_process.c Plug unnecessary PRS_NEW check in kern_procctl. 2014-10-22 04:16:09 +00:00
sys_socket.c In preparation of merging projects/sendfile, transform bare access to 2014-11-12 09:57:15 +00:00
syscalls.c Regen for r274462. 2014-11-13 05:28:06 +00:00
syscalls.master Add the ppoll() system call. 2014-11-13 05:26:14 +00:00
systrace_args.c Regen for r274462. 2014-11-13 05:28:06 +00:00
sysv_ipc.c
sysv_msg.c Avoid dynamic syscall overhead for statically compiled modules. 2014-10-26 19:42:44 +00:00
sysv_sem.c Avoid dynamic syscall overhead for statically compiled modules. 2014-10-26 19:42:44 +00:00
sysv_shm.c Avoid dynamic syscall overhead for statically compiled modules. 2014-10-26 19:42:44 +00:00
tty_compat.c
tty_info.c
tty_inq.c
tty_outq.c
tty_pts.c Implement FIODTYPE for master ptys. 2014-10-15 12:38:26 +00:00
tty_tty.c
tty_ttydisc.c
tty.c Fix draining in ttydev_leave(): 2014-10-09 02:30:38 +00:00
uipc_accf.c The accept filter code is not specific to the FreeBSD IPv4 network stack, 2014-07-26 19:27:34 +00:00
uipc_debug.c Merge from projects/sendfile: 2014-11-30 12:52:33 +00:00
uipc_domain.c Merge from projects/sendfile: extend protocols API to support 2014-11-30 13:24:21 +00:00
uipc_mbuf2.c
uipc_mbuf.c Merge from projects/sendfile: extend protocols API to support 2014-11-30 13:24:21 +00:00
uipc_mqueue.c Avoid dynamic syscall overhead for statically compiled modules. 2014-10-26 19:42:44 +00:00
uipc_sem.c Avoid dynamic syscall overhead for statically compiled modules. 2014-10-26 19:42:44 +00:00
uipc_shm.c Add a new fo_fill_kinfo fileops method to add type-specific information to 2014-09-22 16:20:47 +00:00
uipc_sockbuf.c Merge from projects/sendfile: extend protocols API to support 2014-11-30 13:24:21 +00:00
uipc_socket.c Merge from projects/sendfile: extend protocols API to support 2014-11-30 13:24:21 +00:00
uipc_syscalls.c Remove the no-at variants of the kern_xx() syscall helpers. E.g., we 2014-11-13 18:01:51 +00:00
uipc_usrreq.c Merge from projects/sendfile: 2014-11-30 13:40:58 +00:00
vfs_acl.c Replace some calls to fuword() by fueword() with proper error checking. 2014-10-28 15:28:20 +00:00
vfs_aio.c Avoid dynamic syscall overhead for statically compiled modules. 2014-10-26 19:42:44 +00:00
vfs_bio.c When getnewbuf_reuse_bp() is called to reclaim some (clean) buffer, 2014-12-08 16:42:34 +00:00
vfs_cache.c Fix multiple incorrect SYSCTL arguments in the kernel: 2014-10-21 07:31:21 +00:00
vfs_cluster.c When allocating a pbuf for the cluster write, do not sleep waiting 2013-08-27 01:31:12 +00:00
vfs_default.c Merge from projects/sendfile: 2014-11-23 12:01:52 +00:00
vfs_export.c After the changes in r274118 make NOIP kernels compile by hiding an 2014-11-06 12:19:39 +00:00
vfs_extattr.c Update kernel inclusions of capability.h to use capsicum.h instead; some 2014-03-16 10:55:57 +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 Rename sysctl_lock and _unlock to sysctl_xlock and _xunlock. 2014-10-21 19:02:26 +00:00
vfs_lookup.c Fix two issues with lockmgr(9) LK_CAN_SHARE() test, which determines 2014-11-02 13:10:31 +00:00
vfs_mount.c Do not call VFS_SYNC() before VFS_UNMOUNT() for forced unmount. 2014-12-09 10:00:47 +00:00
vfs_mountroot.c Remove the no-at variants of the kern_xx() syscall helpers. E.g., we 2014-11-13 18:01:51 +00:00
vfs_subr.c The vinactive() call in vgonel() may start writes for the dirty pages, 2014-12-13 16:02:37 +00:00
vfs_syscalls.c Correct a typo to fix chown(2). It was broken since r274476. 2014-11-13 23:51:13 +00:00
vfs_vnops.c In vfs_write_suspend_umnt(), if suspension cannot be established, do 2014-11-14 11:31:10 +00:00
vnode_if.src Merge from projects/sendfile: 2014-11-23 12:01:52 +00:00