From 00ff24bd9c2af972268ad39af53e6c3612953ed3 Mon Sep 17 00:00:00 2001 From: Shakeel Butt Date: Thu, 14 Feb 2019 20:48:30 +0800 Subject: [PATCH] fork, memcg: fix cached_stacks case mainline inclusion from mainline-5.0 commit ba4a45746c36 category: bugfix bugzilla: 5751 CVE: NA ------------------------------------------------- Commit 5eed6f1dff87 ("fork,memcg: fix crash in free_thread_stack on memcg charge fail") fixes a crash caused due to failed memcg charge of the kernel stack. However the fix misses the cached_stacks case which this patch fixes. So, the same crash can happen if the memcg charge of a cached stack is failed. Link: http://lkml.kernel.org/r/20190102180145.57406-1-shakeelb@google.com Fixes: 5eed6f1dff87 ("fork,memcg: fix crash in free_thread_stack on memcg charge fail") Signed-off-by: Shakeel Butt Acked-by: Michal Hocko Acked-by: Rik van Riel Cc: Rik van Riel Cc: Roman Gushchin Cc: Johannes Weiner Cc: Tejun Heo Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds Signed-off-by: Cheng Jian Reviewed-by: Xie XiuQi Signed-off-by: Yang Yingliang --- kernel/fork.c | 1 + 1 file changed, 1 insertion(+) diff --git a/kernel/fork.c b/kernel/fork.c index 608932c1d2ff..77fdee07d2a4 100644 --- a/kernel/fork.c +++ b/kernel/fork.c @@ -220,6 +220,7 @@ static unsigned long *alloc_thread_stack_node(struct task_struct *tsk, int node) memset(s->addr, 0, THREAD_SIZE); tsk->stack_vm_area = s; + tsk->stack = s->addr; return s->addr; } -- GitLab