From patchwork Wed May 24 12:09:52 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Trond Myklebust X-Patchwork-Id: 9745897 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 2C834601C2 for ; Wed, 24 May 2017 12:12:00 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 1CA0428969 for ; Wed, 24 May 2017 12:12:00 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 114292896F; Wed, 24 May 2017 12:12:00 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.3 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_HI, RCVD_IN_SORBS_SPAM, T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 7C37328969 for ; Wed, 24 May 2017 12:11:59 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752119AbdEXMLM (ORCPT ); Wed, 24 May 2017 08:11:12 -0400 Received: from mail-io0-f193.google.com ([209.85.223.193]:35914 "EHLO mail-io0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752214AbdEXMJz (ORCPT ); Wed, 24 May 2017 08:09:55 -0400 Received: by mail-io0-f193.google.com with SMTP id f102so17943795ioi.3; Wed, 24 May 2017 05:09:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=S2PQEgd+kRBj5Nk8LbY1nFFdTxtaoXzGKW99XAf6FWA=; b=mNAznig0M/JI/rLS2eVjRBX7nDIjUt89NX+w8C5glNGNP+eHJAuryrgoP9A7btcPm9 h5z0e8zSt3M95tip3vjFBgEe4Ce/BCi9F3lxNb+v2x9kbIXnstHCgpZHLtbcSGBEfNlz joNxBk9h30n80nTOY6ixsXx4Mxix6M6OsTZjfO2IZfZz81BGdmtsHkVeYpBHvaAwF2C5 sTyS5PLD73cJ8P7wo4JhKVafid3ByvxpdToh+izBiYDYUgUEnQyiU/PygWUFktKJAY0I Skksnotd0aM7E1nFLsaMAStAG4g3CFAkNK1vBy7I8a2TP7GI/MpeT3+e776lxRgjjHi/ PsJA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=S2PQEgd+kRBj5Nk8LbY1nFFdTxtaoXzGKW99XAf6FWA=; b=aDjWWIoBb+eI4m+iuVRArjRDUTMCNzVrzZ3D1OvZKul+xh18j2+IiA7jw7A93pLkNg p2achTJN6ZyvtyHdgXP9KEEGZyZ2xLrkkvPpsjitkLOTLjXKuLl9hAjld6CCXPTL0P0M HnJFKNDBgpWicpE+UQIRRKhFsGVWXcoCzh1PXpXdWAw4naBvmOmOcY1i0x1JyXLEQVIP HkI4vrUffKuoiYnLltwuc2gv3OH1xoEEizIMvfEt55bw0Sz6alYr1B737IzEO4q++Vbb eLf/StqzVUxZ5buhWtJWYXsupbEC6hwYnnMjOh6R+X6COcpN/Aal6dyYUVa5m67uCZRM btww== X-Gm-Message-State: AODbwcAYkOYxqrKh6QPa/F/dOYsd2AChEwXqQNtdNQNtkumUPQIH2Nyd Benn7Bc4H1tAVg== X-Received: by 10.107.20.200 with SMTP id 191mr25412805iou.171.1495627794935; Wed, 24 May 2017 05:09:54 -0700 (PDT) Received: from localhost.localdomain (c-68-49-162-121.hsd1.mi.comcast.net. [68.49.162.121]) by smtp.gmail.com with ESMTPSA id m4sm1549470ith.5.2017.05.24.05.09.53 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 24 May 2017 05:09:54 -0700 (PDT) From: Trond Myklebust To: kernel test robot , Anna Schumaker Cc: linux-nfs@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH] NFSv4.0: Fix a lock leak in nfs40_walk_client_list Date: Wed, 24 May 2017 08:09:52 -0400 Message-Id: <20170524120952.14011-1-trond.myklebust@primarydata.com> X-Mailer: git-send-email 2.9.4 In-Reply-To: <20170524023629.GK1795@yexl-desktop> References: <20170524023629.GK1795@yexl-desktop> Sender: linux-nfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Xiaolong Ye's kernel test robot detected the following Oops: [ 299.158991] BUG: scheduling while atomic: mount.nfs/9387/0x00000002 [ 299.169587] 2 locks held by mount.nfs/9387: [ 299.176165] #0: (nfs_clid_init_mutex){......}, at: [] nfs4_discover_server_trunking+0x47/0x1fc [ 299.201802] #1: (&(&nn->nfs_client_lock)->rlock){......}, at: [] nfs40_walk_client_list+0x2e9/0x338 [ 299.221979] CPU: 0 PID: 9387 Comm: mount.nfs Not tainted 4.11.0-rc7-00021-g14d1bbb #45 [ 299.235584] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.9.3-20161025_171302-gandalf 04/01/2014 [ 299.251176] Call Trace: [ 299.255192] dump_stack+0x61/0x7e [ 299.260416] __schedule_bug+0x65/0x74 [ 299.266208] __schedule+0x5d/0x87c [ 299.271883] schedule+0x89/0x9a [ 299.276937] schedule_timeout+0x232/0x289 [ 299.283223] ? detach_if_pending+0x10b/0x10b [ 299.289935] schedule_timeout_uninterruptible+0x2a/0x2c [ 299.298266] ? put_rpccred+0x3e/0x115 [ 299.304327] ? schedule_timeout_uninterruptible+0x2a/0x2c [ 299.312851] msleep+0x1e/0x22 [ 299.317612] nfs4_discover_server_trunking+0x102/0x1fc [ 299.325644] nfs4_init_client+0x13f/0x194 It looks as if we recently added a spin_lock() leak to nfs40_walk_client_list() when cleaning up the code. Reported-by: kernel test robot Fixes: 14d1bbb0ca42 ("NFS: Create a common nfs4_match_client() function") Cc: Anna Schumaker Signed-off-by: Trond Myklebust --- fs/nfs/nfs4client.c | 1 - 1 file changed, 1 deletion(-) diff --git a/fs/nfs/nfs4client.c b/fs/nfs/nfs4client.c index 692a7a8bfc7a..66776f022111 100644 --- a/fs/nfs/nfs4client.c +++ b/fs/nfs/nfs4client.c @@ -582,7 +582,6 @@ int nfs40_walk_client_list(struct nfs_client *new, */ nfs4_schedule_path_down_recovery(pos); default: - spin_lock(&nn->nfs_client_lock); goto out; }