Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S935047AbZDJQeU (ORCPT ); Fri, 10 Apr 2009 12:34:20 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1759355AbZDJQeF (ORCPT ); Fri, 10 Apr 2009 12:34:05 -0400 Received: from www.tglx.de ([62.245.132.106]:55414 "EHLO www.tglx.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1758808AbZDJQeC (ORCPT ); Fri, 10 Apr 2009 12:34:02 -0400 Date: Fri, 10 Apr 2009 18:33:38 +0200 (CEST) From: Thomas Gleixner To: Darren Hart cc: linux-kernel@vger.kernel.org, Ingo Molnar Subject: Re: [tip PATCH] futex: fix futex_wait_setup key handling In-Reply-To: <20090410162324.12330.37348.stgit@Aeon> Message-ID: References: <20090410162324.12330.37348.stgit@Aeon> User-Agent: Alpine 2.00 (LFD 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1382 Lines: 52 On Fri, 10 Apr 2009, Darren Hart wrote: > If the get_futex_key() call were to fail, the existing code would > try and put_futex_key() prior to returning. This patch makes sure > we only put_futex_key() if get_futex_key() succeeded. > > Please apply to -rt and to tip:/core/futexes. > > Reported-by: Clark Williams > Signed-off-by: Darren Hart > Cc: Thomas Gleixner > Cc: Ingo Molnar > --- > > kernel/futex.c | 5 +++-- > 1 files changed, 3 insertions(+), 2 deletions(-) > > diff --git a/kernel/futex.c b/kernel/futex.c > index 185c981..4357f06 100644 > --- a/kernel/futex.c > +++ b/kernel/futex.c > @@ -1657,7 +1657,7 @@ retry_private: > > ret = get_user(uval, uaddr); > if (ret) > - goto out; > + goto out_put_key; > > if (!fshared) > goto retry_private; > @@ -1671,9 +1671,10 @@ retry_private: > ret = -EWOULDBLOCK; > } > > -out: > +out_put_key: > if (ret) > put_futex_key(fshared, &q->key); > +out: > return ret; Yikes. Can we please convert the places which do "goto out;" to "return ret;" ? Thanks, tglx -- 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/