Skip site navigation (1)Skip section navigation (2)

FreeBSD Man Pages

Man Page or Keyword Search:
Man Architecture
Apropos Keyword Search (all sections) Output format
home | help
P_CANDEBUG(9)          FreeBSD Kernel Developer's Manual         P_CANDEBUG(9)

NAME
     p_candebug - determine debuggability of a process

SYNOPSIS
     #include <sys/param.h>
     #include <sys/proc.h>

     int
     p_candebug(struct thread *td, struct proc *p);

DESCRIPTION
     This function can be used to determine if a given process p is debuggable
     by the thread td.

SYSCTL VARIABLES
     The following sysctl(8) variables directly influence the behaviour of
     p_candebug():

     kern.securelevel
             Debugging of the init process is not allowed if this variable is
             1 or greater.

     security.bsd.unprivileged_proc_debug
             Must be set to a non-zero value to allow unprivileged processes
             access to the kernel's debug facilities.

RETURN VALUES
     The p_candebug() function returns 0 if the process denoted by p is
     debuggable by thread td, or a non-zero error return value otherwise.

ERRORS
     [EACCESS]          The MAC subsystem denied debuggability.

     [EAGAIN]           Process p is in the process of being exec()'ed.

     [EPERM]            Thread td lacks super-user credentials and process p
                        is executing a set-user-ID or set-group-ID executable.

     [EPERM]            Thread td lacks super-user credentials and process p's
                        group set is not a subset of td's effective group set.

     [EPERM]            Thread td lacks super-user credentials and process p's
                        user IDs do not match thread td's effective user ID.

     [EPERM]            Process p denotes the initial process initproc() and
                        the sysctl(8) variable kern.securelevel is greater
                        than zero.

     [ESRCH]            Process p is not visible to thread td as determined by
                        cr_seeotheruids(9) or cr_seeothergids(9).

     [ESRCH]            Thread td has been jailed and process p does not
                        belong to the same jail as td.

     [ESRCH]            The MAC subsystem denied debuggability.

SEE ALSO
     jail(2), sysctl(8), cr_seeothergids(9), cr_seeotheruids(9), mac(9),
     p_cansee(9), prison_check(9)

FreeBSD 11.0-PRERELEASE        November 19, 2006       FreeBSD 11.0-PRERELEASE

NAME | SYNOPSIS | DESCRIPTION | SYSCTL VARIABLES | RETURN VALUES | ERRORS | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=p_candebug&sektion=9&manpath=FreeBSD+9.2-RELEASE>

home | help