lkml.org 
[lkml]   [2021]   [Aug]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [RFC V2 01/10] mm/mmap: Dynamically initialize protection_map[]
On Mon, Jul 26, 2021 at 12:07:16PM +0530, Anshuman Khandual wrote:
> The protection_map[] elements (__PXXX and __SXXX) might sometimes contain
> runtime variables in certain platforms like arm64 preventing a successful
> build because of the current static initialization. So it just defers the
> initialization until mmmap_init() via a new helper init_protection_map().
>
> Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
> ---
> mm/mmap.c | 26 ++++++++++++++++++++++----
> 1 file changed, 22 insertions(+), 4 deletions(-)
>
> diff --git a/mm/mmap.c b/mm/mmap.c
> index ca54d36..a95b078 100644
> --- a/mm/mmap.c
> +++ b/mm/mmap.c
> @@ -100,10 +100,7 @@ static void unmap_region(struct mm_struct *mm,
> * w: (no) no
> * x: (yes) yes
> */
> -pgprot_t protection_map[16] __ro_after_init = {
> - __P000, __P001, __P010, __P011, __P100, __P101, __P110, __P111,
> - __S000, __S001, __S010, __S011, __S100, __S101, __S110, __S111
> -};
> +pgprot_t protection_map[16] __ro_after_init;

Mips, x86, sparc, arm32, m68k all adjust protection_map[] during boot.
Could we do something similar here and avoid changing the generic code?

--
Catalin

\
 
 \ /
  Last update: 2021-08-05 19:03    [W:0.111 / U:0.044 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site