On 09/04/21 09:55, Yang Weijiang wrote:
During kvm-unit-test, below failure pattern is observed, this is due to testing thread migration + cache "lazy" flush during test, so forcely flush the cache to avoid the issue. Pin the test app to certain physical CPU can fix the issue as well. The error report is misleading, pke is the victim of the issue. test user cr4.pke: FAIL: error code 5 expected 4 Dump mapping: address: 0x123400000000 ------L4: 21ea007 ------L3: 21eb007 ------L2: 21ec000 ------L1: 2000000 Signed-off-by: Yang Weijiang <weijiang.yang@xxxxxxxxx> --- x86/access.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/x86/access.c b/x86/access.c index 7dc9eb6..379d533 100644 --- a/x86/access.c +++ b/x86/access.c @@ -211,6 +211,8 @@ static unsigned set_cr4_smep(int smep) ptl2[2] |= PT_USER_MASK; if (!r) shadow_cr4 = cr4; + + invlpg((void *)(ptl2[2] & ~PAGE_SIZE)); return r; }
Applied, thanks. Paolo