From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751497AbWDAIha (ORCPT ); Sat, 1 Apr 2006 03:37:30 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751499AbWDAIha (ORCPT ); Sat, 1 Apr 2006 03:37:30 -0500 Received: from mail.gmx.net ([213.165.64.20]:28888 "HELO mail.gmx.net") by vger.kernel.org with SMTP id S1751497AbWDAIh3 (ORCPT ); Sat, 1 Apr 2006 03:37:29 -0500 X-Authenticated: #14349625 Subject: Re: [patch 2.6.16-mm2 2/9] sched throttle tree extract - fix potential task uninterruptible bug From: Mike Galbraith To: Ingo Molnar , Andrew Morton Cc: lkml , Peter Williams , Nick Piggin , Con Kolivas In-Reply-To: <1143880397.7617.10.camel@homer> References: <1143880124.7617.5.camel@homer> <1143880397.7617.10.camel@homer> Content-Type: text/plain Date: Sat, 01 Apr 2006 10:38:03 +0200 Message-Id: <1143880683.7617.16.camel@homer> Mime-Version: 1.0 X-Mailer: Evolution 2.4.0 Content-Transfer-Encoding: 7bit X-Y-GMX-Trusted: 0 Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org This patch fixes a bug waiting for a place to happen should anyone ever combine TASK_NONINTERACTIVE with TASK_UNINTERRUPTIBLE. Signed-off-by: Mike Galbraith --- linux-2.6.16-mm2/kernel/sched.c-1.timewarp 2006-03-23 15:04:42.000000000 +0100 +++ linux-2.6.16-mm2/kernel/sched.c 2006-03-23 15:07:08.000000000 +0100 @@ -1457,7 +1457,7 @@ out_set_cpu: out_activate: #endif /* CONFIG_SMP */ - if (old_state == TASK_UNINTERRUPTIBLE) { + if (old_state & TASK_UNINTERRUPTIBLE) { rq->nr_uninterruptible--; /* * Tasks on involuntary sleep don't earn @@ -3167,7 +3167,7 @@ need_resched_nonpreemptible: unlikely(signal_pending(prev)))) prev->state = TASK_RUNNING; else { - if (prev->state == TASK_UNINTERRUPTIBLE) + if (prev->state & TASK_UNINTERRUPTIBLE) rq->nr_uninterruptible++; deactivate_task(prev, rq); }