Received: by 2002:a25:ab43:0:0:0:0:0 with SMTP id u61csp260047ybi; Wed, 29 May 2019 20:51:49 -0700 (PDT) X-Google-Smtp-Source: APXvYqymYN7IhATYyxjSUzv2Gpvdlx5Sen7Vq1/6Wj+OfaXei5hTXh5/gJX/q2cLVFFbsyJFVOKW X-Received: by 2002:a17:902:bc8a:: with SMTP id bb10mr1779363plb.310.1559188309619; Wed, 29 May 2019 20:51:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1559188309; cv=none; d=google.com; s=arc-20160816; b=qlNE0QhkMEYxwG4cqJaJiJVjQt9R4z4bPM7e3lH1d/dRkR3pLaFv2PDlfPRXfK22Hw KWAkTrfyFPQjqK0apZM352LDvfycptvnnA+jojth8tAZx1XlSN6/24V7Pjg5WRbceoVv k40FSGDhRgIr3NaSU31s0SXbAkps3UxNuU5fjQ90MWpLRGqDnXeXkANePvLS9KEyxvLi 1ZGGLbiOdTDduGSQnITR3Oxsa814X7JT5rXiC5/YAw2CicfxttBf3wYh0rvYkAosamZ4 l+df5kahm4wKCIPPIGr5WqBd/vLtG0wLjVzL3L0LQREwJprCbu634bELdaZbHOSZ1DgS 9w5Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=PwY97H2rokFFlYxN8DCbMQ0OgWp9BTcfIDfnCSYo70c=; b=IQ0fpanBaPU64k/HvGJOZL+kyRRnAL9kWsr8K9ug5PsCfaRaUY4MAO7pQOSSfIWoVo oixLyI43KEdaEIkX6JV4tbfEi9NZhbpbeYZdyznb7XlJbEk36UCSm5zoKzqPzlGjhMxU +MmPSP4Bf+BY7o/emRt5AaNEXLb2GKSUsnC+T9me+Jqmda3kuNsM0fk9hsjDwosZLX+J coyFVrt89pz0uXJdZv50hyG2pL5hoPBGEHrUg05yChH+R6SmZjKdEFtr2LbC16z/c9mH kn2DpoZ4t8m1gLWO5v/MrVVEEZNCUDKxU7FRQfzNFi8DnkeupvZKOT0V9o8FkOGb5EtZ ehIw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=RIDNfw2A; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id i96si2235528plb.210.2019.05.29.20.51.34; Wed, 29 May 2019 20:51:49 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=RIDNfw2A; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1733128AbfE3Dss (ORCPT + 99 others); Wed, 29 May 2019 23:48:48 -0400 Received: from mail.kernel.org ([198.145.29.99]:58046 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730508AbfE3DUS (ORCPT ); Wed, 29 May 2019 23:20:18 -0400 Received: from localhost (ip67-88-213-2.z213-88-67.customer.algx.net [67.88.213.2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 0CE8424820; Thu, 30 May 2019 03:20:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1559186418; bh=ZoOu+9eNxoWTL0myO+IfaODWr5QLt9Z4pCwwIUjUTMk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=RIDNfw2AvMUP4H6Y7pc+i+CQEiB+r+I25sbctZ6LFSm2msitku/bA/xXD3te2gW23 U9uu0wxS8UXxIwqiH9i7TTz9XaP7c2Yok5tBBeI7JLQPHL/MuRaLC06IMBDqWLd2c2 hVVxhQw1aJ/SDD5+NXTnvGJLklP1STOZX2pmSvNs= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, syzbot+228a82b263b5da91883d@syzkaller.appspotmail.com, Benjamin Coddington , Anna Schumaker , Sasha Levin Subject: [PATCH 4.14 193/193] NFS: Fix a double unlock from nfs_match,get_client Date: Wed, 29 May 2019 20:07:27 -0700 Message-Id: <20190530030513.442571341@linuxfoundation.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190530030446.953835040@linuxfoundation.org> References: <20190530030446.953835040@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org [ Upstream commit c260121a97a3e4df6536edbc2f26e166eff370ce ] Now that nfs_match_client drops the nfs_client_lock, we should be careful to always return it in the same condition: locked. Fixes: 950a578c6128 ("NFS: make nfs_match_client killable") Reported-by: syzbot+228a82b263b5da91883d@syzkaller.appspotmail.com Signed-off-by: Benjamin Coddington Signed-off-by: Anna Schumaker Signed-off-by: Sasha Levin --- fs/nfs/client.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/nfs/client.c b/fs/nfs/client.c index 65da2c105f434..0c7008fb6d5ab 100644 --- a/fs/nfs/client.c +++ b/fs/nfs/client.c @@ -305,9 +305,9 @@ static struct nfs_client *nfs_match_client(const struct nfs_client_initdata *dat spin_unlock(&nn->nfs_client_lock); error = nfs_wait_client_init_complete(clp); nfs_put_client(clp); + spin_lock(&nn->nfs_client_lock); if (error < 0) return ERR_PTR(error); - spin_lock(&nn->nfs_client_lock); goto again; } -- 2.20.1