From 44e8b7765613c29b66d17563c7c0cb5679fdb955 Mon Sep 17 00:00:00 2001 From: Richard Braun Date: Mon, 29 Aug 2016 20:22:44 +0200 Subject: vm: fix boot on xen * vm/vm_map.c (_vm_map_entry_create: Make sure there is a thread before accessing VM privilege. --- vm/vm_map.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'vm/vm_map.c') diff --git a/vm/vm_map.c b/vm/vm_map.c index acac66e4..e73a124a 100644 --- a/vm/vm_map.c +++ b/vm/vm_map.c @@ -256,10 +256,17 @@ vm_map_entry_t _vm_map_entry_create(map_header) * currently impossible to predict which map the default pager * may depend on. */ - vm_privilege = current_thread()->vm_privilege; - current_thread()->vm_privilege = TRUE; + + if (current_thread()) { + vm_privilege = current_thread()->vm_privilege; + current_thread()->vm_privilege = TRUE; + } + entry = (vm_map_entry_t) kmem_cache_alloc(&vm_map_entry_cache); - current_thread()->vm_privilege = vm_privilege; + + if (current_thread()) { + current_thread()->vm_privilege = vm_privilege; + } if (entry == VM_MAP_ENTRY_NULL) panic("vm_map_entry_create"); -- cgit v1.2.3