freebsd-skq/sys/kern
Konstantin Belousov ab74c84333 Do not go into sleep in sleepq_catch_signals() when SIGSTOP from
PT_ATTACH was consumed.

In particular, do not clear TDP_FSTP in ptracestop() if td_wchan is
non-NULL. Leave it to sleepq_catch_signal() to clear and convert zero
return code to EINTR.

Otherwise, per submitter report, if the PT_ATTACH SIGSTOP was
delivered right after the thread was added to the sleepqueue but not
yet really sleep, and cursig() caused debugger attach, the thread
sleeps instead of returning to the userspace boundary with EINTR.

PR: 231445
Reported by:	Efi Weiss <valmarelox@gmail.com>
Reviewed by:	markj
Sponsored by:	The FreeBSD Foundation
MFC after:	2 weeks
Differential revision:	https://reviews.freebsd.org/D20381
2019-05-29 14:05:27 +00:00
..
bus_if.m Extract eventfilter declarations to sys/_eventfilter.h 2019-05-20 00:38:23 +00:00
capabilities.conf Introduce funlinkat syscall that always us to check if we are removing 2019-04-06 09:34:26 +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 expose thread_lite definition to tied modules 2018-07-03 02:50:07 +00:00
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 Grammar fixes for r347690. 2019-05-17 21:18:11 +00:00
imgact_gzip.c
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 make sysent after r347228 2019-05-07 18:10:21 +00:00
kern_acct.c
kern_alq.c
kern_clock.c Extract eventfilter declarations to sys/_eventfilter.h 2019-05-20 00:38:23 +00:00
kern_clocksource.c Rename hardclock_cnt() to hardclock() and remove the old implementation. 2018-09-06 02:10:59 +00:00
kern_condvar.c
kern_conf.c Bump SPECNAMELEN to MAXNAMLEN. 2019-01-27 00:46:06 +00:00
kern_cons.c Replace ttyprintf with sbuf_printf and tty drain routine 2018-10-20 18:31:36 +00:00
kern_context.c Remove superfluous bzero in getcontext/swapcontext/sendsig 2018-11-26 20:56:05 +00:00
kern_cpu.c kern_cpu: When adding abs frequency allow for unordered insertion 2018-07-19 11:28:14 +00:00
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 Make pack_kinfo() available for external callers. 2019-05-23 12:25:03 +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 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 proc: postpone proc unlock until after reporting with kqueue 2018-12-08 06:34:12 +00:00
kern_exec.c Extract eventfilter declarations to sys/_eventfilter.h 2019-05-20 00:38:23 +00:00
kern_exit.c Include ktr.h in more compilation units 2019-05-21 20:38:48 +00:00
kern_fail.c
kern_ffclock.c
kern_fork.c Extract eventfilter declarations to sys/_eventfilter.h 2019-05-20 00:38:23 +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 Reduce overhead of ktrace checks in the common case. 2018-05-09 00:00:47 +00:00
kern_linker.c Add flags variants to linker_files / stack(9) symbol resolution 2018-10-20 18:08:43 +00:00
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 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 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 Restructure mbuf send tags to provide stronger guarantees. 2019-05-24 22:30:40 +00:00
kern_mib.c random(4): Block read_random(9) on initial seeding 2019-04-15 18:40:36 +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 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 amd64 KPTI: add control from procctl(2). 2019-03-16 11:44:33 +00:00
kern_prot.c Remove unused argument to priv_check_cred. 2018-12-11 19:32:16 +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
kern_rctl.c call racct_proc_ucred_changed() under the proc lock 2018-04-20 13:08:04 +00:00
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 Plug sendfile(2) on a listening socket with proper error code. 2018-10-16 15:57:16 +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 EKCD: Add Chacha20 encryption mode 2019-05-23 20:12:24 +00:00
kern_sig.c Do not go into sleep in sleepq_catch_signals() when SIGSTOP from 2019-05-29 14:05:27 +00:00
kern_switch.c make critical_{enter, exit} inline 2018-07-03 01:55:09 +00:00
kern_sx.c sx: retire SX_NOADAPTIVE 2018-12-05 16:43:03 +00:00
kern_synch.c Provide SDT_PROBES_ENABLED macro. 2018-12-08 06:30:41 +00:00
kern_syscalls.c fix a typo resulting in a wrong variable in kern_syscall_deregister 2018-08-02 09:41:55 +00:00
kern_sysctl.c device_printf: Use sbuf for more coherent prints on SMP 2019-05-07 17:47:20 +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 Don't acquire evclass_lock with a spinlock held 2018-07-11 19:38:42 +00:00
kern_thread.c amd64 pmap: rework delayed invalidation, removing global mutex. 2019-05-16 13:28:48 +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
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 Reduce umtx-related work on exec and exit 2019-05-08 16:30:38 +00:00
kern_uuid.c
kern_xxx.c Normalize COMPAT_43 syscall declarations. 2018-12-04 16:48:47 +00:00
ksched.c
link_elf_obj.c Fix mips build after r339931. 2018-10-30 21:35:56 +00:00
link_elf.c As a follow-up to r339930 and various reports implement logging in case 2018-10-30 20:51:03 +00:00
linker_if.m
Make.tags.inc Retire dpt(4) 2018-10-22 02:35:12 +00:00
Makefile
makesyscalls.sh makesyscalls: use @generated tag in generated files 2019-05-07 16:17:33 +00:00
md4c.c
md5c.c
msi_if.m
p1003_1b.c
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 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 A new parameter to blist_alloc specifies an upper bound on the size of 2019-05-11 16:15:13 +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 Extract eventfilter declarations to sys/_eventfilter.h 2019-05-20 00:38:23 +00:00
subr_bus.c device_printf: Use sbuf for more coherent prints on SMP 2019-05-07 17:47:20 +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 kern_sendit: use pre-initialized rights 2018-05-23 01:48:09 +00:00
subr_clock.c Kill tz_minuteswest and tz_dsttime. 2019-03-12 04:49:47 +00:00
subr_compressor.c Update to Zstandard 1.3.8 2018-12-29 21:18:01 +00:00
subr_counter.c Fix pre-SI_SUB_CPU initialization of per-CPU counters. 2018-07-10 00:18:12 +00:00
subr_coverage.c Extract the coverage sanitizer KPI to a new file. 2019-01-29 11:04:17 +00:00
subr_devmap.c Raise the size of L3 table for early devmap on arm64 2018-07-19 21:58:06 +00:00
subr_devstat.c devstat(9): Constify function parameters that can be const 2018-08-23 01:42:45 +00:00
subr_disk.c Fix botched merge with 355066 2019-03-12 05:10:41 +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_early.c Add a file missed in r339321 2018-10-12 00:32:45 +00:00
subr_epoch.c Make taskqgroup_attach{,_cpu}(9) work across architectures 2019-02-12 21:23: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 res_find: Fix fallback logic 2018-08-18 19:45:56 +00:00
subr_inflate.c There's two files in the sys tree named inflate.c, in addition 2018-07-13 17:41:28 +00:00
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 Have preload_delete_name() free pages backing preloaded data. 2018-07-19 20:00:28 +00:00
subr_msgbuf.c msgbuf: Light detailing (const'ify and bool'itize) 2018-08-09 17:42:27 +00:00
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 Ensure the DPCPU and VNET module spaces are aligned to hold a pointer. 2018-07-30 14:25:17 +00:00
subr_pctrie.c kern/subr_pctrie: Fix mismatched signedness in assertion comparison 2019-04-06 21:56:24 +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 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 ANSIfy sys/kern 2018-06-01 13:26:45 +00:00
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 Improve error messages from clock_if.m method failures. 2018-09-02 20:17:51 +00:00
subr_sbuf.c
subr_scanf.c
subr_sfbuf.c
subr_sglist.c
subr_sleepqueue.c Do not go into sleep in sleepq_catch_signals() when SIGSTOP from 2019-05-29 14:05:27 +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 Deinline vfork handling out of the syscall return path. 2018-12-19 20:27:26 +00:00
subr_taskqueue.c Add a taskqueue_quiesce(9) KPI. 2018-11-21 17:18:27 +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 Deinline racct throttling out of syscall exit path. 2018-11-29 05:08:46 +00:00
subr_turnstile.c subr_turnstile: Extract some common code to a helper. 2019-05-16 13:17:57 +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 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 Remove bpf interface lock, it is no longer exist. 2019-05-14 10:21:28 +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 kern_poll: Restore explanatory comment removed in r177374 2018-11-01 23:46:23 +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 Move a racy assertion in filt_pipewrite(). 2019-02-19 15:46:43 +00:00
sys_procdesc.c proc: always store parent pid in p_oppid 2018-11-16 17:07:54 +00:00
sys_process.c Include ktr.h in more compilation units 2019-05-21 20:38:48 +00:00
sys_socket.c
syscalls.c make sysent after r347228 2019-05-07 18:10:21 +00:00
syscalls.master correct readlinkat(2) return type 2019-04-16 13:26:31 +00:00
systrace_args.c make sysent after r347228 2019-05-07 18:10:21 +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 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 sysv: get rid of fork/exit hooks if the code is compiled in 2019-05-04 19:05:30 +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 Avoid fixing the tty_info() buffer size in tty.h. 2018-11-06 23:41: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 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 Replace ttyprintf with sbuf_printf and tty drain routine 2018-10-20 18:31:36 +00:00
tty.c Avoid fixing the tty_info() buffer size in tty.h. 2018-11-06 23:41:44 +00:00
uipc_accf.c
uipc_debug.c Load balance sockets with new SO_REUSEPORT_LB option. 2018-06-06 15:45:57 +00:00
uipc_domain.c
uipc_mbuf2.c
uipc_mbuf.c Restructure mbuf send tags to provide stronger guarantees. 2019-05-24 22:30:40 +00:00
uipc_mbufhash.c
uipc_mqueue.c mqueuefs: Do not allow manipulation of the pseudo-dirents "." and ".." 2019-05-21 21:26:14 +00:00
uipc_sem.c Remove unused argument to priv_check_cred. 2018-12-11 19:32:16 +00:00
uipc_shm.c Add a kern.ipc.posix_shm_list sysctl. 2019-05-23 12:35:40 +00:00
uipc_sockbuf.c Retire sbsndptr() KPI 2018-11-19 00:54:31 +00:00
uipc_socket.c Remove bogus assert that I added in r319722. It is a legitimate case 2019-03-03 18:57:48 +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 Plug some networking sysctl leaks. 2018-11-22 20:49:41 +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 Include ktr.h in more compilation units 2019-05-21 20:38:48 +00:00
vfs_cache.c Include ktr.h in more compilation units 2019-05-21 20:38:48 +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 Switch to use shared vnode locks for text files during image activation. 2019-05-05 11:20:43 +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 Remove "struct ucred*" argument from vtruncbuf 2019-05-24 20:27:50 +00:00
vfs_syscalls.c In the unlinkat syscall, the operation is performed on the directory 2019-04-08 14:23:52 +00:00
vfs_vnops.c Include ktr.h in more compilation units 2019-05-21 20:38:48 +00:00
vnode_if.src Switch to use shared vnode locks for text files during image activation. 2019-05-05 11:20:43 +00:00