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 for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Sat, 14 Dec 2019 07:29:28 +0800
From:   Baoquan He <bhe@...hat.com>
To:     Borislav Petkov <bp@...en8.de>
Cc:     Masayoshi Mizuma <msys.mizuma@...il.com>,
        Thomas Gleixner <tglx@...utronix.de>,
        Ingo Molnar <mingo@...hat.com>,
        "H. Peter Anvin" <hpa@...or.com>, x86@...nel.org,
        Masayoshi Mizuma <m.mizuma@...fujitsu.com>,
        linux-kernel@...r.kernel.org
Subject: Re: [PATCH v5 4/4] x86/mm/KASLR: Adjust the padding size for the
 direct mapping.

On 12/13/19 at 05:38pm, Borislav Petkov wrote:
> On Fri, Dec 13, 2019 at 10:54:48PM +0800, Baoquan He wrote:
> > On 12/13/19 at 03:15pm, Borislav Petkov wrote:
> > > On Fri, Dec 13, 2019 at 09:28:50PM +0800, Baoquan He wrote:
> > > > In Documentation/x86/x86_64/mm.rst, the physical memory regions mapping
> > > > with page_offset is called as the direct mapping of physical memory.
> > > 
> > > The fact that it happens to compute the *first* region's size, which
> > > *happens* to be the direct mapping of all physical memory is immaterial
> > > here.
> > > 
> > > It is actually causing more confusion in an already complex piece of
> > > code. You can call this function just as well
> > > 
> > >   calc_region_size()
> > > 
> > > which won't confuse readers. Because all you care about here is the
> > > region's size - not which region it is.
> > 
> > Won't calc_region_size be too generic? We also have vmalloc and vmemmap,
> > and here we are specifically calculating the direct mapping of physical
> > memory.
> 
> It sounds like you didn't read what I wrote above so read it again pls.

Got it, I believe people won't be confused with calc_region_size().
It's fine to me.

> 
> > If not knowing the max address to cover all the possible hotplugged
> > memory, later memory hotplug will fail.
> 
> You don't have to state the obvious - I can see that in the code.
> 
> So let me ask you differently: can the parsing of the SRAT table happen
> shortly before kernel_randomize_memory() *without* adding all that gunk
> to the compressed stage, and without adding the boot_params member and
> done only for memory hot_add machines?

OK, you mean parsing SRAT again before kernel_randomize_memory(). I
think this is what Masa made this patchset to avoid. Then we will have
three times SRAT parsing. Passing the max addr from boot to
kernel_randomize_memory() was raised when review Chao Fan's patchset, I
vaguely remember. Chao didn't take the SRAT parsing way in boot code
firstly, later someone suggested to parse, and said the issue in
kernel_randomize_memory() can be fixed with the parsed value.

Surely, parsing SRAT here is also good. Maybe Masa can make a draft
patch, let people see what it looks like.

Thanks
Baoquan

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ