Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp2663768pxj; Mon, 14 Jun 2021 04:22:09 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxdYbcJTxk4UMsRNtnylMAO+2oHiduPOwchhyu6GGZzZKXL5H3KPI8gLsld+dd/u4zXaLgA X-Received: by 2002:a17:906:6c88:: with SMTP id s8mr14927978ejr.129.1623669729366; Mon, 14 Jun 2021 04:22:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1623669729; cv=none; d=google.com; s=arc-20160816; b=Y7X4xwNst1rDTA8yVqjio3H8TB5QICUFv0vREXlsQB6Uje+7npjQiJQeB+by/s3gET AjbIqDZshv4EikqYUW+bxU768LOqW3qPT3CxQJZxNnmnHlcnqSTBD9KEuSWlPctp2/wc 3AvhOYPP+95pnkW3SmxHlnCSXU2bOZpDdvHBrkpo4omuNzJwcSwMqwjAXLhULGGPaZz5 9zvxCPb0X5F3y0772wAHd7cK8Cdr7vkNuORZRg0z66xdCeGHdON7ozLJ4GbHSsFi1j39 Z0H9DEEuyN8gmYtvT0HUP7airJ8oFxHN4zYncV475Be9bD4P2ppSYyJ81o+DUbZ6Akr7 um/A== 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=nVOBbFbIGMaClw8p+DiZk6GxNF/SWpDevWyL87lsfHtjOZx76JnVObnhDg2MehaAXS n6XfPw+TdhdAmQLuyIdjStv9v80FbrYwtHZiwGfWeqfrQq37t0sTP6jQ4f+YsdjvXIWu qhyFZrRn1IDwGi9Lf43S89/JfeY6Shs9Rm8NOhKQ6sBuNWhF4T6msZZ6xVNBB6Fv4FYz HFsf2zj2KkDLUJB2OF5+wWvhIUoJKDuGwH3rmppe+uB2MQ04hqH0BsXGSJkVk2foFQIv d+eoYDyHIvPVCL/9xtafYkiLJOO6zMOLuDlQr2pnNbnVfoKJ8rZ64ubNlcejd/Ogdefz b/mQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=DfiSqsYM; 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 g12si11763200edp.364.2021.06.14.04.21.47; Mon, 14 Jun 2021 04:22:09 -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=DfiSqsYM; 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 S236131AbhFNLU1 (ORCPT + 99 others); Mon, 14 Jun 2021 07:20:27 -0400 Received: from mail.kernel.org ([198.145.29.99]:42442 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234608AbhFNLIj (ORCPT ); Mon, 14 Jun 2021 07:08:39 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id C88AE61444; Mon, 14 Jun 2021 10:46:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1623667574; bh=0yn5oIrFm35hUqC5US8/HECgH6nifrQYsV0i59dutGI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=DfiSqsYMx6Cz7Ia6Da8PwVA4Z/L+X1Ah7Zx28xlKZtJIKHNdvs7WvMiV59Eu9+1Vw 7Ts4qDf9iNMR0zVpRRfHuEavPoIOEW5SBn4S+rpKqpdYHqEh7YjKbL9v/6A7CuJkyI 4EsYAKi/q8UtrzOCh3VU7KKm7TgkNtFWnPAxlkqM= 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.10 124/131] NFS: Fix use-after-free in nfs4_init_client() Date: Mon, 14 Jun 2021 12:28:05 +0200 Message-Id: <20210614102657.227678117@linuxfoundation.org> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20210614102652.964395392@linuxfoundation.org> References: <20210614102652.964395392@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: