From 7d754596756240fa918b94cd0c3011c77a638987 Mon Sep 17 00:00:00 2001 From: Christopher Kenna Date: Sat, 16 Apr 2011 20:12:00 -0400 Subject: LITMUS Core: Check for valid class in RT-param syscall. --- litmus/litmus.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'litmus/litmus.c') diff --git a/litmus/litmus.c b/litmus/litmus.c index 11ccaafd50de..26938acacafc 100644 --- a/litmus/litmus.c +++ b/litmus/litmus.c @@ -110,6 +110,14 @@ asmlinkage long sys_set_rt_task_param(pid_t pid, struct rt_task __user * param) "because wcet > period\n", pid); goto out_unlock; } + if ( tp.cls != RT_CLASS_HARD && + tp.cls != RT_CLASS_SOFT && + tp.cls != RT_CLASS_BEST_EFFORT) + { + printk(KERN_INFO "litmus: real-time task %d rejected " + "because its class is invalid\n"); + goto out_unlock; + } if (tp.budget_policy != NO_ENFORCEMENT && tp.budget_policy != QUANTUM_ENFORCEMENT && tp.budget_policy != PRECISE_ENFORCEMENT) -- cgit v1.2.2