Module Name:    src
Committed By:   kamil
Date:           Sun Feb 12 06:09:53 UTC 2017

Modified Files:
        src/lib/libc/sys: ptrace.2
        src/sys/kern: sys_ptrace_common.c
        src/sys/sys: ptrace.h
        src/tests/kernel: t_ptrace_wait.c

Log Message:
Introduce new interface in ptrace(2) - PT_GET_SIGMASK and PT_SET_SIGMASK

Add new interface to add ability to get/set signal mask of a tracee.
It has been inspired by Linux PTRACE_GETSIGMASK and PTRACE_SETSIGMASK, but
adapted for NetBSD API.

This interface is used for checkpointing software to set/restore context
of a process including signal mask like criu or just to track this property
in reverse-execution software like Record and Replay Framework (rr).

Add new ATF tests for this interface
====================================
getsigmask1:
    Verify that plain PT_SET_SIGMASK can be called

getsigmask2:
    Verify that PT_SET_SIGMASK reports correct mask from tracee

setsigmask1:
    Verify that plain PT_SET_SIGMASK can be called with empty mask

setsigmask2:
    Verify that sigmask is preserved between PT_GET_SIGMASK and
    PT_SET_SIGMASK

setsigmask3:
    Verify that sigmask is preserved between PT_GET_SIGMASK, process
    resumed and PT_SET_SIGMASK

setsigmask4:
    Verify that new sigmask is visible in tracee

Kernel ABI bump delayed as there are more interfaces to come in ptrace(2).

Sponsored by <The NetBSD Foundation>


To generate a diff of this commit:
cvs rdiff -u -r1.58 -r1.59 src/lib/libc/sys/ptrace.2
cvs rdiff -u -r1.13 -r1.14 src/sys/kern/sys_ptrace_common.c
cvs rdiff -u -r1.55 -r1.56 src/sys/sys/ptrace.h
cvs rdiff -u -r1.69 -r1.70 src/tests/kernel/t_ptrace_wait.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Reply via email to