linux(4): implement PR_SET_NO_NEW_PRIVS
This makes prctl(2) support PR_SET_NO_NEW_PRIVS, by mapping it to the native PROC_NO_NEW_PRIVS_CTL procctl(2). Sponsored By: EPSRC Differential Revision: https://reviews.freebsd.org/D30973
This commit is contained in:
parent
45d99014ca
commit
2f514e6f13
@ -1982,7 +1982,7 @@ linux_capset(struct thread *td, struct linux_capset_args *uap)
|
||||
int
|
||||
linux_prctl(struct thread *td, struct linux_prctl_args *args)
|
||||
{
|
||||
int error = 0, max_size;
|
||||
int error = 0, max_size, arg;
|
||||
struct proc *p = td->td_proc;
|
||||
char comm[LINUX_MAX_COMM_LEN];
|
||||
int pdeath_signal, trace_state;
|
||||
@ -2113,8 +2113,10 @@ linux_prctl(struct thread *td, struct linux_prctl_args *args)
|
||||
error = EINVAL;
|
||||
break;
|
||||
case LINUX_PR_SET_NO_NEW_PRIVS:
|
||||
linux_msg(td, "unsupported prctl PR_SET_NO_NEW_PRIVS");
|
||||
error = EINVAL;
|
||||
arg = args->arg2 == 1 ?
|
||||
PROC_NO_NEW_PRIVS_ENABLE : PROC_NO_NEW_PRIVS_DISABLE;
|
||||
error = kern_procctl(td, P_PID, p->p_pid,
|
||||
PROC_NO_NEW_PRIVS_CTL, &arg);
|
||||
break;
|
||||
case LINUX_PR_SET_PTRACER:
|
||||
linux_msg(td, "unsupported prctl PR_SET_PTRACER");
|
||||
|
Loading…
Reference in New Issue
Block a user