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] [day] [month] [year] [list]
Date:   Wed, 31 Jul 2019 15:53:51 +0200
From:   Michal Hocko <mhocko@...nel.org>
To:     Qian Cai <cai@....pw>
Cc:     akpm@...ux-foundation.org, miles.chen@...iatek.com,
        hannes@...xchg.org, vdavydov.dev@...il.com,
        cgroups@...r.kernel.org, linux-mm@...ck.org,
        linux-kernel@...r.kernel.org
Subject: Re: [PATCH -next] mm/memcg: fix a -Wparentheses compilation warning

On Wed 31-07-19 09:45:53, Qian Cai wrote:
> The linux-next commit ("mm/memcontrol.c: fix use after free in
> mem_cgroup_iter()") [1] introduced a compilation warning,
> 
> mm/memcontrol.c:1160:17: warning: using the result of an assignment as a
> condition without parentheses [-Wparentheses]
>         } while (memcg = parent_mem_cgroup(memcg));
>                  ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
> mm/memcontrol.c:1160:17: note: place parentheses around the assignment
> to silence this warning
>         } while (memcg = parent_mem_cgroup(memcg));
>                        ^
>                  (                               )
> mm/memcontrol.c:1160:17: note: use '==' to turn this assignment into an
> equality comparison
>         } while (memcg = parent_mem_cgroup(memcg));
>                        ^
>                        ==
> 
> Fix it by adding a pair of parentheses.
> 
> [1] https://lore.kernel.org/linux-mm/20190730015729.4406-1-miles.chen@mediatek.com/
> 
> Signed-off-by: Qian Cai <cai@....pw>

Thanks for the fix. I assume Andrew is going to squash it into the
original patch.

Acked-by: Michal Hocko <mhocko@...e.com>

> ---
>  mm/memcontrol.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/mm/memcontrol.c b/mm/memcontrol.c
> index 694b6f8776dc..4f66a8305ae0 100644
> --- a/mm/memcontrol.c
> +++ b/mm/memcontrol.c
> @@ -1157,7 +1157,7 @@ static void invalidate_reclaim_iterators(struct mem_cgroup *dead_memcg)
>  	do {
>  		__invalidate_reclaim_iterators(memcg, dead_memcg);
>  		last = memcg;
> -	} while (memcg = parent_mem_cgroup(memcg));
> +	} while ((memcg = parent_mem_cgroup(memcg)));
>  
>  	/*
>  	 * When cgruop1 non-hierarchy mode is used,
> -- 
> 1.8.3.1

-- 
Michal Hocko
SUSE Labs

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ