lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <dzp6jxmf5ggidkhmqabuttaotyrkxzf6ohiuzgcdn6oppkcmfc@vrjeeypoppwe>
Date: Tue, 2 Dec 2025 12:01:01 +0100
From: Jan Kara <jack@...e.cz>
To: Chen Ridong <chenridong@...weicloud.com>
Cc: viro@...iv.linux.org.uk, brauner@...nel.org, jack@...e.cz, 
	hannes@...xchg.org, mhocko@...nel.org, roman.gushchin@...ux.dev, 
	shakeel.butt@...ux.dev, muchun.song@...ux.dev, tj@...nel.org, mkoutny@...e.com, 
	akpm@...ux-foundation.org, vbabka@...e.cz, surenb@...gle.com, jackmanb@...gle.com, 
	ziy@...dia.com, linux-fsdevel@...r.kernel.org, linux-kernel@...r.kernel.org, 
	cgroups@...r.kernel.org, linux-mm@...ck.org, lujialin4@...wei.com, chenridong@...wei.com
Subject: Re: [PATCH -next] cgroup: switch to css_is_online() helper

On Tue 02-12-25 02:57:47, Chen Ridong wrote:
> From: Chen Ridong <chenridong@...wei.com>
> 
> Use the new css_is_online() helper that has been introduced to check css
> online state, instead of testing the CSS_ONLINE flag directly. This
> improves readability and centralizes the state check logic.
> 
> No functional changes intended.
> 
> Signed-off-by: Chen Ridong <chenridong@...wei.com>

Looks good. Feel free to add:

Reviewed-by: Jan Kara <jack@...e.cz>

								Honza

> ---
>  fs/fs-writeback.c          | 2 +-
>  include/linux/memcontrol.h | 2 +-
>  kernel/cgroup/cgroup.c     | 4 ++--
>  mm/memcontrol.c            | 2 +-
>  mm/page_owner.c            | 2 +-
>  5 files changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c
> index 6800886c4d10..5dd6e89a6d29 100644
> --- a/fs/fs-writeback.c
> +++ b/fs/fs-writeback.c
> @@ -981,7 +981,7 @@ void wbc_account_cgroup_owner(struct writeback_control *wbc, struct folio *folio
>  
>  	css = mem_cgroup_css_from_folio(folio);
>  	/* dead cgroups shouldn't contribute to inode ownership arbitration */
> -	if (!(css->flags & CSS_ONLINE))
> +	if (!css_is_online(css))
>  		return;
>  
>  	id = css->id;
> diff --git a/include/linux/memcontrol.h b/include/linux/memcontrol.h
> index 0651865a4564..6a48398a1f4e 100644
> --- a/include/linux/memcontrol.h
> +++ b/include/linux/memcontrol.h
> @@ -893,7 +893,7 @@ static inline bool mem_cgroup_online(struct mem_cgroup *memcg)
>  {
>  	if (mem_cgroup_disabled())
>  		return true;
> -	return !!(memcg->css.flags & CSS_ONLINE);
> +	return css_is_online(&memcg->css);
>  }
>  
>  void mem_cgroup_update_lru_size(struct lruvec *lruvec, enum lru_list lru,
> diff --git a/kernel/cgroup/cgroup.c b/kernel/cgroup/cgroup.c
> index 1e4033d05c29..ad0a35721dff 100644
> --- a/kernel/cgroup/cgroup.c
> +++ b/kernel/cgroup/cgroup.c
> @@ -4939,7 +4939,7 @@ bool css_has_online_children(struct cgroup_subsys_state *css)
>  
>  	rcu_read_lock();
>  	css_for_each_child(child, css) {
> -		if (child->flags & CSS_ONLINE) {
> +		if (css_is_online(child)) {
>  			ret = true;
>  			break;
>  		}
> @@ -5744,7 +5744,7 @@ static void offline_css(struct cgroup_subsys_state *css)
>  
>  	lockdep_assert_held(&cgroup_mutex);
>  
> -	if (!(css->flags & CSS_ONLINE))
> +	if (!css_is_online(css))
>  		return;
>  
>  	if (ss->css_offline)
> diff --git a/mm/memcontrol.c b/mm/memcontrol.c
> index be810c1fbfc3..e2e49f4ec9e0 100644
> --- a/mm/memcontrol.c
> +++ b/mm/memcontrol.c
> @@ -281,7 +281,7 @@ ino_t page_cgroup_ino(struct page *page)
>  	/* page_folio() is racy here, but the entire function is racy anyway */
>  	memcg = folio_memcg_check(page_folio(page));
>  
> -	while (memcg && !(memcg->css.flags & CSS_ONLINE))
> +	while (memcg && !css_is_online(&memcg->css))
>  		memcg = parent_mem_cgroup(memcg);
>  	if (memcg)
>  		ino = cgroup_ino(memcg->css.cgroup);
> diff --git a/mm/page_owner.c b/mm/page_owner.c
> index a70245684206..27d19f01009c 100644
> --- a/mm/page_owner.c
> +++ b/mm/page_owner.c
> @@ -530,7 +530,7 @@ static inline int print_page_owner_memcg(char *kbuf, size_t count, int ret,
>  	if (!memcg)
>  		goto out_unlock;
>  
> -	online = (memcg->css.flags & CSS_ONLINE);
> +	online = css_is_online(&memcg->css);
>  	cgroup_name(memcg->css.cgroup, name, sizeof(name));
>  	ret += scnprintf(kbuf + ret, count - ret,
>  			"Charged %sto %smemcg %s\n",
> -- 
> 2.34.1
> 
-- 
Jan Kara <jack@...e.com>
SUSE Labs, CR

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ