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: <ehlzzv37o4exdn4smmu653wzjdotzdv3dhr3bduvemxssp37ro@sgegnyprquk4>
Date:   Thu, 23 Nov 2023 13:42:39 +0300
From:   Serge Semin <fancer.lancer@...il.com>
To:     Mike Rapoport <rppt@...nel.org>
Cc:     Thomas Bogendoerfer <tsbogend@...ha.franken.de>,
        Andrew Morton <akpm@...ux-foundation.org>,
        Matthew Wilcox <willy@...radead.org>,
        Alexey Malahov <Alexey.Malahov@...kalelectronics.ru>,
        Arnd Bergmann <arnd@...db.de>,
        Aleksandar Rikalo <aleksandar.rikalo@...mia.com>,
        Aleksandar Rikalo <arikalo@...il.com>,
        Dragan Mladjenovic <dragan.mladjenovic@...mia.com>,
        Chao-ying Fu <cfu@...ecomp.com>,
        Jiaxun Yang <jiaxun.yang@...goat.com>,
        Yinglu Yang <yangyinglu@...ngson.cn>,
        Tiezhu Yang <yangtiezhu@...ngson.cn>,
        Marc Zyngier <maz@...nel.org>, linux-mips@...r.kernel.org,
        linux-mm@...ck.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 5/7] mm/mm_init.c: Extend init unavailable range doc info

Hi Mike

On Thu, Nov 23, 2023 at 12:18:54PM +0200, Mike Rapoport wrote:
> Hi Serge,
> 
> On Wed, Nov 22, 2023 at 09:24:03PM +0300, Serge Semin wrote:
> > Besides of the already described reasons the pages backended memory holes
> > might be persistent due to having memory mapped IO spaces behind those
> > ranges in the framework of flatmem kernel config. Add such note to the
> > init_unavailable_range() method kdoc in order to point out to one more
> > reason of having the function executed for such regions.
> > 
> > Signed-off-by: Serge Semin <fancer.lancer@...il.com>
> > 
> > ---
> > 
> > Please let me know if the IO-space pages must be initialized somehow
> > differently rather relying on free_area_init() executing the
> > init_unavailable_range() method.
> 

> Maybe I'm missing something, but why do you need struct pages in the
> IO space?

In my case at the very least that's due to having a SRAM device
available in the middle of the MMIO-space. The region is getting
mapped using the ioremap_wc() method (Uncached Write-Combine CA),
which eventually is converted to calling get_vm_area() and
ioremap_page_range() (see ioremap_prot() function on MIPS), which in
its turn use the page structs for mapping. Another similar case is
using ioremap_wc() in the PCIe outbound ATU space mapping of
the graphic/video cards framebuffers.

In general having the pages array defined for the IO-memory is
required for mapping the IO-space other than just uncached (my sram
case for example) or, for instance, with special access attribute for
the user-space (if I am not missing something in a way VM works in
that case).

-Serge(y)

> 
> > ---
> >  mm/mm_init.c | 1 +
> >  1 file changed, 1 insertion(+)
> > 
> > diff --git a/mm/mm_init.c b/mm/mm_init.c
> > index 077bfe393b5e..3fa33e2d32ba 100644
> > --- a/mm/mm_init.c
> > +++ b/mm/mm_init.c
> > @@ -796,6 +796,7 @@ overlap_memmap_init(unsigned long zone, unsigned long *pfn)
> >   * - physical memory bank size is not necessarily the exact multiple of the
> >   *   arbitrary section size
> >   * - early reserved memory may not be listed in memblock.memory
> > + * - memory mapped IO space
> >   * - memory layouts defined with memmap= kernel parameter may not align
> >   *   nicely with memmap sections
> >   *
> > -- 
> > 2.42.1
> > 
> 
> -- 
> Sincerely yours,
> Mike.
> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ