]> git.baikalelectronics.ru Git - kernel.git/commit
mm/ksm.c: don't WARN if page is still mapped in remove_stable_node()
authorAndrey Ryabinin <aryabinin@virtuozzo.com>
Fri, 22 Nov 2019 01:54:01 +0000 (17:54 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 22 Nov 2019 17:11:18 +0000 (09:11 -0800)
commit4e8ba393f4c7e7bf6ed961e866f4b9933dccd44b
tree84ff12b4f2967d245c12cf03abfb9f84e9680da1
parentdb9d23d74174fd295d272b0a37153864f0546093
mm/ksm.c: don't WARN if page is still mapped in remove_stable_node()

It's possible to hit the WARN_ON_ONCE(page_mapped(page)) in
remove_stable_node() when it races with __mmput() and squeezes in
between ksm_exit() and exit_mmap().

  WARNING: CPU: 0 PID: 3295 at mm/ksm.c:888 remove_stable_node+0x10c/0x150

  Call Trace:
   remove_all_stable_nodes+0x12b/0x330
   run_store+0x4ef/0x7b0
   kernfs_fop_write+0x200/0x420
   vfs_write+0x154/0x450
   ksys_write+0xf9/0x1d0
   do_syscall_64+0x99/0x510
   entry_SYSCALL_64_after_hwframe+0x49/0xbe

Remove the warning as there is nothing scary going on.

Link: http://lkml.kernel.org/r/20191119131850.5675-1-aryabinin@virtuozzo.com
Fixes: 75455675cc1b ("ksm: remove old stable nodes more thoroughly")
Signed-off-by: Andrey Ryabinin <aryabinin@virtuozzo.com>
Acked-by: Hugh Dickins <hughd@google.com>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mm/ksm.c