Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755148AbXLDQAc (ORCPT ); Tue, 4 Dec 2007 11:00:32 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1753900AbXLDQAZ (ORCPT ); Tue, 4 Dec 2007 11:00:25 -0500 Received: from mx2.mail.elte.hu ([157.181.151.9]:60125 "EHLO mx2.mail.elte.hu" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753627AbXLDQAY (ORCPT ); Tue, 4 Dec 2007 11:00:24 -0500 Date: Tue, 4 Dec 2007 17:00:05 +0100 From: Ingo Molnar To: Linus Torvalds Cc: "Luiz Fernando N. Capitulino" , Linux Kernel Mailing List , herton@mandriva.com.br, dvgevers@xs4all.nl Subject: Re: [local DoS] Re: Linux 2.6.24-rc4 Message-ID: <20071204160005.GA29783@elte.hu> References: <20071204120715.4ea204a8@mandriva.com.br> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.17 (2007-11-01) X-ELTE-VirusStatus: clean X-ELTE-SpamScore: -1.5 X-ELTE-SpamLevel: X-ELTE-SpamCheck: no X-ELTE-SpamVersion: ELTE 2.0 X-ELTE-SpamCheck-Details: score=-1.5 required=5.9 tests=BAYES_00 autolearn=no SpamAssassin version=3.2.3 -1.5 BAYES_00 BODY: Bayesian spam probability is 0 to 1% [score: 0.0000] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1073 Lines: 30 * Linus Torvalds wrote: > > > On Tue, 4 Dec 2007, Luiz Fernando N. Capitulino wrote: > > > > sched_rr_get_interval(1, NULL); > > Looks like we have a zero "cfs_rq->load.weight". > > Ingo? Both sched_slice() and __sched_slice() do a divide by the > runqueue weight, and at least dequeue_task_fair() explicitly checks > for that being zero, so clearly zero is a possible value. Hmm? yeah, i can reproduce this crash too. The problem is on SMP: if sched_rr_get_interval() gets a task from an otherwise idle runqueue, then rq->load.weight is 0. Normally sched_slice() is only used on a busy runqueue. So the correct fixup site is not in sched_slice() but in sys_sched_rr_get_interval() - i'm working on the right fix, i hope to be able to send a pull request in a few minutes. Ingo -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/