[git pull] scheduler fix

From: Ingo Molnar
Date: Tue Jan 22 2008 - 05:34:23 EST



Linus, please pull the latest scheduler-fixes git tree from:

git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched.git

it's a fix for a late-breaking bug: if the root user / admin sets the
new /sys/uids/*/cpu_share tunable too low from the default 1024 then we
can crash/hang. [ in sched-devel.git we've already had MIN_GROUP_SHARES
for a long time to enforce this limit - but it was not backported. ]

Ingo

------------------>
Ingo Molnar (1):
sched: group scheduler, set uid share fix

sched.c | 8 ++++++++
1 file changed, 8 insertions(+)

diff --git a/kernel/sched.c b/kernel/sched.c
index 37cf07a..e76b11c 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -7153,6 +7153,14 @@ int sched_group_set_shares(struct task_group *tg, unsigned long shares)
{
int i;

+ /*
+ * A weight of 0 or 1 can cause arithmetics problems.
+ * (The default weight is 1024 - so there's no practical
+ * limitation from this.)
+ */
+ if (shares < 2)
+ shares = 2;
+
spin_lock(&tg->lock);
if (tg->shares == shares)
goto done;
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/