sched: don't allow setuid to succeed if the user does not have rt bandwidth

Impact: fix hung task with certain (non-default) rt-limit settings

Corey Hickey reported that on using setuid to change the uid of a
rt process, the process would be unkillable and not be running.
This is because there was no rt runtime for that user group. Add
in a check to see if a user can attach an rt task to its task group.
On failure, return EINVAL, which is also returned in

Reported-by: Corey Hickey <>
Signed-off-by: Dhaval Giani <>
Acked-by: Peter Zijlstra <>
Signed-off-by: Ingo Molnar <>
4 files changed