File tree Expand file tree Collapse file tree 1 file changed +8
-3
lines changed Expand file tree Collapse file tree 1 file changed +8
-3
lines changed Original file line number Diff line number Diff line change 15
15
16
16
#include <asm/efi.h>
17
17
#include <asm/stacktrace.h>
18
+ #include <asm/vmap_stack.h>
18
19
19
20
static bool region_is_misaligned (const efi_memory_desc_t * md )
20
21
{
@@ -214,9 +215,13 @@ static int __init arm64_efi_rt_init(void)
214
215
if (!efi_enabled (EFI_RUNTIME_SERVICES ))
215
216
return 0 ;
216
217
217
- p = __vmalloc_node (THREAD_SIZE , THREAD_ALIGN , GFP_KERNEL ,
218
- NUMA_NO_NODE , & & l );
219
- l : if (!p ) {
218
+ if (!IS_ENABLED (CONFIG_VMAP_STACK )) {
219
+ clear_bit (EFI_RUNTIME_SERVICES , & efi .flags );
220
+ return - ENOMEM ;
221
+ }
222
+
223
+ p = arch_alloc_vmap_stack (THREAD_SIZE , NUMA_NO_NODE );
224
+ if (!p ) {
220
225
pr_warn ("Failed to allocate EFI runtime stack\n" );
221
226
clear_bit (EFI_RUNTIME_SERVICES , & efi .flags );
222
227
return - ENOMEM ;
You can’t perform that action at this time.
0 commit comments