Received: by 2002:a05:6a10:1d13:0:0:0:0 with SMTP id pp19csp920667pxb; Wed, 1 Sep 2021 12:42:54 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxi5DcMG2LC0r3iWFr/Et2YVAngQMgm9vF6jqhEzdd6s914LRoWNdtC2PGP+ChFyh1mTd7b X-Received: by 2002:a17:907:10cc:: with SMTP id rv12mr1180323ejb.423.1630525374642; Wed, 01 Sep 2021 12:42:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1630525374; cv=none; d=google.com; s=arc-20160816; b=bBrPuiMKybRaBExyFd6kS54yN2K6YLA6T77rO4HfW+RTodRMqRc0LMDnWXID85s2mC 6s8/Ajg8jflh6tPHgUDJ1OvxUYd8f5zrLCcGEC471OngaYECmbrCj1X2mxZn+xci//OU a5mFuzkkvZkWrLTE6kP6cajQ1FihBNtgVIjzCuiZdq9KW8GSjOSTUEwgumKNt7c+rAkG CcJnI3xxLkyhiKXAgAOPfD+52jz68LmkZ4xPEuy1baaF33hwq477ZTs9TIdRsT3m65wq e0Mlw3OvVGwjk5Th5lcxVaVZu5FIiXhM6Z/BA3fo5gSz1NRL6U/iBspO0U6pccJC1FbF z3Rw== 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=r/sONrHTwX2gYjeuFAfNni98PUUD4f+334644XQomrs=; b=RneueqI4LrsqNtek7JhKSTWegH+xfcswo5VpQHlUJHSKGSe5pZivh5JrO4DEuGGBka kI5BX2Sl33oWp45o7n3d97vv+bk3nnmRlDLj5hL8pc9zSnpC4PQx6cIosBQv5kewN35P 0Z8rKT0YX+CXzmTxy3tc7sVsC2XJY9qUsMuOUjxX5N3Vz52k6lG2O1rLAW/t4dW6+QtE TqITQnAFxGhDk/jX/OkJJqMxKOg7zZ8wA4cspZIYg25Qe+RMnIjo6nPXGw00ZQgQlsQE eX77a9nYraZweGQpnbYvgdf8Dsm6ieoHFU8gyiGkmZxO8yAa8qGM1hpyLjHaJuzivWFA aPHg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=phDqVu1G; 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 5si634838ejl.332.2021.09.01.12.42.17; Wed, 01 Sep 2021 12:42:54 -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=phDqVu1G; 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 S1346254AbhIAMtj (ORCPT + 99 others); Wed, 1 Sep 2021 08:49:39 -0400 Received: from mail.kernel.org ([198.145.29.99]:49840 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1345257AbhIAMqC (ORCPT ); Wed, 1 Sep 2021 08:46:02 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 9282A61075; Wed, 1 Sep 2021 12:39:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1630499970; bh=h8HYeRSMPhwCEiHN7UhHG7WhfHOKYEcSPPoWVRnUrPo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=phDqVu1Gc7BLBraTxTyPUKEC7UoKPyxBuLMQL5avrg2uHtgFdC+qdZifOMdQt3MUq cmPeMofgPgu/OfOToo4CZ1IxjwgxaDkWo7wNCEasuY8ptzERkhzwRqKvhrVw+qLSD/ A9/v8bnBpTpjt+5lRS1tIJLZTmhGX3nUXWc9t+Sc= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Trond Myklebust , "J. Bruce Fields" , Sasha Levin Subject: [PATCH 5.13 053/113] SUNRPC: Fix XPT_BUSY flag leakage in svc_handle_xprt()... Date: Wed, 1 Sep 2021 14:28:08 +0200 Message-Id: <20210901122303.743147206@linuxfoundation.org> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20210901122301.984263453@linuxfoundation.org> References: <20210901122301.984263453@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: Trond Myklebust [ Upstream commit 062b829c52ef4ed5df14f4850fc07651bb7c3b33 ] If the attempt to reserve a slot fails, we currently leak the XPT_BUSY flag on the socket. Among other things, this make it impossible to close the socket. Fixes: 82011c80b3ec ("SUNRPC: Move svc_xprt_received() call sites") Signed-off-by: Trond Myklebust Signed-off-by: J. Bruce Fields Signed-off-by: Sasha Levin --- net/sunrpc/svc_xprt.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/net/sunrpc/svc_xprt.c b/net/sunrpc/svc_xprt.c index d66a8e44a1ae..dbb41821b1b8 100644 --- a/net/sunrpc/svc_xprt.c +++ b/net/sunrpc/svc_xprt.c @@ -835,7 +835,8 @@ static int svc_handle_xprt(struct svc_rqst *rqstp, struct svc_xprt *xprt) rqstp->rq_stime = ktime_get(); rqstp->rq_reserved = serv->sv_max_mesg; atomic_add(rqstp->rq_reserved, &xprt->xpt_reserved); - } + } else + svc_xprt_received(xprt); out: trace_svc_handle_xprt(xprt, len); return len; -- 2.30.2