p_cansee(9): Bring up-to-date, misc fixes

Essentially defer to cr_cansee(9), except for the specifics.

Be more specific on the return codes.

Reviewed by:            bcr, pauamma_gundo.com
MFC after:              2 weeks
Sponsored by:           Kumacom SAS
Differential Revision:  https://reviews.freebsd.org/D40637
This commit is contained in:
Olivier Certner 2023-08-18 01:54:43 +02:00 committed by Mitchell Horne
parent 82f9bc9ea8
commit 2ede38aff5

View file

@ -24,19 +24,18 @@
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
.Dd November 19, 2006
.Dd August 18, 2023
.Dt P_CANSEE 9
.Os
.Sh NAME
.Nm p_cansee
.Nd determine visibility of a process
.Sh SYNOPSIS
.In sys/param.h
.In sys/proc.h
.Ft int
.Fn p_cansee "struct thread *td" "struct proc *p"
.Sh DESCRIPTION
This function can be used to determine if a given process
This function determines if a given process
.Fa p
is visible to the thread
.Fa td ,
@ -45,13 +44,14 @@ where the notion of
may be read as
.Dq "awareness of existence" .
.Pp
The function is implemented using
.Xr cr_cansee 9 ,
and the dependencies on
.Xr sysctl 8
variables documented in the
.Xr cr_cansee 9
manual page apply.
This function explicitly allows a thread to always see its own process,
even with pending credentials changes
.Po
see
.Xr ucred 9
.Pc .
Otherwise, it simply defers to
.Xr cr_cansee 9 .
.Sh RETURN VALUES
The
.Fn p_cansee
@ -62,30 +62,18 @@ if the process denoted by
.Fa p
is visible by thread
.Fa td ,
or a non-zero error return value otherwise.
or ESRCH otherwise.
.Sh ERRORS
.Bl -tag -width Er
.It Bq Er ESRCH
Process
.Fa p
is not visible to thread
.Fa td
as determined by
.Xr cr_cansee 9 .
.It Bq Er ESRCH
Thread
.Fa td
has been jailed and process
is not part of process
.Fa p
does not belong to the same jail as
.Fa td .
.It Bq Er ESRCH
The MAC subsystem denied visibility.
and cannot see it as determined by
.Xr cr_cansee 9 .
.El
.Sh SEE ALSO
.Xr jail 2 ,
.Xr sysctl 8 ,
.Xr ucred 9 ,
.Xr cr_cansee 9 ,
.Xr mac 9 ,
.Xr p_candebug 9 ,
.Xr prison_check 9
.Xr p_candebug 9