Received: by 2002:a25:1506:0:0:0:0:0 with SMTP id 6csp1594650ybv; Thu, 20 Feb 2020 23:57:59 -0800 (PST) X-Google-Smtp-Source: APXvYqz7NNa2FSFsEiG+gxcdODqyNLu6iSaG/8e01lrE29szAhJSz7IpJr7GvkDUGPwejLFvlSzR X-Received: by 2002:a05:6808:b22:: with SMTP id t2mr954014oij.40.1582271879730; Thu, 20 Feb 2020 23:57:59 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1582271879; cv=none; d=google.com; s=arc-20160816; b=AoUQDBExfqvMRUvMrzDzHMJlV3cuQ/9ZUvlpjQJ/UcilQfb6jJMCzY7LN73KX+yT2G p3/3AX22lwQikn1bCRslpCmBNR3vSlUOB1/tXySws0Dmo4XNKnVrtqJ64cJFDTdYP4Mg FLYp6ZpAs3kaLWX1jGNARzISjEGcNyaS29315YzKpU/C1AoTYg4mpvAW2Ne/qRolygRv 7YG3T9cxfziycUZFc1l6IGRKGaGE9nfgCBMAg2hc+EzlDKKLs61nBnx/JetkDwGI2O41 pRDOrJ8igdau6eMwvBwo5rCwNpK4wW2GZs3boMLgP72k56/YRtwCJOrCwWF+bylPbH83 e0Hw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=ZQnjFWVwdj2bUzOohBQHRjBCd0vsVDXVzN8ZCZ1gUgA=; b=UQ/BJQaYZN0J0ixnQ+LlVpiCzxIJFVG2CngyjYPsbLL1RlOLkhbWAV+QdAANJ5IdRb ibcSirpDBADPcbPXBvlJNE/jAzr3MyvjqTauMOlgC4OhvE+3CQ9YAKXXF7GQ11sZt5Br Pwx0RpKw34URGb8vcbv9NyNnlN/sl8Jrqb/tc1fGXGFpCY9YlolZNFSPZr+oRrrPtoDg IHBMYK1p0jYHAwxl1lhioa7V3YKVlnh+9QnHu4QdOJZd7gE4UcrV/0RboqrA8gXhI/bG FaEeeqVGKGEXem8KTWvAm0Rmd17NUY4QxqqDRRqiMWiMD9zUI8sQYyKKsAtmkhlD1eNe LY5w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=sZcC3Vao; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id v21si988815otj.282.2020.02.20.23.57.47; Thu, 20 Feb 2020 23:57:59 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=sZcC3Vao; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730666AbgBUH5l (ORCPT + 99 others); Fri, 21 Feb 2020 02:57:41 -0500 Received: from mail.kernel.org ([198.145.29.99]:57220 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730658AbgBUH5h (ORCPT ); Fri, 21 Feb 2020 02:57:37 -0500 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 89D6B24670; Fri, 21 Feb 2020 07:57:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1582271857; bh=AxKfZmAdFXCPVhMsF/7rjFQ7ZLiEFxpynnsIU06lQ8s=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=sZcC3Vao0dtw0PJZzm0CeTY045MrLAAqdw830oJyJZskXQvHldH9+pwgEKx9aHwZj 2y8I656NRKQ/Bs/gOHL0yAY3NA2lPG6hKcxNF0gIr20qVdULPre35eaCpm8kQQpwZQ RUgHR6FsSwcUtiU2RfATS6XHA3FC05KhnbFxKE4A= 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.5 325/399] sunrpc: Fix potential leaks in sunrpc_cache_unhash() Date: Fri, 21 Feb 2020 08:40:50 +0100 Message-Id: <20200221072432.870451402@linuxfoundation.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200221072402.315346745@linuxfoundation.org> References: <20200221072402.315346745@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Trond Myklebust [ Upstream commit 1d82163714c16ebe09c7a8c9cd3cef7abcc16208 ] When we unhash the cache entry, we need to handle any pending upcalls by calling cache_fresh_unlocked(). Signed-off-by: Trond Myklebust Signed-off-by: J. Bruce Fields Signed-off-by: Sasha Levin --- net/sunrpc/cache.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/net/sunrpc/cache.c b/net/sunrpc/cache.c index f740cb51802af..7ede1e52fd812 100644 --- a/net/sunrpc/cache.c +++ b/net/sunrpc/cache.c @@ -1888,7 +1888,9 @@ void sunrpc_cache_unhash(struct cache_detail *cd, struct cache_head *h) if (!hlist_unhashed(&h->cache_list)){ hlist_del_init_rcu(&h->cache_list); cd->entries--; + set_bit(CACHE_CLEANED, &h->flags); spin_unlock(&cd->hash_lock); + cache_fresh_unlocked(h, cd); cache_put(h, cd); } else spin_unlock(&cd->hash_lock); -- 2.20.1