Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp2644226pxj; Mon, 14 Jun 2021 03:53:43 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwnVH9/0VNmEj+QxD8+SQCk1LISRMV/6fiC3qRHd0CLJV26eOf/KHmGpgWoIT2l9NdHHFBp X-Received: by 2002:a05:6402:54f:: with SMTP id i15mr16036030edx.339.1623668023197; Mon, 14 Jun 2021 03:53:43 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1623668023; cv=none; d=google.com; s=arc-20160816; b=gnfI4ECZnNHnXrXyF5soJMettDUl1fkMoci5nTNRul0jhYxTu4a+AThFsKLeJGeTw8 J6wDaZRgupA7eQbReFgpVZ0zZvLV+sc3eA7Oo8epjQGy/0krYbOwPsnDX4pkvuHUGfFa 6/Aesir0rX3IJiKuKXXmDrtPI2YJgQzSb9mUX2xSRxwxQub8sh45TvWQ/8DkhJ7Sqjwy s7UVrGLvXiRwZTw6YL/I3GmsOknJItPXB0z3ThmLshPjzK6ghoDeHo8neisp/sUNA2IF Zzvrsvwoqy8BJrKzJtEI/t/NAaSbZyE6Ks0QUHGkNR2zSBAvN9YJZ3K8IGqbqhIU5N3Y shLg== 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=lBbln+Czoh+bvSPUEOOvKDkH9eLqdhJbW03jAX7zpfs=; b=NdMEycykG04ElhH/e/nwiqNQ0fE1m/sKJfrpRZkdlDMVEGJZJGYKJtL+iG37PkPZ1T QtIchNmmZn40V342RKGaV4r9vHnC4PvzH3wcrIcFncOszmCCOeHnpRfTY7o+6RmNlImP PcCO8+pLmVz64PZmD1Nb6HzFfCs5f442+CqKP86jF9/FEbpbQZ3RSBDMc7cqXxKrXA4z 6N2VIKtcshsb0zHWNCHKz0A97WmcM1MPANk+FQoy63gly7fZ/jl9l8jcvjfNj0fydKP5 21KTZwMBGn9bewScfDu0bzJQE4HEJYLLjxcKmm6Hw6E9wgMma1rwRBqtJYORnLKJ/ua/ D63g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=SQFRmGLA; 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 n17si11179712edr.161.2021.06.14.03.53.20; Mon, 14 Jun 2021 03:53:43 -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=SQFRmGLA; 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 S234163AbhFNKxp (ORCPT + 99 others); Mon, 14 Jun 2021 06:53:45 -0400 Received: from mail.kernel.org ([198.145.29.99]:52122 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233481AbhFNKqX (ORCPT ); Mon, 14 Jun 2021 06:46:23 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 5B36761448; Mon, 14 Jun 2021 10:36:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1623667003; bh=RBVnKv1EWldhZPvFAZoMw1gA/3S46GLVj4xr2NRhhuc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=SQFRmGLAF7llVrzjwBPdm5m5VDDqZRdRhxn0qp+H1GxUSt6ZwNgV+t1fvzhM0HyvH 3Rr4DvtYPHGhyUIpqRxlaHv1v07CHHWWFzzwSg+CqAIX3dYgfZkDgP0MGgBVoo30jT OAfrc9GbfIxf8JdartYr2kgN7vTPkNbUelU3/e10= 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.19 60/67] NFS: Fix use-after-free in nfs4_init_client() Date: Mon, 14 Jun 2021 12:27:43 +0200 Message-Id: <20210614102645.796928451@linuxfoundation.org> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20210614102643.797691914@linuxfoundation.org> References: <20210614102643.797691914@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 @@ -431,8 +431,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: