diff options
| author | Nadav Amit <[email protected]> | 2019-05-04 18:11:24 -0700 |
|---|---|---|
| committer | Ingo Molnar <[email protected]> | 2019-05-05 20:32:46 +0200 |
| commit | caa841360134f863987f2d4f77b8dc2fbb7596f8 (patch) | |
| tree | fc3f7b45f92fc38599a509945ee8b6970eb2c3d8 /init | |
| parent | 3950746d9d8ef981c1cb842384e0e86e8d1aad76 (diff) | |
x86/mm: Initialize PGD cache during mm initialization
Poking-mm initialization might require to duplicate the PGD in early
stage. Initialize the PGD cache earlier to prevent boot failures.
Reported-by: kernel test robot <[email protected]>
Signed-off-by: Nadav Amit <[email protected]>
Cc: Andy Lutomirski <[email protected]>
Cc: Borislav Petkov <[email protected]>
Cc: Dave Hansen <[email protected]>
Cc: H. Peter Anvin <[email protected]>
Cc: Linus Torvalds <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Rick Edgecombe <[email protected]>
Cc: Rik van Riel <[email protected]>
Cc: Stephen Rothwell <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Fixes: 4fc19708b165 ("x86/alternatives: Initialize temporary mm for patching")
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Ingo Molnar <[email protected]>
Diffstat (limited to 'init')
| -rw-r--r-- | init/main.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/init/main.c b/init/main.c index 95dd9406ee31..9dc2f3b4f753 100644 --- a/init/main.c +++ b/init/main.c @@ -506,6 +506,8 @@ void __init __weak mem_encrypt_init(void) { } void __init __weak poking_init(void) { } +void __init __weak pgd_cache_init(void) { } + bool initcall_debug; core_param(initcall_debug, initcall_debug, bool, 0644); @@ -537,6 +539,7 @@ static void __init mm_init(void) init_espfix_bsp(); /* Should be run after espfix64 is set up. */ pti_init(); + pgd_cache_init(); } void __init __weak arch_call_rest_init(void) |