NetBSD/sys/kern
kamil e4281b2073 Introduce new ptrace(2) interface: PT_SET_SIGINFO and PT_GET_SIGINFO
This interface is designed to read signal information emited to tracee and
fake this signal with new value.

This functionality is required to distinguish types of events that occured
in the tracee and intercepted by a debugger.

These accessors introduce a new structure type ptrace_siginfo:
/*
 * Signal Information structure
 */
typedef struct ptrace_siginfo {
       siginfo_t       psi_siginfo;    /* signal information structure */
       lwpid_t         psi_lwpid;      /* destination LWP of the signal
                                        * value 0 means the whole process
                                        * (route signal to all LWPs) */
} ptrace_siginfo_t;

Include <sys/siginfo.h> in <sys/ptrace.h> in order to not break existing
software due to unknown symbol siginfo_t.

This interface has been proposed to the tech-kern@ mailing list.

Sponsored by <The NetBSD Foundation>
2017-01-06 22:53:17 +00:00
..
bufq_disksort.c Define a new module class for the bufq_strategy modules. These need to 2016-11-16 10:42:14 +00:00
bufq_fcfs.c Define a new module class for the bufq_strategy modules. These need to 2016-11-16 10:42:14 +00:00
bufq_priocscan.c Define a new module class for the bufq_strategy modules. These need to 2016-11-16 10:42:14 +00:00
bufq_readprio.c Define a new module class for the bufq_strategy modules. These need to 2016-11-16 10:42:14 +00:00
cnmagic.c
core_elf32.c Introduce new ptrace(2) interface: PT_SET_SIGINFO and PT_GET_SIGINFO 2017-01-06 22:53:17 +00:00
core_elf64.c
core_netbsd.c Introduce new ptrace(2) interface: PT_SET_SIGINFO and PT_GET_SIGINFO 2017-01-06 22:53:17 +00:00
exec_aout.c
exec_ecoff.c
exec_elf32.c 1) On 64bit systems, don't add the 32bit execsw[] to the global exec array. 2014-07-22 08:18:33 +00:00
exec_elf64.c 1) On 64bit systems, don't add the 32bit execsw[] to the global exec array. 2014-07-22 08:18:33 +00:00
exec_elf.c oops removed too much 2016-09-15 18:40:34 +00:00
exec_script.c Try not to use f_data, use f_{vnode,socket,pipe,mqueue,kqueue,ksem} to get 2014-09-05 09:20:59 +00:00
exec_subr.c reduce #ifdef mess caused by PaX 2016-05-22 14:26:09 +00:00
files.kern * Split sys/kern/sys_process.c into three parts: 2016-11-02 00:11:59 +00:00
genlintstub.awk
init_main.c Actually initialize the sysctl stuff for kernhist! Missed this file 2017-01-05 03:22:20 +00:00
init_sysctl_base.c Move a bunch of sysctl nodes from init_sysctl (kitchen sink sysctl file) 2015-08-25 14:52:31 +00:00
init_sysctl.c Remove the "target" argment from vfs_drainvnodes() as it is 2016-12-14 15:46:57 +00:00
init_sysent.c Regenerate files for modularization of ptrace(2) 2016-11-02 00:14:11 +00:00
kern_acct.c
kern_auth.c Expose struct kauth_cred for the benefit of the debugger. I can't convince gcc 2015-10-06 22:13:39 +00:00
kern_cctr.c
kern_cfglock.c
kern_clock.c opt_ntp.h is no longer used in kern_clock.c 2015-04-22 16:46:58 +00:00
kern_condvar.c o Don't include sys/sched.h. Scheduler-related operation is done by 2015-08-07 06:22:12 +00:00
kern_core.c KNF. Remove extra spaces. No functional change. 2016-07-07 06:55:38 +00:00
kern_cpu.c Don't decrement the number of offline cpus if we fail to shut down one. 2015-08-29 12:24:00 +00:00
kern_ctf.c KNF. Remove extra spaces. No functional change. 2016-07-07 06:55:38 +00:00
kern_descrip.c 1. mask fflags so we don't tack on whateve oflags were passed from userland 2015-08-03 04:55:15 +00:00
kern_drvctl.c don't release mutexes you did not enter? Please develop with LOCKDEBUG on! 2015-12-07 20:01:43 +00:00
kern_event.c make sure we cleanup properly when fd is too big. 2016-07-14 18:16:51 +00:00
kern_exec.c Introduce new SIGTRAP code: TRAP_EXEC 2017-01-06 22:42:58 +00:00
kern_exit.c Make p_ppid contain the original parent's pid even for traced processes. 2016-11-13 15:25:01 +00:00
kern_fileassoc.c table can't be NULL here. 2014-07-10 15:00:28 +00:00
kern_fork.c deduplicate the complex lock reparent dance. 2016-11-04 18:14:04 +00:00
kern_history.c By popular demand, update kernhist to use bintime(9) as the basis for 2017-01-05 03:40:33 +00:00
kern_hook.c
kern_idle.c
kern_ksyms_buf.c Use makeoptions_COPY_SYMTAB via opt_copy_symtab.h in sources. Remove a hack 2015-08-30 01:46:02 +00:00
kern_ksyms.c KNF. Remove extra spaces. No functional change. 2016-07-07 06:55:38 +00:00
kern_kthread.c Remove the unused and all-but-unusable kthread_destroy(). Also makes 2015-04-21 11:10:29 +00:00
kern_ktrace_vfs.c Try not to use f_data, use f_{vnode,socket,pipe,mqueue,kqueue,ksem} to get 2014-09-05 09:20:59 +00:00
kern_ktrace.c Allow emulations to override the creation of ktrace records for posting 2016-09-13 07:39:45 +00:00
kern_lock.c Trailing whitespace 2015-04-11 15:24:25 +00:00
kern_lwp.c GSoC 2016 Charles Cui: Implement thread priority protection based on work 2016-07-03 14:24:58 +00:00
kern_malloc.c Don't include <uvm/uvm_extern.h> 2015-02-06 18:21:29 +00:00
kern_module_vfs.c Add debug messages to report all attempts to load modules (and their 2016-03-15 02:59:24 +00:00
kern_module.c Revert previous commit (to r1.117) 2016-12-27 09:34:44 +00:00
kern_mutex_obj.c
kern_mutex.c KNF. Remove extra spaces. No functional change. 2016-07-07 06:55:38 +00:00
kern_ntptime.c Cast argument to uint64_t first before shifting to avoid UB for 2015-11-23 23:45:44 +00:00
kern_pax.c move aslr stuff to the aslr section 2016-09-17 02:29:11 +00:00
kern_physio.c Don't check if constant-sized KM_SLEEP allocations succeeded. 2015-04-21 10:54:52 +00:00
kern_pmf.c KNF. Remove extra spaces. No functional change. 2016-07-07 06:55:38 +00:00
kern_proc.c Return the "true" parent's pid as the parent pid (ppid) via the 2016-11-14 08:55:51 +00:00
kern_prot.c Make p_ppid contain the original parent's pid even for traced processes. 2016-11-13 15:25:01 +00:00
kern_ras.c Make the execution flow canonical instead of jumping back and forth, and 2016-07-04 07:56:07 +00:00
kern_rate.c
kern_resource.c In dosetrlimit() round stack hard limit just like soft one. 2016-07-13 09:52:00 +00:00
kern_rndpool.c Turn a kassert into a more appropriately placed ctassert. 2015-04-21 04:41:36 +00:00
kern_rndq.c Ask on-demand entropy sources to produce enough data to fill buffer. 2016-05-21 15:27:15 +00:00
kern_rndsink.c Use rnd_getmore as intended. No more essay needed here. 2016-05-21 15:33:40 +00:00
kern_runq.c When balancing threads over multiple CPUs, use fixpoint arithmetic 2016-12-22 14:11:58 +00:00
kern_rwlock_obj.c
kern_rwlock.c Consistently use KPREEMPT_*() here. 2014-11-28 08:27:27 +00:00
kern_sdt.c fix inconsistency about "sdt" provider which was declared but not defined. 2016-04-04 03:53:25 +00:00
kern_sig.c Introduce new ptrace(2) interface: PT_SET_SIGINFO and PT_GET_SIGINFO 2017-01-06 22:53:17 +00:00
kern_sleepq.c GSoC 2016 Charles Cui: Implement thread priority protection based on work 2016-07-03 14:24:58 +00:00
kern_softint.c revert kern_softint.c:r1.42 (which was incorrect fix) 2016-07-04 04:20:14 +00:00
kern_ssp.c void duplicate definition on statically linking libc+ssp and rumpkern+ssp. 2016-12-06 02:55:42 +00:00
kern_stub.c * Split sys/kern/sys_process.c into three parts: 2016-11-02 00:11:59 +00:00
kern_subr.c Protect ifnet list with psz and psref 2016-05-12 02:24:16 +00:00
kern_synch.c GSoC 2016 Charles Cui: Implement thread priority protection based on work 2016-07-03 14:24:58 +00:00
kern_syscall.c KNF - Thanks, christos 2015-11-30 23:34:47 +00:00
kern_sysctl.c Fix typx in comment 2015-10-23 01:58:43 +00:00
kern_tc.c
kern_time.c Adjust clock_nanosleep(2) to not copyout remaining time struct if 2016-11-11 15:29:36 +00:00
kern_timeout.c fix crash(8) printing of callouts. 2015-11-24 15:48:23 +00:00
kern_todr.c <sys/rnd.h> -> <sys/rndsource.h> in kern_todr.c. 2015-04-13 16:36:54 +00:00
kern_turnstile.c
kern_uidinfo.c
kern_uuid.c Get arguments in the right order for copyout. (Oops!) 2014-10-05 10:00:03 +00:00
kern_veriexec.c Remove uvm_extern.h and exec.h (unused). 2015-08-04 12:44:04 +00:00
kern_xxx.c introduce a new way of handling SYSCALL_DEBUG messages -- send them to 2015-10-29 00:27:08 +00:00
kgdb_stub.c Wait for the next character forever as kgdb wants. 2015-06-26 14:26:38 +00:00
Make.tags.inc
Makefile Adjust for systrace based on the FreeBSD code: 2015-03-07 16:38:07 +00:00
makesyscalls.sh Fix arg64 computation for compat_netbsd32 2016-10-28 23:44:32 +00:00
sched_4bsd.c 'miliseconds' -> 'milliseconds'. 2014-06-24 10:08:45 +00:00
sched_m2.c 'miliseconds' -> 'milliseconds'. 2014-06-24 10:08:45 +00:00
subr_autoconf.c Print number of attach error regardless of AB_QUIET and AB_SILENT. 2016-07-19 07:44:03 +00:00
subr_blist.c
subr_bufq.c By popular request, don't bother initializing a static pointer to NULL. 2016-11-18 02:37:33 +00:00
subr_callback.c
subr_copy.c Introduce security.pax.mprotect.ptrace sysctl which can be used to bypass 2016-05-25 17:43:58 +00:00
subr_cprng.c More rnd.h user cleanup. 2015-04-13 22:43:41 +00:00
subr_cpufreq.c
subr_debug.c
subr_device.c The use of root_device is not limited to vfs, so don't supply it in 2015-03-09 15:35:11 +00:00
subr_devsw.c Fix return value of nommap. 2016-12-16 23:35:04 +00:00
subr_disk_mbr.c
subr_disk_open.c Replace DIOCGPART -> DIOCGPARTINFO which returns the data needed instead of 2015-12-08 20:36:14 +00:00
subr_disk.c print the disklabel information on error if DIAGNOSTIC. 2016-01-06 00:22:30 +00:00
subr_evcnt.c
subr_exec_fd.c Try not to use f_data, use f_{vnode,socket,pipe,mqueue,kqueue,ksem} to get 2014-09-05 09:20:59 +00:00
subr_extent.c panic() must be able to take varargs - in userspace testing too. 2016-12-19 13:02:14 +00:00
subr_hash.c Add HASH_PSLIST (pslist(9)) type for hashinit() 2016-07-06 05:20:48 +00:00
subr_humanize.c
subr_interrupt.c Add kernel code to support intrctl(8). 2015-08-17 06:16:02 +00:00
subr_iostat.c src is too big these days to tolerate superfluous apostrophes. It's 2014-10-18 08:33:23 +00:00
subr_ipi.c Implement ipi_trigger_multi(9); requested by cherry@. 2015-01-18 23:16:35 +00:00
subr_kcpuset.c Constify kcpuset_countset() and cpu_index() parameters. 2014-05-19 20:39:23 +00:00
subr_kmem.c fix vmem_alloc() to never return an error for VM_SLEEP requests, 2016-02-29 00:34:17 +00:00
subr_kobj_vfs.c Split the data+bss+rodata segment in two data+bss and rodata segments. The 2016-07-20 13:36:19 +00:00
subr_kobj.c kobj_machdep() needs a chance to moify the loaded code, so move the code 2016-08-02 12:23:08 +00:00
subr_lockdebug.c Add _KERNEL_OPT 2015-09-29 01:44:57 +00:00
subr_log.c Don't log kern.msgbuf* sysctls. it's rather pointless, nobody can 2015-05-20 11:18:36 +00:00
subr_lwp_specificdata.c
subr_once.c
subr_optstr.c David Binderman in PR kern/51189: simplify loop conditions 2016-05-30 11:24:40 +00:00
subr_pcq.c Use membar_datadep_consumer where code inspection reveals it necessary. 2015-01-08 23:39:57 +00:00
subr_pcu.c pcu: replace xcall(9) used for messaging with ipi(9). This provides 2014-05-25 14:53:55 +00:00
subr_percpu.c Consistently use kpreempt_*() outside scheduler path. 2014-11-27 15:00:00 +00:00
subr_physmap.c
subr_pool.c fix: "vmstat -C" CpuLayer showed only the last cpu values. 2016-02-05 03:04:52 +00:00
subr_prf.c Bump size of scratchstr - some KASSERTMGS exceed 256 characters 2016-07-27 09:57:26 +00:00
subr_prof.c don't cast void * in c. 2014-07-10 21:13:52 +00:00
subr_pserialize.c Typo in comment. 2015-06-12 19:18:30 +00:00
subr_psref.c Add a new sanity check to psref 2016-11-09 09:00:46 +00:00
subr_specificdata.c
subr_spldebug.c
subr_syscall_stats.c
subr_tftproot.c The mbuf is freed by the protocol even on error, so always NULL the pointer 2016-10-31 15:27:24 +00:00
subr_time.c Use the new magic BINTIME_SCALE_* macros instead of magic numbers. 2017-01-05 23:29:14 +00:00
subr_userconf.c
subr_vmem.c KNF. Remove extra spaces. No functional change. 2016-07-07 06:55:38 +00:00
subr_workqueue.c
subr_xcall.c Fix a race condition of low priority xcall 2016-11-21 00:54:21 +00:00
sys_aio.c KNF. Remove extra spaces. No functional change. 2016-07-07 06:55:38 +00:00
sys_descrip.c Try not to use f_data, use f_{vnode,socket,pipe,mqueue,kqueue,ksem} to get 2014-09-05 09:20:59 +00:00
sys_generic.c Try not to use f_data, use f_{vnode,socket,pipe,mqueue,kqueue,ksem} to get 2014-09-05 09:20:59 +00:00
sys_lwp.c Unused inits (harmless). 2015-07-24 13:02:52 +00:00
sys_module.c Put the code in charge of handling MODCTL_STAT into a separate function. 2015-12-12 14:47:37 +00:00
sys_mqueue.c CID 1308958: Fix reversed arguments in copyin(9) 2015-06-29 15:44:45 +00:00
sys_pipe.c Try not to use f_data, use f_{vnode,socket,pipe,mqueue,kqueue,ksem} to get 2014-09-05 09:20:59 +00:00
sys_pmc.c
sys_process.c * Split sys/kern/sys_process.c into three parts: 2016-11-02 00:11:59 +00:00
sys_pset.c Don't forget to unlock the LWP. 2015-07-30 08:11:44 +00:00
sys_ptrace_common.c Introduce new ptrace(2) interface: PT_SET_SIGINFO and PT_GET_SIGINFO 2017-01-06 22:53:17 +00:00
sys_ptrace.c Add support for hardware assisted watchpoints/breakpoints API in ptrace(2) 2016-12-15 12:04:17 +00:00
sys_sched.c Fix reversed test. 2016-07-30 15:38:17 +00:00
sys_select.c Remove pollsock(). Since it took only a single socket, it was essentially 2014-04-25 15:52:45 +00:00
sys_sig.c Realtime signal support from GSoC 2016, Charles Cui. 2016-08-04 06:43:43 +00:00
sys_socket.c KNF. Remove extra spaces. No functional change. 2016-07-07 06:55:38 +00:00
sys_syscall.c regen 2015-03-07 16:38:49 +00:00
syscalls_autoload.c Regenerate files for modularization of ptrace(2) 2016-11-02 00:14:11 +00:00
syscalls.c Regenerate files for modularization of ptrace(2) 2016-11-02 00:14:11 +00:00
syscalls.conf Include non-portable <sys/idtype.h> inside RUMP_CLIENT protection. 2016-05-06 10:17:34 +00:00
syscalls.master * Split sys/kern/sys_process.c into three parts: 2016-11-02 00:11:59 +00:00
systrace_args.c Regenerate files for modularization of ptrace(2) 2016-11-02 00:14:11 +00:00
sysv_ipc.c When unloading the module, clear the address of the kauth_listener 2015-12-05 00:51:42 +00:00
sysv_msg.c don't forget to destroy a cv 2016-09-05 14:13:50 +00:00
sysv_sem.c In sysv_sem.c, defer establishment of exithook so we can initialize the 2015-11-06 02:26:42 +00:00
sysv_shm.c We never exec(2) with a kernel vmspace, so do not test for that, but instead 2015-11-26 13:15:34 +00:00
tty_bsdpty.c
tty_conf.c Define TTY_ALLOW_PRIVATE in tty.c, tty_pty.c, and tty_conf.c. 2014-05-22 16:28:06 +00:00
tty_ptm.c to garnish, dust with _KERNEL_OPT 2015-08-24 22:50:32 +00:00
tty_pty.c include ioconf.h instead of locally declaring the prototype of the attach 2015-08-20 09:45:45 +00:00
tty_subr.c
tty_tty.c Add d_discard to all struct cdevsw instances I could find. 2014-07-25 08:10:31 +00:00
tty.c Require exact credential match; this way even if we su to the original user 2016-10-01 04:42:54 +00:00
uipc_accf.c
uipc_domain.c - add diagnostic check for sa_len 2014-12-02 19:45:58 +00:00
uipc_mbuf2.c
uipc_mbuf.c Hide MFREE now that it is not being used anymore and provide some debugging 2016-10-04 14:13:21 +00:00
uipc_proto.c Add struct pr_usrreqs with a pr_generic function and prepare for the 2014-05-18 14:46:15 +00:00
uipc_sem.c Memory leak, found by Mootja. By the way, we probably shouldn't be 2016-10-31 15:08:45 +00:00
uipc_socket2.c more MFREE -> m_free 2016-10-02 19:26:46 +00:00
uipc_socket.c Revert to revision 1.249 to undo changes from PR 49636. 2016-10-13 19:10:23 +00:00
uipc_syscalls.c Add missing ktrkuser 2016-12-03 22:28:16 +00:00
uipc_usrreq.c Memory leak, found by Mootja. It is easily triggerable from userland. 2016-10-31 15:05:05 +00:00
vfs_bio.c Remove some extraneous whitespace 2016-12-28 06:25:40 +00:00
vfs_cache.c Rename vget() to vcache_vget() and vcache_tryvget() respectively and 2017-01-02 10:33:28 +00:00
vfs_cwd.c
vfs_dirhash.c Don't next structure and enum definitions. 2014-09-05 05:57:21 +00:00
vfs_getcwd.c
vfs_hooks.c
vfs_init.c Remove miscfs/syncfs and 2015-05-06 15:57:07 +00:00
vfs_lockf.c
vfs_lookup.c #if DIAGNOSTIC panic ---> KASSERTMSG 2016-04-22 05:34:58 +00:00
vfs_mount.c Rename vget() to vcache_vget() and vcache_tryvget() respectively and 2017-01-02 10:33:28 +00:00
vfs_quotactl.c Revert the following changes: 2014-06-28 22:27:50 +00:00
vfs_subr.c Name all "vnode_impl_t" variables "vip". 2017-01-05 10:05:11 +00:00
vfs_syscalls.c typo in comment 2016-07-31 20:34:04 +00:00
vfs_trans.c to garnish, dust with _KERNEL_OPT 2015-08-24 22:50:32 +00:00
vfs_vnode.c Name all "vnode_impl_t" variables "vip". 2017-01-05 10:05:11 +00:00
vfs_vnops.c Remove useless semicolon reported by Henning Petersen in PR#49634. 2015-02-04 07:09:37 +00:00
vfs_wapbl.c during truncate with wapbl, register deallocation for upper indirect block 2016-11-10 20:56:32 +00:00
vfs_xattr.c Try not to use f_data, use f_{vnode,socket,pipe,mqueue,kqueue,ksem} to get 2014-09-05 09:20:59 +00:00
vnode_if.c regen vnode interfaces 2016-01-26 23:30:10 +00:00
vnode_if.sh "rump_private.h" -> <rump-sys/kern.h> 2016-01-26 23:28:06 +00:00
vnode_if.src Fix comment in vnode_if.src to reflect change to VOP_LINK. 2015-04-20 23:08:07 +00:00