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/[email protected]/
Signed-off-by: Qian Cai <[email protected]>
---
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