mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-28 21:33:52 +00:00
memcg: fix wrong pointer initialization at page migration when memcg is disabled.
Lee Schermerhorn reported that he saw bad pointer dereference in mem_cgroup_end_migration() when he disabled memcg by boot option. memcg's page migration logic works as mem_cgroup_prepare_migration(page, &ptr); do page migration mem_cgroup_end_migration(page, ptr); Now, ptr is not initialized in prepare_migration when memcg is disabled by boot option. This causes panic in end_migration. This patch fixes it. Reported-by: Lee Schermerhorn <Lee.Schermerhorn@hp.com> Cc: Balbir Singh <balbir@in.ibm.com> Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> Reviewed-by: Daisuke Nishimura <nishimura@mxp.nes.nec.co.jp> Cc: <stable@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
b9f9d4706c
commit
e00e431612
1 changed files with 1 additions and 1 deletions
|
@ -602,7 +602,7 @@ static int unmap_and_move(new_page_t get_new_page, unsigned long private,
|
||||||
struct page *newpage = get_new_page(page, private, &result);
|
struct page *newpage = get_new_page(page, private, &result);
|
||||||
int rcu_locked = 0;
|
int rcu_locked = 0;
|
||||||
int charge = 0;
|
int charge = 0;
|
||||||
struct mem_cgroup *mem;
|
struct mem_cgroup *mem = NULL;
|
||||||
|
|
||||||
if (!newpage)
|
if (!newpage)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
Loading…
Reference in a new issue