freebsd-nq/sys/kern
Mark Johnston aa14e9b7c9 Reimplement support for userland core dump compression using a new interface
in kern_gzio.c. The old gzio interface was somewhat inflexible and has not
worked properly since r272535: currently, the gzio functions are called with
a range lock held on the output vnode, but kern_gzio.c does not pass the
IO_RANGELOCKED flag to vn_rdwr() calls, resulting in deadlock when vn_rdwr()
attempts to reacquire the range lock. Moreover, the new gzio interface can
be used to implement kernel core compression.

This change also modifies the kernel configuration options needed to enable
userland core dump compression support: gzio is now an option rather than a
device, and the COMPRESS_USER_CORES option is removed. Core dump compression
is enabled using the kern.compress_user_cores sysctl/tunable.

Differential Revision:	https://reviews.freebsd.org/D1832
Reviewed by:	rpaulo
Discussed with:	kib
2015-03-09 03:50:53 +00:00
..
bus_if.m
capabilities.conf
clock_if.m
cpufreq_if.m
device_if.m
genassym.sh
imgact_aout.c
imgact_binmisc.c
imgact_elf32.c
imgact_elf64.c
imgact_elf.c Reimplement support for userland core dump compression using a new interface 2015-03-09 03:50:53 +00:00
imgact_gzip.c
imgact_shell.c
inflate.c
init_main.c Allow the kern.osrelease and kern.osreldate sysctl values to be set in a 2015-02-27 16:28:55 +00:00
init_sysent.c
kern_acct.c
kern_alq.c
kern_clock.c
kern_clocksource.c
kern_condvar.c
kern_conf.c
kern_cons.c
kern_context.c
kern_cpu.c
kern_cpuset.c
kern_ctf.c Don't specify a resid parameter if we're just going to ignore it. Instead, 2015-02-20 20:49:00 +00:00
kern_descrip.c filedesc: obtain a stable copy of credentials in fget_unlocked 2015-02-18 13:37:28 +00:00
kern_dtrace.c
kern_dump.c
kern_environment.c
kern_et.c
kern_event.c
kern_exec.c
kern_exit.c The umtx_lock mutex is used by top-half of the kernel, but is 2015-02-28 04:19:02 +00:00
kern_fail.c
kern_ffclock.c
kern_fork.c
kern_gzio.c Reimplement support for userland core dump compression using a new interface 2015-03-09 03:50:53 +00:00
kern_hhook.c
kern_idle.c
kern_intr.c
kern_jail.c Format the line properly (wrap before column 80). 2015-02-28 17:44:31 +00:00
kern_khelp.c
kern_kthread.c The umtx_lock mutex is used by top-half of the kernel, but is 2015-02-28 04:19:02 +00:00
kern_ktr.c
kern_ktrace.c
kern_linker.c
kern_lock.c
kern_lockf.c
kern_lockstat.c
kern_loginclass.c
kern_malloc.c
kern_mbuf.c
kern_mib.c Allow the kern.osrelease and kern.osreldate sysctl values to be set in a 2015-02-27 16:28:55 +00:00
kern_module.c
kern_mtxpool.c
kern_mutex.c
kern_ntptime.c
kern_osd.c
kern_physio.c
kern_pmc.c
kern_poll.c
kern_priv.c
kern_proc.c
kern_procctl.c Reparenting done by debugger attach can leave reaper without direct 2015-02-15 08:44:30 +00:00
kern_prot.c
kern_racct.c
kern_rangelock.c
kern_rctl.c
kern_resource.c
kern_rmlock.c
kern_rwlock.c
kern_sdt.c
kern_sema.c
kern_sharedpage.c
kern_shutdown.c
kern_sig.c Reimplement support for userland core dump compression using a new interface 2015-03-09 03:50:53 +00:00
kern_switch.c
kern_sx.c
kern_synch.c
kern_syscalls.c
kern_sysctl.c
kern_tc.c Add mutex support to the pps_ioctl() API in the kernel. 2015-03-07 18:23:32 +00:00
kern_thr.c The umtx_lock mutex is used by top-half of the kernel, but is 2015-02-28 04:19:02 +00:00
kern_thread.c The umtx_lock mutex is used by top-half of the kernel, but is 2015-02-28 04:19:02 +00:00
kern_time.c
kern_timeout.c
kern_umtx.c The umtx_lock mutex is used by top-half of the kernel, but is 2015-02-28 04:19:02 +00:00
kern_uuid.c
kern_xxx.c
ksched.c
link_elf_obj.c
link_elf.c Make 32-bit PowerPC kernels, like 64-bit PowerPC kernels, position-independent 2015-03-07 20:14:46 +00:00
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 Put back Andy's void for gcc happiness. 2015-02-27 23:14:08 +00:00
serdev_if.m
stack_protector.c
subr_acl_nfs4.c
subr_acl_posix1e.c
subr_autoconf.c
subr_blist.c
subr_bufring.c
subr_bus_dma.c
subr_bus.c
subr_busdma_bufalloc.c
subr_capability.c
subr_clock.c
subr_counter.c
subr_devstat.c
subr_disk.c
subr_dnvlist.c Move libnv into the kernel and hook it into the kernel build 2015-03-01 00:34:27 +00:00
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
subr_mbpool.c
subr_mchain.c
subr_module.c
subr_msgbuf.c
subr_nvlist.c Move libnv into the kernel and hook it into the kernel build 2015-03-01 00:34:27 +00:00
subr_nvpair.c Move libnv into the kernel and hook it into the kernel build 2015-03-01 00:34:27 +00:00
subr_param.c
subr_pcpu.c
subr_pctrie.c
subr_power.c
subr_prf.c
subr_prof.c
subr_rman.c
subr_rtc.c
subr_sbuf.c
subr_scanf.c
subr_sfbuf.c
subr_sglist.c
subr_sleepqueue.c
subr_smp.c
subr_stack.c
subr_syscall.c
subr_taskqueue.c Remove taskqueue_start_threads_pinned(); there's noa generic cpuset version of this. 2015-02-25 21:59:03 +00:00
subr_terminal.c
subr_trap.c
subr_turnstile.c
subr_uio.c
subr_unit.c
subr_vmem.c
subr_witness.c The umtx_lock mutex is used by top-half of the kernel, but is 2015-02-28 04:19:02 +00:00
sys_capability.c
sys_generic.c filedesc: simplify fget_unlocked & friends 2015-02-17 23:54:06 +00:00
sys_pipe.c
sys_procdesc.c
sys_process.c
sys_socket.c
syscalls.c
syscalls.master
systrace_args.c
sysv_ipc.c
sysv_msg.c
sysv_sem.c
sysv_shm.c If malloc() sleeps, Giant is dropped. Recheck for another thread 2015-02-18 18:12:06 +00:00
tty_compat.c
tty_info.c
tty_inq.c
tty_outq.c
tty_pts.c
tty_tty.c
tty_ttydisc.c
tty.c filedesc: simplify fget_unlocked & friends 2015-02-17 23:54:06 +00:00
uipc_accf.c
uipc_debug.c
uipc_domain.c
uipc_mbuf2.c
uipc_mbuf.c Use anonymous unions and structs to organize shared space in mbuf(9), 2015-02-17 20:52:51 +00:00
uipc_mqueue.c
uipc_sem.c
uipc_shm.c
uipc_sockbuf.c
uipc_socket.c soreceive_generic() still has similar KASSERT(), therefore instead of 2015-02-23 15:24:43 +00:00
uipc_syscalls.c Correct the use of an unitialized variable in sendfind_getobj() 2015-02-28 21:49:59 +00:00
uipc_usrreq.c
vfs_acl.c
vfs_aio.c
vfs_bio.c
vfs_cache.c
vfs_cluster.c
vfs_default.c
vfs_export.c
vfs_extattr.c
vfs_hash.c
vfs_init.c
vfs_lookup.c
vfs_mount.c
vfs_mountroot.c
vfs_subr.c The VNASSERT in vflush() FORCECLOSE case is trying to panic early to 2015-02-27 16:43:50 +00:00
vfs_syscalls.c filedesc: simplify fget_unlocked & friends 2015-02-17 23:54:06 +00:00
vfs_vnops.c
vnode_if.src