nova: fix capability issues in PCID/SMP setups

Kernel fails to lookup a capability it just got delegated, if
the backing store for the destination capability was before backed by a
zero-page. Triggers if PCID (64bit) is in use or in SMP setups.

Fixes #2101
This commit is contained in:
Alexander Boettcher 2016-09-14 23:21:24 +02:00 committed by Christian Helmuth
parent 86e690b7f3
commit 4d7d4dd2fc
3 changed files with 5 additions and 4 deletions

View File

@ -1 +1 @@
67b9105af0e2e5d222bc38af77c129b1f079f6a5
6f6dc94fadf93e9fad741bbf6b2938f92e45f948

View File

@ -4,7 +4,7 @@ DOWNLOADS := nova.git
# r9 branch - use r9_debug for more verbose kernel messages
URL(nova) := https://github.com/alex-ab/NOVA.git
REV(nova) := 5e001a87ffa9fdb7ca36ed52fc10679a6089f821
REV(nova) := bc5851221c412aa92d06c57b5b41944dd2ab08ae
DIR(nova) := src/kernel/nova
PATCHES := $(wildcard $(REP_DIR)/patches/*.patch)

View File

@ -707,8 +707,6 @@ Main::Main(Env &env) : env(env)
check(res, "pt_ctrl %2u", i);
}
test_delegate_revoke_smp(env);
/* test PAT kernel feature */
test_pat(env);
@ -718,6 +716,9 @@ Main::Main(Env &env) : env(env)
/* test translate together with special revoke */
test_translate(env);
/* test SMP delegate/revoke */
test_delegate_revoke_smp(env);
/**
* Test to provoke out of memory during capability transfer of
* server/client.