diff options
author | Sahitya Tummala <stummala@codeaurora.org> | 2017-07-10 15:49:57 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2017-07-21 07:42:21 +0200 |
commit | a48542e8b4ec9a7b3bf80edadb5aa229221826c4 (patch) | |
tree | 405681df931b68a8de89b053f8cedc96594258f3 /net/sched/act_tunnel_key.c | |
parent | 8c6f19c250865c42669c005c51dc758644de1c6d (diff) |
mm/list_lru.c: fix list_lru_count_node() to be race free
commit 2c80cd57c74339889a8752b20862a16c28929c3a upstream.
list_lru_count_node() iterates over all memcgs to get the total number of
entries on the node but it can race with memcg_drain_all_list_lrus(),
which migrates the entries from a dead cgroup to another. This can return
incorrect number of entries from list_lru_count_node().
Fix this by keeping track of entries per node and simply return it in
list_lru_count_node().
Link: http://lkml.kernel.org/r/1498707555-30525-1-git-send-email-stummala@codeaurora.org
Signed-off-by: Sahitya Tummala <stummala@codeaurora.org>
Acked-by: Vladimir Davydov <vdavydov.dev@gmail.com>
Cc: Jan Kara <jack@suse.cz>
Cc: Alexander Polakov <apolyakov@beget.ru>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'net/sched/act_tunnel_key.c')
0 files changed, 0 insertions, 0 deletions