summaryrefslogtreecommitdiffstats
path: root/mm/page_alloc.c
diff options
context:
space:
mode:
authorHenry Burns <henryburns@google.com>2019-08-24 17:54:37 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-08-29 08:30:25 +0200
commit764fa2f4ff59591fd04b504f8f8fb46ec16641a9 (patch)
tree5af858452aa74f03ef41275f0892ac10cf48986f /mm/page_alloc.c
parent641c1d8396dcbc6277e07bee9e4a07f392e91e9c (diff)
downloadlinux-stable-764fa2f4ff59591fd04b504f8f8fb46ec16641a9.tar.gz
linux-stable-764fa2f4ff59591fd04b504f8f8fb46ec16641a9.tar.bz2
linux-stable-764fa2f4ff59591fd04b504f8f8fb46ec16641a9.zip
mm/z3fold.c: fix race between migration and destruction
commit d776aaa9895eb6eb770908e899cb7f5bd5025b3c upstream. In z3fold_destroy_pool() we call destroy_workqueue(&pool->compact_wq). However, we have no guarantee that migration isn't happening in the background at that time. Migration directly calls queue_work_on(pool->compact_wq), if destruction wins that race we are using a destroyed workqueue. Link: http://lkml.kernel.org/r/20190809213828.202833-1-henryburns@google.com Signed-off-by: Henry Burns <henryburns@google.com> Cc: Vitaly Wool <vitalywool@gmail.com> Cc: Shakeel Butt <shakeelb@google.com> Cc: Jonathan Adams <jwadams@google.com> Cc: Henry Burns <henrywolfeburns@gmail.com> Cc: <stable@vger.kernel.org> 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 'mm/page_alloc.c')
0 files changed, 0 insertions, 0 deletions