diff options
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/sys.c | 22 | 
1 files changed, 22 insertions, 0 deletions
| diff --git a/kernel/sys.c b/kernel/sys.c index b3f1097c76f..41e02eff339 100644 --- a/kernel/sys.c +++ b/kernel/sys.c @@ -1528,6 +1528,28 @@ SYSCALL_DEFINE5(prctl, int, option, unsigned long, arg2, unsigned long, arg3,  				current->timer_slack_ns = arg2;  			error = 0;  			break; +		case PR_MCE_KILL: +			if (arg4 | arg5) +				return -EINVAL; +			switch (arg2) { +			case 0: +				if (arg3 != 0) +					return -EINVAL; +				current->flags &= ~PF_MCE_PROCESS; +				break; +			case 1: +				current->flags |= PF_MCE_PROCESS; +				if (arg3 != 0) +					current->flags |= PF_MCE_EARLY; +				else +					current->flags &= ~PF_MCE_EARLY; +				break; +			default: +				return -EINVAL; +			} +			error = 0; +			break; +  		default:  			error = -EINVAL;  			break; | 
