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] [thread-next>] [day] [month] [year] [list]
Message-ID: <4a08e3ec-1859-e4a7-6c08-5f36b09712d4@redhat.com>
Date:   Tue, 27 Aug 2019 09:08:49 +0200
From:   David Hildenbrand <david@...hat.com>
To:     Alastair D'Silva <alastair@...ilva.org>,
        Michal Hocko <mhocko@...nel.org>
Cc:     Andrew Morton <akpm@...ux-foundation.org>,
        Oscar Salvador <osalvador@...e.de>,
        Mike Rapoport <rppt@...ux.ibm.com>,
        Dan Williams <dan.j.williams@...el.com>,
        Wei Yang <richardw.yang@...ux.intel.com>,
        Qian Cai <cai@....pw>, linux-mm@...ck.org,
        linux-kernel@...r.kernel.org
Subject: Re: [PATCH 2/2] mm: don't hide potentially null memmap pointer in
 sparse_remove_section

On 27.08.19 09:00, Alastair D'Silva wrote:
> On Tue, 2019-08-27 at 08:24 +0200, Michal Hocko wrote:
>> On Tue 27-08-19 15:36:55, Alastair D'Silva wrote:
>>> From: Alastair D'Silva <alastair@...ilva.org>
>>>
>>> By adding offset to memmap before passing it in to
>>> clear_hwpoisoned_pages,
>>> we hide a theoretically null memmap from the null check inside
>>> clear_hwpoisoned_pages.
>>
>> Isn't that other way around? Calculating the offset struct page
>> pointer
>> will actually make the null check effective. Besides that I cannot
>> really see how pfn_to_page would return NULL. I have to confess that
>> I
>> cannot really see how offset could lead to a NULL struct page either
>> and
>> I strongly suspect that the NULL check is not really needed. Maybe it
>> used to be in the past.
>>
> 
> You're probably right, but I didn't feel confident in removing the NULL
> check. 
> 
> While the NULL check remains though, I can't see how adding the offset
> would turn a non-NULL pointer into a NULL unless the pointer is invalid
> in the first place, and if this is the case, we should have a comment
> explaining this.
> 
> The NULL check was added in commit:
> 95a4774d055c ("memory-hotplug: update mce_bad_pages when removing the
> memory")
> where memmap was originally inited to NULL, and only conditionally
> given a value.
> 
> With this in mind, since that situation is no longer true, I think we
> could instead drop the NULL check.
> 

Makes sense to me.

-- 

Thanks,

David / dhildenb

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ