]> git.baikalelectronics.ru Git - kernel.git/commit
mm/migration: fix possible do_pages_stat_array racing with memory offline
authorMiaohe Lin <linmiaohe@huawei.com>
Fri, 29 Apr 2022 06:16:08 +0000 (23:16 -0700)
committerakpm <akpm@linux-foundation.org>
Fri, 29 Apr 2022 06:16:08 +0000 (23:16 -0700)
commita10d46c96ee69d6b2d57de49b6a11b6c0d71de05
treeee09e7c06e2513b977739324f12cc9ee7d88f263
parent44512c78e5d30a9b2787825615a0ba56a758da01
mm/migration: fix possible do_pages_stat_array racing with memory offline

When follow_page peeks a page, the page could be migrated and then be
offlined while it's still being used by the do_pages_stat_array().  Use
FOLL_GET to hold the page refcnt to fix this potential race.

Link: https://lkml.kernel.org/r/20220318111709.60311-12-linmiaohe@huawei.com
Signed-off-by: Miaohe Lin <linmiaohe@huawei.com>
Acked-by: "Huang, Ying" <ying.huang@intel.com>
Reviewed-by: Muchun Song <songmuchun@bytedance.com>
Cc: Alistair Popple <apopple@nvidia.com>
Cc: Baolin Wang <baolin.wang@linux.alibaba.com>
Cc: Zi Yan <ziy@nvidia.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/migrate.c