aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/sys.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/sys.c')
-rw-r--r--kernel/sys.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/kernel/sys.c b/kernel/sys.c
index f484077b6b14..6df42624e454 100644
--- a/kernel/sys.c
+++ b/kernel/sys.c
@@ -1990,7 +1990,7 @@ SYSCALL_DEFINE5(prctl, int, option, unsigned long, arg2, unsigned long, arg3,
1990 error = prctl_get_seccomp(); 1990 error = prctl_get_seccomp();
1991 break; 1991 break;
1992 case PR_SET_SECCOMP: 1992 case PR_SET_SECCOMP:
1993 error = prctl_set_seccomp(arg2); 1993 error = prctl_set_seccomp(arg2, (char __user *)arg3);
1994 break; 1994 break;
1995 case PR_GET_TSC: 1995 case PR_GET_TSC:
1996 error = GET_TSC_CTL(arg2); 1996 error = GET_TSC_CTL(arg2);
@@ -2061,6 +2061,16 @@ SYSCALL_DEFINE5(prctl, int, option, unsigned long, arg2, unsigned long, arg3,
2061 error = put_user(me->signal->is_child_subreaper, 2061 error = put_user(me->signal->is_child_subreaper,
2062 (int __user *) arg2); 2062 (int __user *) arg2);
2063 break; 2063 break;
2064 case PR_SET_NO_NEW_PRIVS:
2065 if (arg2 != 1 || arg3 || arg4 || arg5)
2066 return -EINVAL;
2067
2068 current->no_new_privs = 1;
2069 break;
2070 case PR_GET_NO_NEW_PRIVS:
2071 if (arg2 || arg3 || arg4 || arg5)
2072 return -EINVAL;
2073 return current->no_new_privs ? 1 : 0;
2064 default: 2074 default:
2065 error = -EINVAL; 2075 error = -EINVAL;
2066 break; 2076 break;