freebsd-skq/sys/kern
cem 63c98f9ad4 ddb(4): Add 'sysctl' command
Implement `sysctl` in `ddb` by overriding `SYSCTL_OUT`.  When handling the
req, we install custom ddb in/out handlers.  The out handler prints straight
to the debugger, while the in handler ignores all input.  This is intended
to allow us to print just about any sysctl.

There is a known issue when used from ddb(4) entered via 'sysctl
debug.kdb.enter=1'.  The DDB mode does not quite prevent all lock
interactions, and it is possible for the recursive Giant lock to be unlocked
when the ddb(4) 'sysctl' command is used.  This may result in a panic on
return from ddb(4) via 'c' (continue).  Obviously, this is not a problem
when debugging already-paniced systems.

Submitted by:	Travis Lane (formerly: <travis.lane AT isilon.com>)
Reviewed by:	vangyzen (earlier version), Don Morris <dgmorris AT earthlink.net>
Sponsored by:	Dell EMC Isilon
Differential Revision:	https://reviews.freebsd.org/D20219
2019-08-08 00:42:29 +00:00
..
bus_if.m Add necessary bits for Linux KPI to work correctly on powerpc 2019-08-04 19:28:10 +00:00
capabilities.conf Enable copy_file_range(2) in capability mode. 2019-07-30 15:59:44 +00:00
clock_if.m
cpufreq_if.m
device_if.m
genassym.sh
genoffset.c With epoch not inlined, there is no point in using _lite KPI. While here, 2018-11-13 23:45:38 +00:00
genoffset.sh
imgact_aout.c Switch to use shared vnode locks for text files during image activation. 2019-05-05 11:20:43 +00:00
imgact_binmisc.c Add helper functions to copy strings into struct image_args. 2018-11-29 21:00:56 +00:00
imgact_elf32.c
imgact_elf64.c
imgact_elf.c Fix mis-merge. 2019-08-05 19:19:25 +00:00
imgact_shell.c Add helper functions to copy strings into struct image_args. 2018-11-29 21:00:56 +00:00
init_main.c Extract eventfilter declarations to sys/_eventfilter.h 2019-05-20 00:38:23 +00:00
init_sysent.c Regenerate after r350447. 2019-07-30 16:01:16 +00:00
kern_acct.c
kern_alq.c
kern_clock.c Update td_runtime of running thread on each statclock(). 2019-06-14 01:09:10 +00:00
kern_clocksource.c
kern_condvar.c
kern_conf.c Bump SPECNAMELEN to MAXNAMLEN. 2019-01-27 00:46:06 +00:00
kern_cons.c
kern_context.c Remove superfluous bzero in getcontext/swapcontext/sendsig 2018-11-26 20:56:05 +00:00
kern_cpu.c
kern_cpuset.c Add malloc_domainset(9) and _domainset variants to other allocator KPIs. 2018-10-30 18:26:34 +00:00
kern_ctf.c kern/CTF: link_elf_ctf_get() on big endian platforms 2019-05-27 04:20:31 +00:00
kern_descrip.c Check and avoid overflow when incrementing fp->f_count in 2019-07-21 15:07:12 +00:00
kern_dtrace.c
kern_dump.c
kern_environment.c Fix zapping of static hints and env in init_static_kenv(). Environments 2019-02-05 15:34:55 +00:00
kern_et.c
kern_event.c Avoid relying on header pollution from sys/refcount.h. 2019-07-29 20:26:01 +00:00
kern_exec.c Fix mis-merge 2019-08-05 19:16:33 +00:00
kern_exit.c exit1: fix style nits 2019-08-05 20:20:14 +00:00
kern_fail.c
kern_ffclock.c
kern_fork.c Inherit P2_PROTMAX_{ENABLE,DISABLE} across fork(). 2019-07-10 19:57:48 +00:00
kern_hhook.c
kern_idle.c
kern_intr.c Disable intr_storm_threshold mechanism by default 2019-05-24 22:33:14 +00:00
kern_jail.c Replace hand-rolled unrefs if > 1 with refcount_release_if_not_last 2018-12-07 16:11:45 +00:00
kern_kcov.c kcov depends on eventhandler.h. 2019-05-20 19:14:07 +00:00
kern_khelp.c
kern_kthread.c proc: always store parent pid in p_oppid 2018-11-16 17:07:54 +00:00
kern_ktr.c Drop "All rights reserved" from my copyright statements. 2019-03-06 22:11:45 +00:00
kern_ktrace.c
kern_linker.c
kern_lock.c Add flag LK_NEW for lockinit() that is converted to LO_NEW and passed 2019-01-15 00:35:19 +00:00
kern_lockf.c
kern_lockstat.c
kern_loginclass.c Replace hand-rolled unrefs if > 1 with refcount_release_if_not_last 2018-12-07 16:11:45 +00:00
kern_malloc.c Handle overflow in calculating max kmem size. 2019-01-14 07:31:19 +00:00
kern_mbuf.c Invoke ext_free function when freeing an unmapped mbuf. 2019-07-02 22:58:21 +00:00
kern_mib.c Add missing include of sys/boot.h 2019-06-24 20:52:21 +00:00
kern_module.c
kern_mtxpool.c Increase MTX_POOL_SLEEP_SIZE from 128 to 1024. 2018-12-24 23:52:35 +00:00
kern_mutex.c locks: plug warnings about unitialized variables 2018-11-13 21:29:56 +00:00
kern_ntptime.c Clear pad bytes in the struct exported by kern.ntp_pll.gettime. 2018-11-20 20:32:10 +00:00
kern_osd.c
kern_physio.c Allocate pager bufs from UMA instead of 80-ish mutex protected linked list. 2019-01-15 01:02:16 +00:00
kern_pmc.c Add malloc_domainset(9) and _domainset variants to other allocator KPIs. 2018-10-30 18:26:34 +00:00
kern_poll.c
kern_priv.c Check for probes enabled in priv_check_cred before evaluting the error. 2018-12-19 23:28:29 +00:00
kern_proc.c Extract eventfilter declarations to sys/_eventfilter.h 2019-05-20 00:38:23 +00:00
kern_procctl.c Control implicit PROT_MAX() using procctl(2) and the FreeBSD note 2019-07-02 19:07:17 +00:00
kern_prot.c Remove wrong inline keyword. 2019-05-30 16:11:20 +00:00
kern_racct.c racct: add RACCT_ENABLED macro and racct_set_unlocked 2018-12-07 16:47:34 +00:00
kern_rangelock.c Add non-blocking trylock variants for the rangelock functions. 2019-06-27 23:10:40 +00:00
kern_rctl.c
kern_resource.c Fix a typo introduced in r344133 2019-03-18 12:41:42 +00:00
kern_rmlock.c Make no assertions about lock state when the scheduler is stopped. 2018-11-13 20:48:05 +00:00
kern_rwlock.c Drop "All rights reserved" from my copyright statements. 2019-03-06 22:11:45 +00:00
kern_sdt.c
kern_sema.c
kern_sendfile.c Since r350426 this KASSERT doesn't serve any useful purpose. 2019-08-06 16:11:00 +00:00
kern_sharedpage.c
kern_shutdown.c EKCD: Add Chacha20 encryption mode 2019-05-23 20:12:24 +00:00
kern_sig.c Avoid relying on header pollution from sys/refcount.h. 2019-07-29 20:26:01 +00:00
kern_switch.c
kern_sx.c sx: retire SX_NOADAPTIVE 2018-12-05 16:43:03 +00:00
kern_synch.c Add wakeup_any(), cheaper wakeup_one() for taskqueue(9). 2019-06-20 01:15:33 +00:00
kern_syscalls.c
kern_sysctl.c ddb(4): Add 'sysctl' command 2019-08-08 00:42:29 +00:00
kern_tc.c Instead of using an incomplete list of platforms that uses 64bits time_t 2019-01-13 00:19:15 +00:00
kern_thr.c
kern_thread.c Always set td_errno to the error value of a system call. 2019-07-15 21:16:01 +00:00
kern_time.c Disallow excessively small times of day in clock_settime(2). 2019-05-03 21:26:44 +00:00
kern_timeout.c Save the last callout function executed on each CPU 2019-07-03 19:22:44 +00:00
kern_tslog.c
kern_ubsan.c Teach the kernel KUBSAN runtime about alignment_assumption 2019-05-28 09:12:15 +00:00
kern_umtx.c Make umtxq_check_susp() to correctly handle thread exit requests. 2019-08-01 14:34:27 +00:00
kern_uuid.c Use sbuf_cat() in GEOM confxml generation. 2019-06-19 15:36:02 +00:00
kern_xxx.c Normalize COMPAT_43 syscall declarations. 2018-12-04 16:48:47 +00:00
ksched.c
link_elf_obj.c Remove dead check. 2019-06-03 15:23:37 +00:00
link_elf.c Fix dpcpu and vnet panics with complex types at the end of the section. 2019-06-08 17:44:42 +00:00
linker_if.m
Make.tags.inc Remove a couple of harmless stray references to nandfs. 2019-06-25 16:39:25 +00:00
Makefile
makesyscalls.sh makesyscalls.sh: always use absolute path for syscalls.conf 2019-05-30 20:56:23 +00:00
md4c.c
md5c.c
msi_if.m
p1003_1b.c
pic_if.m
posix4_mib.c
sched_4bsd.c Reduce umtx-related work on exec and exit 2019-05-08 16:30:38 +00:00
sched_ule.c Reduce umtx-related work on exec and exit 2019-05-08 16:30:38 +00:00
serdev_if.m
stack_protector.c Revert r346292 (permit_nonrandom_stackcookies) 2019-05-13 23:37:44 +00:00
subr_acl_nfs4.c Remove unused argument to priv_check_cred. 2018-12-11 19:32:16 +00:00
subr_acl_posix1e.c Remove unused argument to priv_check_cred. 2018-12-11 19:32:16 +00:00
subr_autoconf.c
subr_blist.c Address problems in blist_alloc introduced in r349777. The swap block allocator could become corrupted 2019-07-11 20:52:39 +00:00
subr_boot.c When parsing command line stuff, treat tabs and spaces the same. 2019-04-18 22:52:12 +00:00
subr_bufring.c
subr_bus_dma.c Add an external mbuf buffer type that holds multiple unmapped pages. 2019-06-29 00:48:33 +00:00
subr_bus.c Add necessary bits for Linux KPI to work correctly on powerpc 2019-08-04 19:28:10 +00:00
subr_busdma_bufalloc.c Add malloc_domainset(9) and _domainset variants to other allocator KPIs. 2018-10-30 18:26:34 +00:00
subr_capability.c
subr_clock.c Kill tz_minuteswest and tz_dsttime. 2019-03-12 04:49:47 +00:00
subr_compressor.c Separate kernel crc32() implementation to its own header (gsb_crc32.h) and 2019-06-17 19:49:08 +00:00
subr_counter.c
subr_coverage.c Extract the coverage sanitizer KPI to a new file. 2019-01-29 11:04:17 +00:00
subr_devmap.c
subr_devstat.c
subr_disk.c Fix botched merge with 355066 2019-03-12 05:10:41 +00:00
subr_dummy_vdso_tc.c
subr_early.c
subr_epoch.c Fix the turnstile_lock() KPI. 2019-07-24 23:04:59 +00:00
subr_eventhandler.c Include ktr.h in more compilation units 2019-05-21 20:38:48 +00:00
subr_fattime.c
subr_firmware.c
subr_gtaskqueue.c Make taskqgroup_attach{,_cpu}(9) work across architectures 2019-02-12 21:23:59 +00:00
subr_hash.c
subr_hints.c
subr_intr.c Extract eventfilter declarations to sys/_eventfilter.h 2019-05-20 00:38:23 +00:00
subr_kdb.c Always stop the scheduler when entering kdb 2018-10-30 14:54:15 +00:00
subr_kobj.c Prevent some kobj memory allocation failures from panicking the system. 2019-01-31 22:27:39 +00:00
subr_lock.c Drop "All rights reserved" from my copyright statements. 2019-03-06 22:11:45 +00:00
subr_log.c
subr_mchain.c
subr_module.c
subr_msgbuf.c
subr_param.c The older detection methods (smbios.bios.vendor and smbios.system.product) 2019-05-21 13:29:53 +00:00
subr_pcpu.c
subr_pctrie.c kern/subr_pctrie: Fix mismatched signedness in assertion comparison 2019-04-06 21:56:24 +00:00
subr_pidctrl.c
subr_power.c Extract eventfilter declarations to sys/_eventfilter.h 2019-05-20 00:38:23 +00:00
subr_prf.c device_printf: Use sbuf for more coherent prints on SMP 2019-05-07 17:47:20 +00:00
subr_prof.c
subr_rangeset.c Implement rangesets. 2019-02-20 09:38:19 +00:00
subr_rman.c add support for marking interrupt handlers as suspended 2018-12-17 17:11:00 +00:00
subr_rtc.c
subr_sbuf.c sbuf(9): Add sbuf_nl_terminate() API 2019-08-07 19:27:14 +00:00
subr_scanf.c
subr_sfbuf.c
subr_sglist.c Add an external mbuf buffer type that holds multiple unmapped pages. 2019-06-29 00:48:33 +00:00
subr_sleepqueue.c Add wakeup_any(), cheaper wakeup_one() for taskqueue(9). 2019-06-20 01:15:33 +00:00
subr_smp.c x86: Implement MWAIT support for stopping a CPU 2019-05-04 20:34:26 +00:00
subr_stack.c stack(9): Drop unused API mode and comment that referenced it 2019-03-15 22:39:55 +00:00
subr_syscall.c Don't pass error from syscallenter() to syscallret(). 2019-07-15 21:25:16 +00:00
subr_taskqueue.c Add wakeup_any(), cheaper wakeup_one() for taskqueue(9). 2019-06-20 01:15:33 +00:00
subr_terminal.c
subr_trap.c Deinline racct throttling out of syscall exit path. 2018-11-29 05:08:46 +00:00
subr_turnstile.c Fix the turnstile_lock() KPI. 2019-07-24 23:04:59 +00:00
subr_uio.c
subr_unit.c Implement unr64 2018-11-20 14:58:41 +00:00
subr_vmem.c Update the DIAGNOSTIC-only vmem_check_sanity() after r347949. 2019-05-18 14:19:23 +00:00
subr_witness.c Only check the blessings table for known LORs. 2019-08-02 18:01:47 +00:00
sys_capability.c Let kern.trap_enotcap be set as a tunable. 2018-12-06 17:29:37 +00:00
sys_generic.c Check and avoid overflow when incrementing fp->f_count in 2019-07-21 15:07:12 +00:00
sys_getrandom.c
sys_pipe.c Fix mutual exclusion in pipe_direct_write(). 2019-06-29 16:05:52 +00:00
sys_procdesc.c procdesc: fix the function name 2019-08-05 20:31:17 +00:00
sys_process.c process: style 2019-08-05 20:26:01 +00:00
sys_socket.c
syscalls.c Update the generated syscall files for copy_file_range(2) added by 2019-07-25 05:55:55 +00:00
syscalls.master Add kernel support for a Linux compatible copy_file_range(2) syscall. 2019-07-25 05:46:16 +00:00
systrace_args.c Update the generated syscall files for copy_file_range(2) added by 2019-07-25 05:55:55 +00:00
sysv_ipc.c sysv: get rid of fork/exit hooks if the code is compiled in 2019-05-04 19:05:30 +00:00
sysv_msg.c
sysv_sem.c
sysv_shm.c sysv: get rid of fork/exit hooks if the code is compiled in 2019-05-04 19:05:30 +00:00
tty_compat.c
tty_info.c Avoid fixing the tty_info() buffer size in tty.h. 2018-11-06 23:41:44 +00:00
tty_inq.c
tty_outq.c
tty_pts.c Move 32-bit compat support for FIODGNAME to the right place. 2018-10-26 17:59:25 +00:00
tty_tty.c Extract eventfilter declarations to sys/_eventfilter.h 2019-05-20 00:38:23 +00:00
tty_ttydisc.c
tty.c Defer funsetown() calls for a TTY to tty_rel_free(). 2019-07-04 15:42:02 +00:00
uipc_accf.c
uipc_debug.c
uipc_domain.c
uipc_mbuf2.c
uipc_mbuf.c Add an external mbuf buffer type that holds multiple unmapped pages. 2019-06-29 00:48:33 +00:00
uipc_mbufhash.c
uipc_mqueue.c mqueuefs: fix struct file leak 2019-07-23 20:59:36 +00:00
uipc_sem.c Remove unused argument to priv_check_cred. 2018-12-11 19:32:16 +00:00
uipc_shm.c kern_shm_open: push O_CLOEXEC into caller control 2019-07-31 15:16:51 +00:00
uipc_sockbuf.c Compress pending socket buffer data once it is marked ready. 2019-06-29 00:50:25 +00:00
uipc_socket.c Improve the input validation for l_linger. 2019-07-14 21:44:18 +00:00
uipc_syscalls.c Avoid leaking fp references when truncating SCM_RIGHTS control messages. 2019-02-05 17:55:08 +00:00
uipc_usrreq.c Check and avoid overflow when incrementing fp->f_count in 2019-07-21 15:07:12 +00:00
vfs_acl.c
vfs_aio.c Allocate pager bufs from UMA instead of 80-ish mutex protected linked list. 2019-01-15 01:02:16 +00:00
vfs_bio.c Centralize the logic in vfs_vmio_unwire() and sendfile_free_page(). 2019-07-29 22:01:28 +00:00
vfs_cache.c [skip ci] Fix the comment for cache_purge(9) 2019-07-22 21:03:52 +00:00
vfs_cluster.c Allocate pager bufs from UMA instead of 80-ish mutex protected linked list. 2019-01-15 01:02:16 +00:00
vfs_default.c Add kernel support for a Linux compatible copy_file_range(2) syscall. 2019-07-25 05:46:16 +00:00
vfs_export.c Ensure that directory entry padding bytes are zeroed. 2018-11-23 22:24:59 +00:00
vfs_extattr.c extattr_list_vp: Narrow locked section somewhat 2019-02-05 04:47:21 +00:00
vfs_hash.c
vfs_init.c Only call sigdeferstop() for NFS. 2018-10-23 21:43:41 +00:00
vfs_lookup.c NDFREE(): Fix unlocking for LOCKPARENT|LOCKLEAF and ndp->ni_dvp == ndp->ni_vp. 2019-05-21 15:12:13 +00:00
vfs_mount.c Include ktr.h in more compilation units 2019-05-21 20:38:48 +00:00
vfs_mountroot.c Extract eventfilter declarations to sys/_eventfilter.h 2019-05-20 00:38:23 +00:00
vfs_subr.c Better comments for vlrureclaim 2019-07-28 16:07:27 +00:00
vfs_syscalls.c Add kernel support for a Linux compatible copy_file_range(2) syscall. 2019-07-25 05:46:16 +00:00
vfs_vnops.c Add kernel support for a Linux compatible copy_file_range(2) syscall. 2019-07-25 05:46:16 +00:00
vnode_if.src Add kernel support for a Linux compatible copy_file_range(2) syscall. 2019-07-25 05:46:16 +00:00