From patchwork Tue Feb 22 21:54:34 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ben Hutchings X-Patchwork-Id: 581581 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter1.kernel.org (8.14.4/8.14.3) with ESMTP id p1MLsdQQ000342 for ; Tue, 22 Feb 2011 21:54:39 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1750992Ab1BVVyi (ORCPT ); Tue, 22 Feb 2011 16:54:38 -0500 Received: from exchange.solarflare.com ([216.237.3.220]:44366 "EHLO exchange.solarflare.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750828Ab1BVVyh (ORCPT ); Tue, 22 Feb 2011 16:54:37 -0500 Received: from [10.17.20.137] ([10.17.20.137]) by exchange.solarflare.com over TLS secured channel with Microsoft SMTPSVC(6.0.3790.4675); Tue, 22 Feb 2011 13:54:36 -0800 Subject: BUG in xs_tcp_setup_socket in 2.6.38-rc5 From: Ben Hutchings To: Trond Myklebust , Pavel Emelyanov Cc: Ravi Aravapalli , linux-nfs Organization: Solarflare Communications Date: Tue, 22 Feb 2011 21:54:34 +0000 Message-ID: <1298411674.14956.25.camel@bwh-desktop> Mime-Version: 1.0 X-Mailer: Evolution 2.32.1 (2.32.1-1.fc14) X-OriginalArrivalTime: 22 Feb 2011 21:54:37.0247 (UTC) FILETIME=[19307CF0:01CBD2DB] X-TM-AS-Product-Ver: SMEX-8.0.0.1181-6.500.1024-17970.004 X-TM-AS-Result: No--16.006400-0.000000-31 X-TM-AS-User-Approved-Sender: Yes X-TM-AS-User-Blocked-Sender: No Sender: linux-nfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.6 (demeter1.kernel.org [140.211.167.41]); Tue, 22 Feb 2011 21:54:40 +0000 (UTC) diff --git a/net/sunrpc/xprtsock.c b/net/sunrpc/xprtsock.c index c431f5a..be96d42 100644 --- a/net/sunrpc/xprtsock.c +++ b/net/sunrpc/xprtsock.c @@ -1631,7 +1631,8 @@ static struct socket *xs_create_sock(struct rpc_xprt *xprt, } xs_reclassify_socket(family, sock); - if (xs_bind(transport, sock)) { + err = xs_bind(transport, sock); + if (err) { sock_release(sock); goto out; }