From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754842Ab1CQQzN (ORCPT ); Thu, 17 Mar 2011 12:55:13 -0400 Received: from hrndva-omtalb.mail.rr.com ([71.74.56.124]:44885 "EHLO hrndva-omtalb.mail.rr.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753146Ab1CQQzL (ORCPT ); Thu, 17 Mar 2011 12:55:11 -0400 X-Authority-Analysis: v=1.1 cv=pN6kzQkhXdmdOr6Akjoh3kGBD/S3UyPMKQp53EJY+ro= c=1 sm=0 a=MpKEIbNVzpcA:10 a=Q9fys5e9bTEA:10 a=OPBmh+XkhLl+Enan7BmTLg==:17 a=2kYGVcdoXfO9YTTjF9gA:9 a=DI9g47ZbwAxv9AIBUukA:7 a=b4b-w6zhN9UgTkMhSp-tqrkF3voA:4 a=PUjeQqilurYA:10 a=OPBmh+XkhLl+Enan7BmTLg==:117 X-Cloudmark-Score: 0 X-Originating-IP: 67.242.120.143 Subject: Re: um: WARNING: at kernel/futex.c:786 __unqueue_futex From: Steven Rostedt To: richard -rw- weinberger Cc: laijs@cn.fujitsu.com, LKML , user-mode-linux-devel@lists.sourceforge.net, dvhart@linux.intel.com In-Reply-To: References: <1300370936.16880.96.camel@gandalf.stny.rr.com> Content-Type: text/plain; charset="ISO-8859-15" Date: Thu, 17 Mar 2011 12:55:09 -0400 Message-ID: <1300380909.16880.264.camel@gandalf.stny.rr.com> Mime-Version: 1.0 X-Mailer: Evolution 2.30.3 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Here, test this patch. I'm in the process of committing it now. It will be two patches, one for the WARN_ON_SMP() change, the other for the futex change. -- Steve diff --git a/include/asm-generic/bug.h b/include/asm-generic/bug.h index c2c9ba0..25f1e9e 100644 --- a/include/asm-generic/bug.h +++ b/include/asm-generic/bug.h @@ -168,7 +168,7 @@ extern void warn_slowpath_null(const char *file, const int line); #ifdef CONFIG_SMP # define WARN_ON_SMP(x) WARN_ON(x) #else -# define WARN_ON_SMP(x) do { } while (0) +# define WARN_ON_SMP(x) ({0;}) #endif #endif diff --git a/kernel/futex.c b/kernel/futex.c index 9fe9131..850d00b 100644 --- a/kernel/futex.c +++ b/kernel/futex.c @@ -785,8 +785,8 @@ static void __unqueue_futex(struct futex_q *q) { struct futex_hash_bucket *hb; - if (WARN_ON(!q->lock_ptr || !spin_is_locked(q->lock_ptr) - || plist_node_empty(&q->list))) + if (WARN_ON_SMP(!q->lock_ptr || !spin_is_locked(q->lock_ptr)) + || WARN_ON(plist_node_empty(&q->list))) return; hb = container_of(q->lock_ptr, struct futex_hash_bucket, lock);