143051d27SRobert Mustacchi.\"
243051d27SRobert Mustacchi.\" This file and its contents are supplied under the terms of the
343051d27SRobert Mustacchi.\" Common Development and Distribution License ("CDDL"), version 1.0.
443051d27SRobert Mustacchi.\" You may only use this file in accordance with the terms of version
543051d27SRobert Mustacchi.\" 1.0 of the CDDL.
643051d27SRobert Mustacchi.\"
743051d27SRobert Mustacchi.\" A full copy of the text of the CDDL should have accompanied this
843051d27SRobert Mustacchi.\" source.  A copy of the CDDL is also available via the Internet at
943051d27SRobert Mustacchi.\" http://www.illumos.org/license/CDDL.
1043051d27SRobert Mustacchi.\"
1143051d27SRobert Mustacchi.\"
1243051d27SRobert Mustacchi.\" Copyright 2015 Joyent, Inc.
1343051d27SRobert Mustacchi.\"
14*a7d7cafeSRobert Mustacchi.Dd November 27, 2023
1543051d27SRobert Mustacchi.Dt PR_CREAT 3PROC
1643051d27SRobert Mustacchi.Os
1743051d27SRobert Mustacchi.Sh NAME
1843051d27SRobert Mustacchi.Nm pr_exit
1943051d27SRobert Mustacchi.Nd inject exit system call into victim process
20*a7d7cafeSRobert Mustacchi.Sh LIBRARY
2143051d27SRobert Mustacchi.Lb libproc
22*a7d7cafeSRobert Mustacchi.Sh SYNOPSIS
2343051d27SRobert Mustacchi.In libproc.h
2443051d27SRobert Mustacchi.Ft int
2543051d27SRobert Mustacchi.Fo pr_exit
2643051d27SRobert Mustacchi.Fa "struct ps_prochandle *P"
2743051d27SRobert Mustacchi.Fa "int status"
2843051d27SRobert Mustacchi.Fc
2943051d27SRobert Mustacchi.Sh DESCRIPTION
3043051d27SRobert MustacchiThe
3143051d27SRobert Mustacchi.Fn pr_exit
3243051d27SRobert Mustacchifunction injects the
3343051d27SRobert Mustacchi.Xr exit 2
3443051d27SRobert Mustacchisystem call into the target process
3543051d27SRobert Mustacchi.Fa P
3643051d27SRobert Mustacchiby means of the agent LWP.
3743051d27SRobert MustacchiIf the process handle
3843051d27SRobert Mustacchi.Fa P
3943051d27SRobert Mustacchiis
4043051d27SRobert Mustacchi.Dv NULL
4143051d27SRobert Mustacchithen this is equivalent to calling
4243051d27SRobert Mustacchi.Xr exit 2
4343051d27SRobert Mustacchion the currently running process.
4443051d27SRobert Mustacchi.Pp
4543051d27SRobert MustacchiThe argument
4643051d27SRobert Mustacchi.Fa status
4743051d27SRobert Mustacchihas the same meaning as in
4843051d27SRobert Mustacchi.Xr exit 2 .
4943051d27SRobert MustacchiSee
5043051d27SRobert Mustacchi.Xr exit 2
5143051d27SRobert Mustacchifor the full description and purpose of the
5243051d27SRobert Mustacchi.Sy exit
5343051d27SRobert Mustacchisystem call and its arguments.
5443051d27SRobert Mustacchi.Pp
5543051d27SRobert MustacchiThe
5643051d27SRobert Mustacchi.Fn pr_exit
5772d3dbb9SYuri Pankovfunction only works on active processes.
5872d3dbb9SYuri PankovProcess handles that correspond to core files, zombie processes, or ELF objects
5972d3dbb9SYuri Pankovdo not support system call injection.
6043051d27SRobert Mustacchi.Sh RETURN VALUES
6143051d27SRobert MustacchiUpon successful completion, the
6243051d27SRobert Mustacchi.Fn pr_exit
6343051d27SRobert Mustacchifunction's return value is that described in
6443051d27SRobert Mustacchi.Xr exit 2 .
6543051d27SRobert MustacchiOtherwise,
6643051d27SRobert Mustacchi.Sy -1
6743051d27SRobert Mustacchiis returned and
6843051d27SRobert Mustacchi.Sy errno
6943051d27SRobert Mustacchiis set to
7043051d27SRobert Mustacchi.Er ENOSYS
7143051d27SRobert Mustacchito indicate that the system call could not be injected.
7243051d27SRobert Mustacchi.Pp
7343051d27SRobert MustacchiIf the
7443051d27SRobert Mustacchi.Fn pr_exit
7543051d27SRobert Mustacchifunction is called with the value of
7643051d27SRobert Mustacchi.Fa P
7743051d27SRobert Mustacchiset to
7843051d27SRobert Mustacchi.Dv NULL ,
7943051d27SRobert Mustacchithen the function will not return.
8043051d27SRobert Mustacchi.Sh ERRORS
8143051d27SRobert MustacchiFor the full list of errors see the
8243051d27SRobert Mustacchi.Sy ERRORS
8343051d27SRobert Mustacchisection in
8443051d27SRobert Mustacchi.Xr exit 2 .
8543051d27SRobert Mustacchi.Pp
8643051d27SRobert MustacchiThe
8743051d27SRobert Mustacchi.Fn pr_exit
8843051d27SRobert Mustacchifunction will fail if:
8943051d27SRobert Mustacchi.Bl -tag -width Er
9043051d27SRobert Mustacchi.It Er ENOSYS
9143051d27SRobert MustacchiAn error occurred while trying to invoke the agent LWP and inject a
9243051d27SRobert Mustacchisystem call in the process handle
9343051d27SRobert Mustacchi.Fa P
9443051d27SRobert Mustacchior the process handle
9543051d27SRobert Mustacchi.Fa P
9643051d27SRobert Mustacchidoes not support system call injection.
9743051d27SRobert Mustacchi.El
9843051d27SRobert Mustacchi.Sh INTERFACE STABILITY
9943051d27SRobert Mustacchi.Sy Uncommitted
10043051d27SRobert Mustacchi.Sh MT-LEVEL
10143051d27SRobert MustacchiSee
10243051d27SRobert Mustacchi.Sy LOCKING
10343051d27SRobert Mustacchiin
10443051d27SRobert Mustacchi.Xr libproc 3LIB .
10543051d27SRobert Mustacchi.Sh SEE ALSO
10643051d27SRobert Mustacchi.Xr exit 2 ,
10743051d27SRobert Mustacchi.Xr libproc 3LIB ,
108bbf21555SRichard Lowe.Xr proc 5
109