lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Fri, 25 Nov 2022 08:54:47 +0000 From: HORIGUCHI NAOYA(堀口 直也) <naoya.horiguchi@....com> To: Wupeng Ma <mawupeng1@...wei.com> CC: "linmiaohe@...wei.com" <linmiaohe@...wei.com>, "akpm@...ux-foundation.org" <akpm@...ux-foundation.org>, "pizhenwei@...edance.com" <pizhenwei@...edance.com>, "linux-mm@...ck.org" <linux-mm@...ck.org>, "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org> Subject: Re: [PATCH -next 1/1] mm/memory-failure.c: Cleanup in unpoison_memory On Fri, Nov 25, 2022 at 02:54:44PM +0800, Wupeng Ma wrote: > From: Ma Wupeng <mawupeng1@...wei.com> > > If freeit it 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. > > Signed-off-by: Ma Wupeng <mawupeng1@...wei.com> Hi Wupeng, > --- > mm/memory-failure.c | 6 ++---- > 1 file changed, 2 insertions(+), 4 deletions(-) > > diff --git a/mm/memory-failure.c b/mm/memory-failure.c > index 2e62940c7bae..c77a9e37e27e 100644 > --- a/mm/memory-failure.c > +++ b/mm/memory-failure.c > @@ -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)) { This reorders put_page() and TestClearPageHWPoison(), but when we run into this else block, the target page or hugepage should have refcount > 1, so it does not cause any behavioral change. So I'm fine with it. Looks good to me. Thank you for the patch. Acked-by: Naoya Horiguchi <naoya.horiguchi@....com> > 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", > -- > 2.25.1
Powered by blists - more mailing lists