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@xxxxxxxxxxxx/ Signed-off-by: Qian Cai <cai@xxxxxx> --- 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