From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mta0.migadu.com (out-203.mta0.migadu.com [91.218.175.203]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 93D36439349 for ; Fri, 18 Sep 2026 18:19:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=91.218.175.203 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789755559; cv=none; b=L7DokmaqMX5YDr7QcOKcPj9JwUqi6cU/GnWGYG/Wq2RlXdw7ylCmIEdx72VF7nzH1enzXFlVZlqEPgBCzdH2riPDOYo0pDhcFbaC6GdFj6Kw0/cY0MBToNGKI9SFuGyMko+MfyTy04YR6GoiRqMCsiVsuPipFK3HUV7XIJAfQqc= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789755559; c=relaxed/simple; bh=iHCQilQ4x8FlNnS2IkgCh0INwKZKlX5mZWBCxqEI+cs=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=ceay9Seb1NmdZumy2VA7bCHkmaT9MqoLATLs5XYU2o6ak3SA4U/mIa5wIGLf2KmTblVVbHH/UcYMifuxTgLnrAsrdg+4hQF8PxWB1ohHn9Dty4roIeKtC2YqBKJdh8ouK6l3K82R+ZtUxzsM9qdIxpOj5Alqvescwb/aWcyNTcI= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev; spf=pass smtp.mailfrom=linux.dev; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b=LiSjmj38; arc=none smtp.client-ip=91.218.175.203 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="LiSjmj38" X-Envelope-To: linux-kernel@vger.kernel.org DKIM-Signature: a=rsa-sha256; bh=iHCQilQ4x8FlNnS2IkgCh0INwKZKlX5mZWBCxqEI+cs=; c=simple/simple; d=linux.dev; h=from:to:subject:date:message-id:mime-version:content-type; s=key1; t=1789755554; v=1; x=1790360354; b=LiSjmj3811D0sEQOkFqhqCslxtDax7X1LstUpScy0vbMDuBGjoX52NzwJM61BtguLCzlpZIO BPxpEGi6Qi3facgpZxEptn53a2H32/9PBQnF10xG20NBJhNu/QhIe/8PFFUC+8JiySfgRfASJVK mVQRrX4GuIeYOOgNpxkVkEQE= X-Envelope-To: linux-kernel@vger.kernel.org Received: by smtp.migadu.com with ESMTPS id 8db66427678445f3; Fri, 18 Sep 2026 18:19:13 +0000 X-Mizu-Trace-ID: 8db66427678445f3 X-Migadu-Flow: FLOW_OUT Date: Fri, 18 Sep 2026 11:19:08 -0700 From: Shakeel Butt To: bingfangguo@tencent.com Cc: Johannes Weiner , Michal Hocko , Roman Gushchin , Muchun Song , Andrew Morton , Dave Chinner , Qi Zheng , Kairui Song , Barry Song , Axel Rasmussen , Yuanchu Xie , Wei Xu , David Hildenbrand , Lorenzo Stoakes , Bingfang Guo , cgroups@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 4/4] memcg: move memcg private ID refcount to objcg Message-ID: References: <20260918-bingfangguo-memcgid-rework-v1-0-5bbf3220d88f@tencent.com> <20260918-bingfangguo-memcgid-rework-v1-4-5bbf3220d88f@tencent.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20260918-bingfangguo-memcgid-rework-v1-4-5bbf3220d88f@tencent.com> On Fri, Sep 18, 2026 at 05:18:43PM +0800, Bingfang Guo via B4 Relay wrote: > From: Bingfang Guo > > diff --git a/mm/workingset.c b/mm/workingset.c > index 8412f4840ae35..7e4fbc5a786d6 100644 > --- a/mm/workingset.c > +++ b/mm/workingset.c > @@ -281,6 +281,9 @@ static bool lru_gen_test_recent(void *shadow, struct lruvec **lruvec, > unpack_shadow(shadow, &memcg_id, &pgdat, token, workingset); > > memcg = mem_cgroup_from_private_id(memcg_id); > + if (!memcg) > + return false; You can not return here without initializing *lruvec as it might be used in the caller. Also mem_cgroup_lruvec() can handle null memcg and will substitute with root_mem_cgroup. > + > *lruvec = mem_cgroup_lruvec(memcg, pgdat); > > max_seq = READ_ONCE((*lruvec)->lrugen.max_seq); > @@ -470,7 +473,7 @@ bool workingset_test_recent(void *shadow, bool file, bool *workingset, > * configurations instead. > */ > eviction_memcg = mem_cgroup_from_private_id(memcgid); > - if (!mem_cgroup_tryget(eviction_memcg)) > + if (eviction_memcg && !mem_cgroup_tryget(eviction_memcg)) > eviction_memcg = NULL; > rcu_read_unlock(); > > > -- > 2.43.7 > >