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
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <d5ea98ec-5252-daf8-7d5b-0b4b25443710@linux.vnet.ibm.com>
Date:   Tue, 25 Apr 2017 16:16:42 +0200
From:   Laurent Dufour <ldufour@...ux.vnet.ibm.com>
To:     Naoya Horiguchi <n-horiguchi@...jp.nec.com>
Cc:     "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
        "linux-mm@...ck.org" <linux-mm@...ck.org>,
        "akpm@...ux-foundation.org" <akpm@...ux-foundation.org>
Subject: Re: [RFC 2/2] mm: skip HWPoisoned pages when onlining pages

On 25/04/2017 10:00, Naoya Horiguchi wrote:
> On Thu, Apr 20, 2017 at 11:26:02AM +0200, Laurent Dufour wrote:
>> The commit b023f46813cd ("memory-hotplug: skip HWPoisoned page when
>> offlining pages") skip the HWPoisoned pages when offlining pages, but
>> this should be skipped when onlining the pages too.
>>
>> Signed-off-by: Laurent Dufour <ldufour@...ux.vnet.ibm.com>
>> ---
>>  mm/memory_hotplug.c | 2 ++
>>  1 file changed, 2 insertions(+)
>>
>> diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c
>> index 6fa7208bcd56..20e1fadc2369 100644
>> --- a/mm/memory_hotplug.c
>> +++ b/mm/memory_hotplug.c
>> @@ -942,6 +942,8 @@ static int online_pages_range(unsigned long start_pfn, unsigned long nr_pages,
>>  	if (PageReserved(pfn_to_page(start_pfn)))
>>  		for (i = 0; i < nr_pages; i++) {
>>  			page = pfn_to_page(start_pfn + i);
>> +			if (PageHWPoison(page))
>> +				continue;
> 
> Is it OK that PageReserved (set by __offline_isolated_pages for non-buddy
> hwpoisoned pages) still remains in this path?

To be honest, I've no clue.

> If online_pages_range() is the reverse operation of __offline_isolated_pages(),
> ClearPageReserved seems needed here.

I added a call to ClearPageReserved in the if (PageHWPoison(..)) and run
some tests.
This seems to work fine as well, but I'm not sure about the side effect.

I'll add it to my next version.

Thanks,
Laurent.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ