mm/memory-failure.c: cleanup in unpoison_memory
If freeit is true, the value of ret must be zero, there is no need to check the value of freeit after label unlock_mutex. We can drop variable freeit to do this cleanup. Link: https://lkml.kernel.org/r/20221125065444.3462681-1-mawupeng1@huawei.com Signed-off-by: Ma Wupeng <mawupeng1@huawei.com> Acked-by: Naoya Horiguchi <naoya.horiguchi@nec.com> Reviewed-by: Miaohe Lin <linmiaohe@huawei.com> Cc: zhenwei pi <pizhenwei@bytedance.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
Родитель
e833bc5034
Коммит
e0ff428042
|
@ -2338,7 +2338,6 @@ int unpoison_memory(unsigned long pfn)
|
|||
struct page *page;
|
||||
struct page *p;
|
||||
int ret = -EBUSY;
|
||||
int freeit = 0;
|
||||
unsigned long count = 1;
|
||||
bool huge = false;
|
||||
static DEFINE_RATELIMIT_STATE(unpoison_rs, DEFAULT_RATELIMIT_INTERVAL,
|
||||
|
@ -2413,10 +2412,9 @@ int unpoison_memory(unsigned long pfn)
|
|||
goto unlock_mutex;
|
||||
}
|
||||
}
|
||||
freeit = !!TestClearPageHWPoison(p);
|
||||
|
||||
put_page(page);
|
||||
if (freeit) {
|
||||
if (TestClearPageHWPoison(p)) {
|
||||
put_page(page);
|
||||
ret = 0;
|
||||
}
|
||||
|
@ -2424,7 +2422,7 @@ int unpoison_memory(unsigned long pfn)
|
|||
|
||||
unlock_mutex:
|
||||
mutex_unlock(&mf_mutex);
|
||||
if (!ret || freeit) {
|
||||
if (!ret) {
|
||||
if (!huge)
|
||||
num_poisoned_pages_sub(pfn, 1);
|
||||
unpoison_pr_info("Unpoison: Software-unpoisoned page %#lx\n",
|
||||
|
|
Загрузка…
Ссылка в новой задаче