freebsd-nq/sys/kern
Alexander Kabaev 31932fae1e Do not pass unmapped buffers to drivers that cannot handle them
In physio, check if device can handle unmapped IO and pass an
appropriately mapped buffer to the driver strategy routine. The
only driver in the tree that can handle unmapped buffers is one
exposed by GEOM, so mark it as such with the new flag in the
driver cdevsw structure.

This fixes insta-panics on hosts, running dconschat, as /dev/fwmem
is an example of the driver that makes use of physio routine, but
bypasses the g_down thread, where the buffer gets mapped normally.

Discussed with: kib (earlier version)
2013-03-26 01:17:06 +00:00
..
bus_if.m
capabilities.conf Implement chflagsat(2) system call, similar to fchmodat(2), but operates on 2013-03-21 22:59:01 +00:00
clock_if.m
cpufreq_if.m
device_if.m
dtio_kdtrace.c
genassym.sh
imgact_aout.c
imgact_elf32.c
imgact_elf64.c
imgact_elf.c - Fix two possible overflows when testing if ELF program headers are on 2013-03-13 22:01:31 +00:00
imgact_gzip.c
imgact_shell.c
inflate.c
init_main.c print compiler version in the kernel banner 2013-02-02 11:58:35 +00:00
init_sysent.c Regenerate after r248599. 2013-03-21 23:02:19 +00:00
kern_acct.c
kern_alq.c
kern_clock.c Add a generic way to call per event allocate / release function. 2013-03-05 10:18:48 +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
kern_cons.c
kern_context.c
kern_cpu.c
kern_cpuset.c
kern_ctf.c
kern_descrip.c Use dedicated malloc type for filecaps-related data, so we can detect any 2013-03-03 23:25:45 +00:00
kern_dtrace.c
kern_environment.c
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 Rework overflow checks of r247898 to not let too "intelligent" compiler to 2013-03-09 09:07:13 +00:00
kern_exec.c Switch the vm_object mutex to be a rwlock. This will enable in the 2013-03-09 02:32:23 +00:00
kern_exit.c Merge Capsicum overhaul: 2013-03-02 00:53:12 +00:00
kern_fail.c
kern_ffclock.c
kern_fork.c Merge Capsicum overhaul: 2013-03-02 00:53:12 +00:00
kern_gzio.c
kern_hhook.c
kern_idle.c
kern_intr.c MFcalloutng (r244355): 2013-03-04 11:22:19 +00:00
kern_jail.c
kern_khelp.c
kern_kthread.c
kern_ktr.c ktr: correctly handle possible wrap-around in the boot buffer 2013-02-08 07:29:07 +00:00
kern_ktrace.c
kern_linker.c
kern_lock.c lockmgr: unlock interlock (if requested) when dealing with upgrade/downgrade 2013-01-06 21:47:59 +00:00
kern_lockf.c
kern_lockstat.c
kern_loginclass.c
kern_malloc.c Try to improve r242655 take III: move these SYSCTLs describing the kernel 2013-02-04 09:35:48 +00:00
kern_mbuf.c Move the mbuf memory limit calculations from init_param2() to 2013-01-17 21:28:31 +00:00
kern_mib.c fix some fat-fingering in r246246 2013-02-02 14:19:50 +00:00
kern_module.c
kern_mtxpool.c
kern_mutex.c
kern_ntptime.c
kern_osd.c
kern_physio.c Do not pass unmapped buffers to drivers that cannot handle them 2013-03-26 01:17:06 +00:00
kern_pmc.c
kern_poll.c
kern_priv.c
kern_proc.c Switch the vm_object mutex to be a rwlock. This will enable in the 2013-03-09 02:32:23 +00:00
kern_prot.c
kern_racct.c Accessing td_state requires thread lock to be held. 2013-03-14 23:20:18 +00:00
kern_rangelock.c
kern_rctl.c
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
kern_rwlock.c
kern_sdt.c
kern_sema.c
kern_sharedpage.c Switch the vm_object mutex to be a rwlock. This will enable in the 2013-03-09 02:32:23 +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 Tweak some comments. 2013-03-18 18:04:09 +00:00
kern_switch.c
kern_sx.c
kern_synch.c Partially revert r195702. Deferring stops is now implemented via a set of 2013-03-18 17:23:58 +00:00
kern_syscalls.c
kern_sysctl.c - Use strdup(9) instead of reimplementing it. 2013-03-01 18:49:14 +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
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 Make kern_nanosleep() and pause_sbt() to use per-CPU sleep queues. 2013-03-12 06:58:49 +00:00
kern_timeout.c Cache the callout precision argument as part of the informations required 2013-03-25 09:43:50 +00:00
kern_umtx.c Fix a bug in UMTX_PROFILING: 2013-03-21 19:58:25 +00:00
kern_uuid.c
kern_xxx.c
ksched.c
link_elf_obj.c
link_elf.c
linker_if.m
Make.tags.inc
Makefile
makesyscalls.sh
md4c.c
md5c.c
p1003_1b.c
posix4_mib.c
sched_4bsd.c
sched_ule.c
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 Implement the concept of the unmapped VMIO buffers, i.e. buffers which 2013-03-19 14:13:12 +00:00
subr_bus.c Fix a typo. 2013-01-23 14:37:05 +00:00
subr_busdma_bufalloc.c
subr_clock.c
subr_devstat.c
subr_disk.c
subr_dummy_vdso_tc.c
subr_eventhandler.c
subr_fattime.c
subr_firmware.c
subr_hash.c
subr_hints.c
subr_kdb.c
subr_kobj.c
subr_lock.c
subr_log.c MFcalloutng (r244255 by mav, with minor changes): 2013-03-04 16:07:55 +00:00
subr_mbpool.c
subr_mchain.c
subr_module.c
subr_msgbuf.c
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
subr_power.c
subr_prf.c
subr_prof.c
subr_rman.c
subr_rtc.c
subr_sbuf.c
subr_scanf.c
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
subr_stack.c
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 Switch the vm_object mutex to be a rwlock. This will enable in the 2013-03-09 02:32:23 +00:00
subr_unit.c
subr_witness.c Correct the lock class for the vm object lock. 2013-03-09 10:16:08 +00:00
sys_capability.c Merge Capsicum overhaul: 2013-03-02 00:53:12 +00:00
sys_generic.c Rework overflow checks of r247898 to not let too "intelligent" compiler to 2013-03-09 09:07:13 +00:00
sys_pipe.c Remove redundant space. 2013-02-17 11:48:16 +00:00
sys_procdesc.c
sys_process.c Switch the vm_object mutex to be a rwlock. This will enable in the 2013-03-09 02:32:23 +00:00
sys_socket.c
syscalls.c Regenerate after r248599. 2013-03-21 23:02:19 +00:00
syscalls.master Implement chflagsat(2) system call, similar to fchmodat(2), but operates on 2013-03-21 22:59:01 +00:00
systrace_args.c Regenerate after r248599. 2013-03-21 23:02:19 +00:00
sysv_ipc.c
sysv_msg.c
sysv_sem.c
sysv_shm.c Switch the vm_object mutex to be a rwlock. This will enable in the 2013-03-09 02:32:23 +00:00
tty_compat.c
tty_info.c
tty_inq.c
tty_outq.c
tty_pts.c Allow O_CLOEXEC in posix_openpt() flags. 2013-03-21 21:39:15 +00:00
tty_tty.c
tty_ttydisc.c
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
uipc_mbuf.c In m_align() add assertions that mbuf is virgin, similar to assertions 2013-03-17 07:41:14 +00:00
uipc_mqueue.c Merge Capsicum overhaul: 2013-03-02 00:53:12 +00:00
uipc_sem.c Merge Capsicum overhaul: 2013-03-02 00:53:12 +00:00
uipc_shm.c Switch the vm_object mutex to be a rwlock. This will enable in the 2013-03-09 02:32:23 +00:00
uipc_sockbuf.c Use m_get() and m_getcl() instead of compat macros. 2013-03-15 10:21:18 +00:00
uipc_socket.c Implement SOCK_CLOEXEC, SOCK_NONBLOCK and MSG_CMSG_CLOEXEC. 2013-03-19 20:58:17 +00:00
uipc_syscalls.c Implement SOCK_CLOEXEC, SOCK_NONBLOCK and MSG_CMSG_CLOEXEC. 2013-03-19 20:58:17 +00:00
uipc_usrreq.c Implement SOCK_CLOEXEC, SOCK_NONBLOCK and MSG_CMSG_CLOEXEC. 2013-03-19 20:58:17 +00:00
vfs_acl.c Prezero the acl structure which is to be copied to usermode, to avoid 2013-02-06 15:18:46 +00:00
vfs_aio.c Do not remap usermode pages into KVA for physio. 2013-03-19 14:43:57 +00:00
vfs_bio.c Only size and create the bio_transient_map when unmapped buffers are 2013-03-21 07:28:15 +00:00
vfs_cache.c When renaming a directory from one parent directory to another, 2013-03-20 17:57:00 +00:00
vfs_cluster.c Implement the concept of the unmapped VMIO buffers, i.e. buffers which 2013-03-19 14:13:12 +00:00
vfs_default.c Switch the vm_object mutex to be a rwlock. This will enable in the 2013-03-09 02:32:23 +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
vfs_hash.c Add exported vfs_hash_index() function, which calculates the canonical 2013-01-14 05:41:40 +00:00
vfs_init.c Don't worry if a module is already loaded when looking for a fstype to mount 2013-02-21 02:41:37 +00:00
vfs_lookup.c Merge Capsicum overhaul: 2013-03-02 00:53:12 +00:00
vfs_mount.c When the journaled FFS volume is suspended due to the journal space 2013-03-20 21:07:49 +00:00
vfs_mountroot.c post mountroot event after a real/final root is mounted 2013-03-23 08:59:34 +00:00
vfs_subr.c Switch the vm_object mutex to be a rwlock. This will enable in the 2013-03-09 02:32:23 +00:00
vfs_syscalls.c - Constify local path variable for chflagsat(). 2013-03-22 07:40:34 +00:00
vfs_vnops.c Separate the copyright lines and the informational block by a blank line. 2013-03-15 14:01:37 +00:00
vnode_if.src