Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp2652174pxj; Mon, 14 Jun 2021 04:05:40 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyqU/nd3TjpP0YgPEyL1GZWfmk9lRfz8yG4cz6rkyWuCuZUoAHMXcUD8aTDz2wWtj1ldU7y X-Received: by 2002:a17:906:a890:: with SMTP id ha16mr14311926ejb.159.1623668739936; Mon, 14 Jun 2021 04:05:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1623668739; cv=none; d=google.com; s=arc-20160816; b=DVPkrhUD8mdJ8DrP430n5yvmDdLgA3fZQuYRm7V+De2v6Su1P/81FeTRg4iSBWgZPt WuqwqW/yBwbqobpyMm0HqvXqb3/TpoN0qyfP7dtrOpekCFr4qc9oqA4iDBzENju1dQkS KJRbt2QwHmHAOCQ6P5GZK03Aip472/eLLFCi44WW3QhO9Y0Hag7pCsIoGzQ/ClCAq/Pw UE6TcPt2atD++CQeRauHxyunoS8m4yK9oIhaPrDBMTu5jkXBTwudri6bo/MCDaK0au6y N0dmKv6WueK049F9Ay/TZ0NpU/qzuXp2StR/MBbxxSiCcAfFfS35JDh4NxRSOyTKc69u zCdw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=rYK1s2GY7z8L77/+u9cVrIR9YkKpL+R6X7Cop670s8A=; b=ZZBGJGEC15ZfnytbkVMnUEdlKsPuMkJMaSsj6vOYkXu32DwuD1U/V8xx8AjNzBl0iR ItP3M/zpR64YY3j+KMVZlmH8Ywd9SCGIQKuG9TXIlrJMYwQ/4NrLAc91S8f8PrlxXcV1 lbeP4t2uHEH4JIPrWDeqZD6e8a1tzuUN6eEBBpoYs1hRDPxfMNLQZl5YXA4eZdzoKUgx +wdtCurOoALdRpWJjMtX2YJklLteaMN/LyD+kmYgE2L38UOdIpvQ+DQn6ZFLOgIcGrtw lRPP2y1Xmy4lH1Ljgf/AluCNWCOuO6gbcEJ6xXnRh2yML//D8/S5MzrZpreTOa+kbHZT T4dg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=LLOELfY6; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id cz26si11712178edb.106.2021.06.14.04.05.17; Mon, 14 Jun 2021 04:05:39 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=LLOELfY6; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233978AbhFNLDu (ORCPT + 99 others); Mon, 14 Jun 2021 07:03:50 -0400 Received: from mail.kernel.org ([198.145.29.99]:60606 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234995AbhFNKy7 (ORCPT ); Mon, 14 Jun 2021 06:54:59 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id B117961419; Mon, 14 Jun 2021 10:40:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1623667228; bh=0yn5oIrFm35hUqC5US8/HECgH6nifrQYsV0i59dutGI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=LLOELfY6yKkM6TW3jRFU/KlGpcxckM5KLwOe2uL9PwyHCaC3eBX5XyHwCGaiL3zyl J/SX5LpsZXCRvnET8avzFWfQzUwsqT/nkwV51myMmmfokFBkXNSSPBmuFbzu8bV7j3 3/WlhlnRAGXHpD57X/MkisB3JnNLir3Y7QyPNHPk= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Anna Schumaker , Trond Myklebust Subject: [PATCH 5.4 76/84] NFS: Fix use-after-free in nfs4_init_client() Date: Mon, 14 Jun 2021 12:27:54 +0200 Message-Id: <20210614102648.951157140@linuxfoundation.org> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20210614102646.341387537@linuxfoundation.org> References: <20210614102646.341387537@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Anna Schumaker commit 476bdb04c501fc64bf3b8464ffddefc8dbe01577 upstream. KASAN reports a use-after-free when attempting to mount two different exports through two different NICs that belong to the same server. Olga was able to hit this with kernels starting somewhere between 5.7 and 5.10, but I traced the patch that introduced the clear_bit() call to 4.13. So something must have changed in the refcounting of the clp pointer to make this call to nfs_put_client() the very last one. Fixes: 8dcbec6d20 ("NFSv41: Handle EXCHID4_FLAG_CONFIRMED_R during NFSv4.1 migration") Cc: stable@vger.kernel.org # 4.13+ Signed-off-by: Anna Schumaker Signed-off-by: Trond Myklebust Signed-off-by: Greg Kroah-Hartman --- fs/nfs/nfs4client.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/fs/nfs/nfs4client.c +++ b/fs/nfs/nfs4client.c @@ -435,8 +435,8 @@ struct nfs_client *nfs4_init_client(stru */ nfs_mark_client_ready(clp, -EPERM); } - nfs_put_client(clp); clear_bit(NFS_CS_TSM_POSSIBLE, &clp->cl_flags); + nfs_put_client(clp); return old; error: