diff options
-rw-r--r-- | kernel/sched/core.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/kernel/sched/core.c b/kernel/sched/core.c index 8debd642a22c..82f5045bb7f0 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c | |||
@@ -4255,10 +4255,10 @@ long sched_setaffinity(pid_t pid, const struct cpumask *in_mask) | |||
4255 | rcu_read_lock(); | 4255 | rcu_read_lock(); |
4256 | 4256 | ||
4257 | p = find_process_by_pid(pid); | 4257 | p = find_process_by_pid(pid); |
4258 | if (!p) { | 4258 | if (!p || is_realtime(p)) { |
4259 | rcu_read_unlock(); | 4259 | rcu_read_unlock(); |
4260 | put_online_cpus(); | 4260 | put_online_cpus(); |
4261 | return -ESRCH; | 4261 | return p ? -EPERM : -ESRCH; |
4262 | } | 4262 | } |
4263 | 4263 | ||
4264 | /* Prevent p going away */ | 4264 | /* Prevent p going away */ |