diff options
Diffstat (limited to 'kernel/sys.c')
| -rw-r--r-- | kernel/sys.c | 16 | 
1 files changed, 16 insertions, 0 deletions
diff --git a/kernel/sys.c b/kernel/sys.c index 2e2e3f378d97..3d62c9599dc0 100644 --- a/kernel/sys.c +++ b/kernel/sys.c @@ -119,6 +119,12 @@  #ifndef PAC_RESET_KEYS  # define PAC_RESET_KEYS(a, b)	(-EINVAL)  #endif +#ifndef PAC_SET_ENABLED_KEYS +# define PAC_SET_ENABLED_KEYS(a, b, c)	(-EINVAL) +#endif +#ifndef PAC_GET_ENABLED_KEYS +# define PAC_GET_ENABLED_KEYS(a)	(-EINVAL) +#endif  #ifndef SET_TAGGED_ADDR_CTRL  # define SET_TAGGED_ADDR_CTRL(a)	(-EINVAL)  #endif @@ -2497,6 +2503,16 @@ SYSCALL_DEFINE5(prctl, int, option, unsigned long, arg2, unsigned long, arg3,  			return -EINVAL;  		error = PAC_RESET_KEYS(me, arg2);  		break; +	case PR_PAC_SET_ENABLED_KEYS: +		if (arg4 || arg5) +			return -EINVAL; +		error = PAC_SET_ENABLED_KEYS(me, arg2, arg3); +		break; +	case PR_PAC_GET_ENABLED_KEYS: +		if (arg2 || arg3 || arg4 || arg5) +			return -EINVAL; +		error = PAC_GET_ENABLED_KEYS(me); +		break;  	case PR_SET_TAGGED_ADDR_CTRL:  		if (arg3 || arg4 || arg5)  			return -EINVAL;  |