Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp2639034pxj; Mon, 14 Jun 2021 03:44:39 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzOrpvMNTzqnW/HWEvWzNjkgoTg2cyvSKrEzdPDBhq6AvpTjMnYaB48VuwK36QNKciBkYjP X-Received: by 2002:aa7:c9c4:: with SMTP id i4mr16551325edt.299.1623667479067; Mon, 14 Jun 2021 03:44:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1623667479; cv=none; d=google.com; s=arc-20160816; b=m41q2iYUIBUUv+RRYxOMckmtTVG6axocFGtCmVG7KT1H3G4jGhxJm3zNykAZK8huGE VBXVBsHdDFPoz300OQLqNtoBhqtCg2f5LccKg/WS6PiyzmZEJAuZ7sF5lxg48iuBqRor HTUqLpaKdFOZAr4CoHHSuqWBMz8gJwrnQAtkmhFwC5pbAocAGapWWkr/RWcTA+JNsx4A tcqfGFymSlEHxc0MDZJodjkc5jVmZvl71WO0e78Upcv1mLU7RFXrXFk9Fbb3Vj8vuk/h /65AiFGwR21oYmQCfNAz4tuxJe6WwtIgCv5oCSHunNwerQdQiLSfqZWrNPGB2nYssWes lXzQ== 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=Z36IAkABd2e2R+SR/qJ3+S8hvStYwhdJqEfiHIYQNLM=; b=Umz4uKnYkePqF1QghMSRkif4+V56Xe4QjOVyzM7Lu7enzqbkeGmP2u84H8LRJQ2S++ bO7aeJOgqDJOHr/emLC9GpUBFHVOnb91pY9uzDeNN1JqJDjrOm3rF5yCARcbjfNbqDdy LHDpYxgfzBSvZ16jc+whaIPVwoPxaDCFGBx/r4Cfr/UrK0m2TuD9L1NIkAAb6Yo+pUII Z+5KXczF+RJWuPo5GIkorgcq6zOP1abFgguRJT01WLv1lJK3zkFx0n64W7WO7P9S8xfg b7AZENOBcjFMjMbH0dcAa5qCwPKtnHbZDt6Sig3F+bYoDSn1hcJAP5lz6OMVmT8fdEYd yrYw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=r4nKae7Y; 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 jz26si10849541ejc.61.2021.06.14.03.44.16; Mon, 14 Jun 2021 03:44: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=r4nKae7Y; 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 S234237AbhFNKop (ORCPT + 99 others); Mon, 14 Jun 2021 06:44:45 -0400 Received: from mail.kernel.org ([198.145.29.99]:45358 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233561AbhFNKiG (ORCPT ); Mon, 14 Jun 2021 06:38:06 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 64DD5611C0; Mon, 14 Jun 2021 10:33:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1623666824; bh=ELdkNyxr4bEJQ3U3sIe+P7QQni8moDprpFW+IeBX4vI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=r4nKae7YkbaOhxYf7GYxNmgKx/rMjOEXbes3ScXNvRi7E8B1N6Xqj/7rRxMCwg+Ss oBewJngIRi3lo2RtUiFyh9Zg8WOGXxPGZ8o2Mdt4W4MXXBOx8w0QHs6c3Nw65CuBZ5 Fyo02FutU0SIW34fdgU4PWpgrcbRn1uUofevKKbU= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Anna Schumaker , Trond Myklebust Subject: [PATCH 4.14 43/49] NFS: Fix use-after-free in nfs4_init_client() Date: Mon, 14 Jun 2021 12:27:36 +0200 Message-Id: <20210614102643.270356884@linuxfoundation.org> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20210614102641.857724541@linuxfoundation.org> References: <20210614102641.857724541@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 @@ -417,8 +417,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: