summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKefeng Wang <wangkefeng.wang@huawei.com>2022-08-19 11:34:01 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2023-08-30 16:18:21 +0200
commit0712721e4f4f702ca1e902ce2a56f7f40adddba2 (patch)
treef0bc96420b06d6e51799b5602684099d04aa28ef
parentefd02b5cadd5db6d3a829bc250d7fbf5ff45560a (diff)
downloadlinux-stable-0712721e4f4f702ca1e902ce2a56f7f40adddba2.tar.gz
linux-stable-0712721e4f4f702ca1e902ce2a56f7f40adddba2.tar.bz2
linux-stable-0712721e4f4f702ca1e902ce2a56f7f40adddba2.zip
mm: memory-failure: kill soft_offline_free_page()
[ Upstream commit 7adb45887c8af88985c335b53d253654e9d2dd16 ] Open-code the page_handle_poison() into soft_offline_page() and kill unneeded soft_offline_free_page(). Link: https://lkml.kernel.org/r/20220819033402.156519-1-wangkefeng.wang@huawei.com Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com> Reviewed-by: Miaohe Lin <linmiaohe@huawei.com> Acked-by: Naoya Horiguchi <naoya.horiguchi@nec.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Stable-dep-of: e2c1ab070fdc ("mm: memory-failure: fix unexpected return value in soft_offline_page()") Signed-off-by: Sasha Levin <sashal@kernel.org>
-rw-r--r--mm/memory-failure.c12
1 files changed, 1 insertions, 11 deletions
diff --git a/mm/memory-failure.c b/mm/memory-failure.c
index 9f9dd968fbe3..69d22af10adf 100644
--- a/mm/memory-failure.c
+++ b/mm/memory-failure.c
@@ -2219,16 +2219,6 @@ static int soft_offline_in_use_page(struct page *page)
return __soft_offline_page(page);
}
-static int soft_offline_free_page(struct page *page)
-{
- int rc = 0;
-
- if (!page_handle_poison(page, true, false))
- rc = -EBUSY;
-
- return rc;
-}
-
static void put_ref_page(struct page *page)
{
if (page)
@@ -2294,7 +2284,7 @@ retry:
if (ret > 0) {
ret = soft_offline_in_use_page(page);
} else if (ret == 0) {
- if (soft_offline_free_page(page) && try_again) {
+ if (!page_handle_poison(page, true, false) && try_again) {
try_again = false;
flags &= ~MF_COUNT_INCREASED;
goto retry;