Received: by 2002:a25:8b12:0:0:0:0:0 with SMTP id i18csp5231916ybl; Tue, 27 Aug 2019 01:13:16 -0700 (PDT) X-Google-Smtp-Source: APXvYqxX0vv0oLfsEU8zYxGggXMCK5AcPFCaYLonJaJLglvOSOrj5yhPlpxzltBSpgw5y5Kii0ZH X-Received: by 2002:aa7:9719:: with SMTP id a25mr25291795pfg.2.1566893596647; Tue, 27 Aug 2019 01:13:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1566893596; cv=none; d=google.com; s=arc-20160816; b=qCgxGtlNcJwSjpkGVKMdCrncWlmhk6s25uAoU8hASTbF0yqZCuatoGiUnJ8JmeuUnk c0OnI9I3ULvUl3KCT3tMUA4pAjl/syLURVq6cn7LoQUOruhKhaGHynU25K5AFsaxIHk8 P8Cha+8jNZBZmOLWfthwIDySBT/xIC3q2PjJ6bFzVricud68d3rYsVPyt9zuJjVhxP5m +taZUxxel2Wh6xTQeG49e6MuSaLCiFgYPrufuObjuSlx83opNF8XEMyh68hmcAKkX51e UFPLY7nkkyvpJD0Y8SZLCLrlBdCTB0tQXc0gaUh7aZV2tn27w1bQtoLVO5t5/mCKDkQX r40w== 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=a81mHdqf6XVsixvfub7WXPradJuK7d5jovd6aWEbK/k=; b=Cibs1D4JxsRK5kvCPiMkuQoo8VV4dCVZU0611LXZ68PpLBGRAk7vazDmKzuUOxOleN XJOiGwvKjiMjh1ALByVAFcCdDjsCFJHbZD2285hxY19CeuyTys20cCGs0DCF3jaMVKii /VJsC3od6EMDjSxZeXrUkTV3y7hBDYkg+SgJ71cIZNrEakVnrtbU2z7XWQhhQwi/Xxz2 arj9MjGsFwb7F07srHDDk8HeiaBsCkIh4nXK4uZPjiricrGuJgCMK2YyDzB6w72QTbBe efXaXmG6vyijswFbECX8tX3hOHmgQEQS2uqf/x3FhmxEkCLoQpBPz4K1bz/OKmI3eUdH bjEQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=XWraExVK; 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 r5si12020509plb.186.2019.08.27.01.13.01; Tue, 27 Aug 2019 01:13:16 -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=XWraExVK; 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 S1731989AbfH0IKj (ORCPT + 99 others); Tue, 27 Aug 2019 04:10:39 -0400 Received: from mail.kernel.org ([198.145.29.99]:59520 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731972AbfH0IC3 (ORCPT ); Tue, 27 Aug 2019 04:02:29 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (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 57E3A2186A; Tue, 27 Aug 2019 08:02:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1566892948; bh=VOBrXKGBSwVOlpOn6lPZW63CEq/o4um1ONSFvoetJZA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=XWraExVKpwYFcDB6b0YbMjA1AgKUZrT96ImJjTwkF+z1NFvYt8ESh1Adio+S5gqjV /Ml7FrbU8bIKkzAFs9aR+cbfhVouhr6lxry19+CaCAsC+COJdJBovBbmQa77I4Bewy t6BVAsd5MHoYwUAPAkqFIOLpAbKkoJYlcLmLAiiM= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Trond Myklebust , Sasha Levin Subject: [PATCH 5.2 071/162] NFSv4: Fix a credential refcount leak in nfs41_check_delegation_stateid Date: Tue, 27 Aug 2019 09:49:59 +0200 Message-Id: <20190827072740.607306162@linuxfoundation.org> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20190827072738.093683223@linuxfoundation.org> References: <20190827072738.093683223@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 8c39a39e28b86a4021d9be314ce01019bafa5fdc ] It is unsafe to dereference delegation outside the rcu lock, and in any case, the refcount is guaranteed held if cred is non-zero. Signed-off-by: Trond Myklebust Signed-off-by: Sasha Levin --- fs/nfs/nfs4proc.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c index 63edda145d1b8..420f2350c2781 100644 --- a/fs/nfs/nfs4proc.c +++ b/fs/nfs/nfs4proc.c @@ -2752,8 +2752,7 @@ static void nfs41_check_delegation_stateid(struct nfs4_state *state) if (status == -NFS4ERR_EXPIRED || status == -NFS4ERR_BAD_STATEID) nfs_finish_clear_delegation_stateid(state, &stateid); - if (delegation->cred) - put_cred(cred); + put_cred(cred); } /** -- 2.20.1