freebsd-dev/sys/kern
Bryan Drewery 03bd1b693e proc0_post: Fix some locking issues
- Filter out PRS_NEW procs as rufetch() tries taking the thread lock
  which may not yet be initialized.
- Hold PROC_LOCK to ensure stability of iterating the threads.
- p_rux fields are protected by the process statlock as well.

MFC after:	2 weeks
Reviewed by:	kib
Sponsored by:	Dell EMC
Differential Revision:	https://reviews.freebsd.org/D15809
2018-06-15 00:36:41 +00:00
..
bus_if.m "Buses" is the preferred plural of "bus" 2017-01-15 17:54:01 +00:00
capabilities.conf Name the implementation of brk and sbrk sys_break(). 2018-06-14 21:27:25 +00:00
clock_if.m
cpufreq_if.m
device_if.m Teach makeobjops.awk to accept PROLOG and EPILOG blocks before 2017-12-31 09:23:19 +00:00
genassym.sh Don't prefix zero with 0x in assym.s. 2017-04-13 15:43:44 +00:00
imgact_aout.c i386 4/4G split. 2018-04-13 20:30:49 +00:00
imgact_binmisc.c Use NULL for SYSINIT's last arg, which is a pointer type 2018-05-18 17:58:09 +00:00
imgact_elf32.c sys/kern: adoption of SPDX licensing ID tags. 2017-11-27 15:20:12 +00:00
imgact_elf64.c sys/kern: adoption of SPDX licensing ID tags. 2017-11-27 15:20:12 +00:00
imgact_elf.c Correct pointer subtraction in KASSERT(). 2018-05-29 17:49:03 +00:00
imgact_gzip.c Use C99 designated initializers for struct execsw 2018-03-13 13:09:10 +00:00
imgact_shell.c Use C99 designated initializers for struct execsw 2018-03-13 13:09:10 +00:00
inflate.c SPDX: use the Beerware identifier. 2017-11-30 20:33:45 +00:00
init_main.c proc0_post: Fix some locking issues 2018-06-15 00:36:41 +00:00
init_sysent.c Regen after 335177 (rename sys_obreak to sys_break). 2018-06-14 21:29:31 +00:00
kern_acct.c spdx: initial adoption of licensing ID tags. 2017-11-18 14:26:50 +00:00
kern_alq.c sys/kern: adoption of SPDX licensing ID tags. 2017-11-27 15:20:12 +00:00
kern_clock.c epoch: skip poll function call in hardclock unless there are callbacks pending 2018-05-17 21:39:15 +00:00
kern_clocksource.c stop and restart kernel event timers in the suspend / resume cycle 2018-05-21 20:23:04 +00:00
kern_condvar.c sys/kern: adoption of SPDX licensing ID tags. 2017-11-27 15:20:12 +00:00
kern_conf.c conf: revert last change and annotate unused var instead 2018-05-19 05:07:03 +00:00
kern_cons.c add support for console resuming, implement it for uart, use on x86 2018-05-29 16:16:24 +00:00
kern_context.c sys/kern: adoption of SPDX licensing ID tags. 2017-11-27 15:20:12 +00:00
kern_cpu.c Boost thread priority while changing CPU frequency 2018-05-07 15:24:03 +00:00
kern_cpuset.c kern_cpuset: fix small leak on error path 2018-05-26 14:23:11 +00:00
kern_ctf.c Revert r327828, r327949, r327953, r328016-r328026, r328041: 2018-01-21 15:42:36 +00:00
kern_descrip.c ANSIfy sys/kern 2018-06-01 13:26:45 +00:00
kern_dtrace.c systrace: track it like sdt probes 2018-04-27 15:16:34 +00:00
kern_dump.c Print the dump progress indicator after calling dump_start(). 2018-05-01 17:32:43 +00:00
kern_environment.c Use explicit_bzero() when cleaning values out of the kernel environment. 2018-04-10 22:57:56 +00:00
kern_et.c sys/kern: adoption of SPDX licensing ID tags. 2017-11-27 15:20:12 +00:00
kern_event.c kevent: annotate unused stack local 2018-05-19 05:06:18 +00:00
kern_exec.c Use a single, consistent approach to returning success versus failure in 2018-06-04 16:28:06 +00:00
kern_exit.c Add PROC_PDEATHSIG_SET to procctl interface. 2018-04-18 21:31:13 +00:00
kern_fail.c sys/kern: adoption of SPDX licensing ID tags. 2017-11-27 15:20:12 +00:00
kern_ffclock.c sys/kern: adoption of SPDX licensing ID tags. 2017-11-27 15:20:12 +00:00
kern_fork.c Reduce contention on the proctree lock during heavy package build. 2018-02-20 02:18:30 +00:00
kern_hhook.c sys/kern: adoption of SPDX licensing ID tags. 2017-11-27 15:20:12 +00:00
kern_idle.c sys/kern: adoption of SPDX licensing ID tags. 2017-11-27 15:20:12 +00:00
kern_intr.c Yank crufty INTR_FILTER option 2018-05-24 17:06:00 +00:00
kern_jail.c Try to be consistent and spell "vnet" lower case like all the 2018-05-24 15:31:05 +00:00
kern_khelp.c sys/kern: adoption of SPDX licensing ID tags. 2017-11-27 15:20:12 +00:00
kern_kthread.c hwpmc: log name->pid, name->tid mappings 2018-06-05 04:26:40 +00:00
kern_ktr.c sys/kern: adoption of SPDX licensing ID tags. 2017-11-27 15:20:12 +00:00
kern_ktrace.c Reduce overhead of ktrace checks in the common case. 2018-05-09 00:00:47 +00:00
kern_linker.c Use NULL for SYSINIT's last arg, which is a pointer type 2018-05-18 17:58:09 +00:00
kern_lock.c remove unused locked variable in lockmgr_unlock_fast_path 2018-05-19 03:58:40 +00:00
kern_lockf.c lockf: annotate LOCKF_DEBUG only var 2018-05-19 05:04:38 +00:00
kern_lockstat.c lockstat: track lockstat just like sdt probes 2018-04-24 01:04:10 +00:00
kern_loginclass.c call racct_proc_ucred_changed() under the proc lock 2018-04-20 13:08:04 +00:00
kern_malloc.c Make UMA and malloc(9) return non-executable memory in most cases. 2018-06-13 17:04:41 +00:00
kern_mbuf.c Add an mbuf allocator for netdump. 2018-05-06 00:19:48 +00:00
kern_mib.c clk: Put the sysctls under hw.clock instead of clock 2018-04-27 00:12:00 +00:00
kern_module.c Use NULL for SYSINIT's last arg, which is a pointer type 2018-05-18 17:58:09 +00:00
kern_mtxpool.c sys/kern: adoption of SPDX licensing ID tags. 2017-11-27 15:20:12 +00:00
kern_mutex.c Remove an unused argument to turnstile_unpend. 2018-06-02 22:37:53 +00:00
kern_ntptime.c Fix several leaks of kernel stack data through paddings. 2018-03-27 18:05:51 +00:00
kern_osd.c sys/kern: adoption of SPDX licensing ID tags. 2017-11-27 15:20:12 +00:00
kern_physio.c physio: avoid uninitialized variables 2018-05-19 04:09:58 +00:00
kern_pmc.c hwpmc: simplify calling convention for hwpmc interrupt handling 2018-06-08 04:58:03 +00:00
kern_poll.c sys/kern: adoption of SPDX licensing ID tags. 2017-11-27 15:20:12 +00:00
kern_priv.c sys/kern: adoption of SPDX licensing ID tags. 2017-11-27 15:20:12 +00:00
kern_proc.c Move most of the contents of opt_compat.h to opt_global.h. 2018-04-06 17:35:35 +00:00
kern_procctl.c Rename PROC_PDEATHSIG_SET -> PROC_PDEATHSIG_CTL and PROC_PDEATHSIG_GET 2018-04-20 15:19:27 +00:00
kern_prot.c call racct_proc_ucred_changed() under the proc lock 2018-04-20 13:08:04 +00:00
kern_racct.c call racct_proc_ucred_changed() under the proc lock 2018-04-20 13:08:04 +00:00
kern_rangelock.c sys/kern: adoption of SPDX licensing ID tags. 2017-11-27 15:20:12 +00:00
kern_rctl.c call racct_proc_ucred_changed() under the proc lock 2018-04-20 13:08:04 +00:00
kern_resource.c Move most of the contents of opt_compat.h to opt_global.h. 2018-04-06 17:35:35 +00:00
kern_rmlock.c Remove an unused argument to turnstile_unpend. 2018-06-02 22:37:53 +00:00
kern_rwlock.c Remove an unused argument to turnstile_unpend. 2018-06-02 22:37:53 +00:00
kern_sdt.c sys/kern: adoption of SPDX licensing ID tags. 2017-11-27 15:20:12 +00:00
kern_sema.c sys/kern: adoption of SPDX licensing ID tags. 2017-11-27 15:20:12 +00:00
kern_sendfile.c Revert second chunk of r333860. The warning from gcc is false positive. The 2018-05-29 21:45:15 +00:00
kern_sharedpage.c Move most of the contents of opt_compat.h to opt_global.h. 2018-04-06 17:35:35 +00:00
kern_shutdown.c remove unused variable 2018-05-19 03:55:42 +00:00
kern_sig.c signotify: don't create a stack local that isn't used on non-debug builds 2018-05-19 03:57:41 +00:00
kern_switch.c Remove incorrect owepreempt assertion added in r334062 2018-05-23 10:13:17 +00:00
kern_sx.c sx: fixup a braino in r334024 2018-05-22 15:13:25 +00:00
kern_synch.c Reduce sdt-related branch-fest in mi_switch. 2018-05-22 08:27:33 +00:00
kern_syscalls.c Avoid calls to syscall_thread_enter/exit for statically defined syscalls 2018-05-07 22:29:32 +00:00
kern_sysctl.c Use NULL for SYSINIT's last arg, which is a pointer type 2018-05-18 17:58:09 +00:00
kern_tc.c tc: bcopy -> memcpy 2018-05-04 22:48:10 +00:00
kern_thr.c hwpmc: log name->pid, name->tid mappings 2018-06-05 04:26:40 +00:00
kern_thread.c hwpmc: log name->pid, name->tid mappings 2018-06-05 04:26:40 +00:00
kern_time.c nanosleep(2): Fix bogus incrementing of rmtp by tc_tick_sbt on [EINTR]. 2018-02-14 18:43:50 +00:00
kern_timeout.c Remove some, but not all, assumptions that the BSP is CPU 0 and that CPUs 2017-11-25 23:41:05 +00:00
kern_tslog.c Code for recording timestamps of events, especially function entries/exits. 2017-12-31 09:21:01 +00:00
kern_umtx.c umtx: don't call umtxq_getchain unless the value is needed 2018-05-19 05:09:10 +00:00
kern_uuid.c sys/kern: adoption of SPDX licensing ID tags. 2017-11-27 15:20:12 +00:00
kern_xxx.c Move most of the contents of opt_compat.h to opt_global.h. 2018-04-06 17:35:35 +00:00
ksched.c spdx: initial adoption of licensing ID tags. 2017-11-18 14:26:50 +00:00
link_elf_obj.c link_elf_obj: correct an error message 2018-05-30 12:55:27 +00:00
link_elf.c Use M_EXEC when calling malloc() to allocate the memory to store the module, 2018-06-14 23:10:10 +00:00
linker_if.m
Make.tags.inc
Makefile Don't use an .OBJDIR for 'make sysent'. 2018-01-29 19:14:15 +00:00
makesyscalls.sh makesyscalls: simplify capenabled pipeline 2018-06-11 18:57:40 +00:00
md4c.c SPDX: some uses of the RSA-MD license. 2017-12-13 16:30:39 +00:00
md5c.c
msi_if.m
p1003_1b.c spdx: initial adoption of licensing ID tags. 2017-11-18 14:26:50 +00:00
pic_if.m
posix4_mib.c Use NULL for SYSINIT's last arg, which is a pointer type 2018-05-18 17:58:09 +00:00
sched_4bsd.c Inlined sched_userret. 2018-05-07 23:36:16 +00:00
sched_ule.c Inlined sched_userret. 2018-05-07 23:36:16 +00:00
serdev_if.m
stack_protector.c
subr_acl_nfs4.c sys/kern: adoption of SPDX licensing ID tags. 2017-11-27 15:20:12 +00:00
subr_acl_posix1e.c sys/kern: adoption of SPDX licensing ID tags. 2017-11-27 15:20:12 +00:00
subr_autoconf.c Instrument "boot holds" for the benefit of the TSLOG framework. These 2017-12-31 09:23:52 +00:00
subr_blist.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
subr_bufring.c sys/kern: adoption of SPDX licensing ID tags. 2017-11-27 15:20:12 +00:00
subr_bus_dma.c sys/kern: adoption of SPDX licensing ID tags. 2017-11-27 15:20:12 +00:00
subr_bus.c Make the data returned by devinfo harder to overflow. 2018-05-31 02:57:58 +00:00
subr_busdma_bufalloc.c Implement NUMA support in uma(9) and malloc(9). Allocations from specific 2018-01-12 23:25:05 +00:00
subr_capability.c kern_sendit: use pre-initialized rights 2018-05-23 01:48:09 +00:00
subr_clock.c Replace the existing print_ct() private debugging function with a set of 2018-02-12 16:25:56 +00:00
subr_compressor.c Fix the test for SET_FOREACH termination. 2018-02-15 17:35:40 +00:00
subr_counter.c counter: add a bit missed in r334858 2018-06-08 22:06:32 +00:00
subr_devmap.c o Replace __riscv__ with __riscv 2017-08-07 14:09:57 +00:00
subr_devstat.c sys/kern: adoption of SPDX licensing ID tags. 2017-11-27 15:20:12 +00:00
subr_disk.c Implement a 'car limit' for bioq. 2018-06-13 16:48:07 +00:00
subr_dummy_vdso_tc.c Move most of the contents of opt_compat.h to opt_global.h. 2018-04-06 17:35:35 +00:00
subr_epoch.c epoch(9): make epoch closer to style(9) 2018-05-30 03:39:57 +00:00
subr_eventhandler.c Fix initialization of eventhandler mutex. 2018-03-19 22:43:27 +00:00
subr_fattime.c Use const pointers for input data not modified by clock utility functions. 2018-02-06 22:17:01 +00:00
subr_firmware.c sys/kern: adoption of SPDX licensing ID tags. 2017-11-27 15:20:12 +00:00
subr_gtaskqueue.c iflib: mark irq allocation name parameter as constant 2018-05-29 21:56:39 +00:00
subr_hash.c Unsign some values related to allocation. 2018-01-22 02:08:10 +00:00
subr_hints.c sys/kern: adoption of SPDX licensing ID tags. 2017-11-27 15:20:12 +00:00
subr_intr.c Fix compile error with option DEBUG. This is fallout from some long-ago 2017-08-16 16:51:55 +00:00
subr_kdb.c kdb_trap: Fix use of uninitialized data 2018-05-26 14:01:44 +00:00
subr_kobj.c sys/kern: adoption of SPDX licensing ID tags. 2017-11-27 15:20:12 +00:00
subr_lock.c locks: tweak backoff a little bit 2018-04-08 16:34:10 +00:00
subr_log.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
subr_mchain.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
subr_module.c sys/kern: adoption of SPDX licensing ID tags. 2017-11-27 15:20:12 +00:00
subr_msgbuf.c Do pass removing some write-only variables from the kernel. 2017-12-25 04:48:39 +00:00
subr_param.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
subr_pcpu.c Use NULL for SYSINIT's last arg, which is a pointer type 2018-05-18 17:58:09 +00:00
subr_pctrie.c sys/kern: adoption of SPDX licensing ID tags. 2017-11-27 15:20:12 +00:00
subr_pidctrl.c When pidctrl_daemon() is called multiple times within an interval, it 2018-06-07 07:48:50 +00:00
subr_power.c sys/kern: adoption of SPDX licensing ID tags. 2017-11-27 15:20:12 +00:00
subr_prf.c fix uninitialized variable warning 2018-05-19 03:49:36 +00:00
subr_prof.c ANSIfy sys/kern 2018-06-01 13:26:45 +00:00
subr_rman.c
subr_rtc.c Fix bad indentation. Whitespace only, no functional changes. 2018-02-13 17:38:08 +00:00
subr_sbuf.c sys/kern: adoption of SPDX licensing ID tags. 2017-11-27 15:20:12 +00:00
subr_scanf.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
subr_sfbuf.c Remove SFBUF_OPTIONAL_DIRECT_MAP and such hacks, replacing them across the 2018-01-19 17:46:31 +00:00
subr_sglist.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
subr_sleepqueue.c turnstile / sleepqueue: annotate variables only used by debug builds 2018-05-19 05:00:16 +00:00
subr_smp.c Use resume_cpus() instead of restart_cpus() to resume from ACPI suspension. 2017-12-21 09:17:48 +00:00
subr_stack.c sys/kern: adoption of SPDX licensing ID tags. 2017-11-27 15:20:12 +00:00
subr_syscall.c systrace: track it like sdt probes 2018-04-27 15:16:34 +00:00
subr_taskqueue.c Revert r327828, r327949, r327953, r328016-r328026, r328041: 2018-01-21 15:42:36 +00:00
subr_terminal.c teken, vt(4): New callbacks to lock the terminal once 2018-05-16 09:01:02 +00:00
subr_trap.c hwpmc: support sampling both kernel and user stacks when interrupted in kernel 2018-06-04 01:10:23 +00:00
subr_turnstile.c Remove an unused argument to turnstile_unpend. 2018-06-02 22:37:53 +00:00
subr_uio.c simplify control flow so that gcc knows we never pass save to curthread_pflags_restore 2018-05-19 04:04:44 +00:00
subr_unit.c sys/kern: adoption of SPDX licensing ID tags. 2017-11-27 15:20:12 +00:00
subr_vmem.c Make UMA and malloc(9) return non-executable memory in most cases. 2018-06-13 17:04:41 +00:00
subr_witness.c witness/hwpmc: fix locking order for pmc locks 2018-05-28 23:14:38 +00:00
sys_capability.c capsicum: propagate const correctness 2018-05-19 05:14:05 +00:00
sys_generic.c Fix the build after r333457 2018-05-10 13:19:42 +00:00
sys_getrandom.c Move most of the contents of opt_compat.h to opt_global.h. 2018-04-06 17:35:35 +00:00
sys_pipe.c ANSIfy sys/kern 2018-06-01 13:26:45 +00:00
sys_procdesc.c Eliminate the overhead of gratuitous repeated reinitialization of cap_rights 2018-05-09 18:47:24 +00:00
sys_process.c sys_process.c fix set but not used warning 2018-05-19 03:48:35 +00:00
sys_socket.c Ensure that the vnet is set when calling pru_sockaddr() and 2018-01-11 20:26:17 +00:00
syscalls.c Regen after r334223: make vadvise compat freebsd11. 2018-05-25 20:41:26 +00:00
syscalls.master Name the implementation of brk and sbrk sys_break(). 2018-06-14 21:27:25 +00:00
systrace_args.c Regen after 335177 (rename sys_obreak to sys_break). 2018-06-14 21:29:31 +00:00
sysv_ipc.c Move most of the contents of opt_compat.h to opt_global.h. 2018-04-06 17:35:35 +00:00
sysv_msg.c ANSIfy sys/kern 2018-06-01 13:26:45 +00:00
sysv_sem.c Move most of the contents of opt_compat.h to opt_global.h. 2018-04-06 17:35:35 +00:00
sysv_shm.c Move most of the contents of opt_compat.h to opt_global.h. 2018-04-06 17:35:35 +00:00
tty_compat.c Move most of the contents of opt_compat.h to opt_global.h. 2018-04-06 17:35:35 +00:00
tty_info.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
tty_inq.c tty: use __unused annotation instead to silence warnings 2018-05-19 04:48:26 +00:00
tty_outq.c tty: use __unused annotation instead to silence warnings 2018-05-19 04:48:26 +00:00
tty_pts.c Move uio enums to sys/_uio.h. 2018-03-27 15:20:03 +00:00
tty_tty.c sys/kern: adoption of SPDX licensing ID tags. 2017-11-27 15:20:12 +00:00
tty_ttydisc.c sys/kern: adoption of SPDX licensing ID tags. 2017-11-27 15:20:12 +00:00
tty.c Move most of the contents of opt_compat.h to opt_global.h. 2018-04-06 17:35:35 +00:00
uipc_accf.c sys/kern: adoption of SPDX licensing ID tags. 2017-11-27 15:20:12 +00:00
uipc_debug.c Load balance sockets with new SO_REUSEPORT_LB option. 2018-06-06 15:45:57 +00:00
uipc_domain.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
uipc_mbuf2.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
uipc_mbuf.c Add a SPD cache to speed up lookups. 2018-05-22 15:54:25 +00:00
uipc_mbufhash.c
uipc_mqueue.c mqueue: avoid unused variables 2018-05-19 04:10:53 +00:00
uipc_sem.c Eliminate the overhead of gratuitous repeated reinitialization of cap_rights 2018-05-09 18:47:24 +00:00
uipc_shm.c sys/kern: adoption of SPDX licensing ID tags. 2017-11-27 15:20:12 +00:00
uipc_sockbuf.c This commit brings in a new refactored TCP stack called Rack. 2018-06-07 18:18:13 +00:00
uipc_socket.c limit change to fixing controlp handling pending review 2018-06-11 17:10:19 +00:00
uipc_syscalls.c kern_sendit: use pre-initialized rights 2018-05-23 01:48:09 +00:00
uipc_usrreq.c AF_UNIX: bring uipc_ready in compliance with new locking protocol 2018-06-08 20:31:59 +00:00
vfs_acl.c Reduce duplication in __acl_*_(file|link). 2018-02-15 21:24:43 +00:00
vfs_aio.c Eliminate the overhead of gratuitous repeated reinitialization of cap_rights 2018-05-09 18:47:24 +00:00
vfs_bio.c Avoid completing I/O when dumping core after a panic. 2018-06-01 23:49:32 +00:00
vfs_cache.c cache_lookup remove unused variable and initialize used 2018-05-19 04:08:11 +00:00
vfs_cluster.c ANSIfy sys/kern 2018-06-01 13:26:45 +00:00
vfs_default.c vfs: simplify vop_stdlock/unlock 2018-05-20 04:45:05 +00:00
vfs_export.c Reverse the check to allocate the buffer if cached pointer is NULL. 2017-12-23 17:55:19 +00:00
vfs_extattr.c Reduce duplication in extattr_*_(file|link) syscalls. 2018-02-05 19:06:34 +00:00
vfs_hash.c sys/kern: adoption of SPDX licensing ID tags. 2017-11-27 15:20:12 +00:00
vfs_init.c Make it easier for filesystems to count themselves as jail-enabled, 2018-05-04 20:54:27 +00:00
vfs_lookup.c vfs: annotate variables only used by debug builds as __unused 2018-05-19 04:59:39 +00:00
vfs_mount.c Make it easier for filesystems to count themselves as jail-enabled, 2018-05-04 20:54:27 +00:00
vfs_mountroot.c Remove Giant from init creation and vfs_mountroot. 2018-03-21 14:46:54 +00:00
vfs_subr.c Revert r334708 2018-06-06 15:12:19 +00:00
vfs_syscalls.c Fix the encoding of major and minor numbers in 64-bit dev_t by restoring 2018-06-13 12:22:00 +00:00
vfs_vnops.c ANSIfy sys/kern 2018-06-01 13:26:45 +00:00
vnode_if.src Use long for the last argument to VOP_PATHCONF rather than a register_t. 2018-01-17 22:36:58 +00:00