diff options
author | Alexander Graf <agraf@suse.de> | 2014-05-11 19:08:32 -0400 |
---|---|---|
committer | Alexander Graf <agraf@suse.de> | 2014-05-30 08:26:24 -0400 |
commit | f3383cf80e417e86fcc84a2eb4c96bc52842d8d9 (patch) | |
tree | 69cde42c1f516992ef2e6db665d1098ee0eac951 /arch/powerpc/include/uapi | |
parent | 1f365bb0de12da4a9ef8e56ffba2218d9a026011 (diff) |
KVM: PPC: Disable NX for old magic page using guests
Old guests try to use the magic page, but map their trampoline code inside
of an NX region.
Since we can't fix those old kernels, try to detect whether the guest is sane
or not. If not, just disable NX functionality in KVM so that old guests at
least work at all. For newer guests, add a bit that we can set to keep NX
functionality available.
Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'arch/powerpc/include/uapi')
-rw-r--r-- | arch/powerpc/include/uapi/asm/kvm_para.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/powerpc/include/uapi/asm/kvm_para.h b/arch/powerpc/include/uapi/asm/kvm_para.h index e3af3286a068..91e42f09b323 100644 --- a/arch/powerpc/include/uapi/asm/kvm_para.h +++ b/arch/powerpc/include/uapi/asm/kvm_para.h | |||
@@ -82,10 +82,16 @@ struct kvm_vcpu_arch_shared { | |||
82 | 82 | ||
83 | #define KVM_FEATURE_MAGIC_PAGE 1 | 83 | #define KVM_FEATURE_MAGIC_PAGE 1 |
84 | 84 | ||
85 | /* Magic page flags from host to guest */ | ||
86 | |||
85 | #define KVM_MAGIC_FEAT_SR (1 << 0) | 87 | #define KVM_MAGIC_FEAT_SR (1 << 0) |
86 | 88 | ||
87 | /* MASn, ESR, PIR, and high SPRGs */ | 89 | /* MASn, ESR, PIR, and high SPRGs */ |
88 | #define KVM_MAGIC_FEAT_MAS0_TO_SPRG7 (1 << 1) | 90 | #define KVM_MAGIC_FEAT_MAS0_TO_SPRG7 (1 << 1) |
89 | 91 | ||
92 | /* Magic page flags from guest to host */ | ||
93 | |||
94 | #define MAGIC_PAGE_FLAG_NOT_MAPPED_NX (1 << 0) | ||
95 | |||
90 | 96 | ||
91 | #endif /* _UAPI__POWERPC_KVM_PARA_H__ */ | 97 | #endif /* _UAPI__POWERPC_KVM_PARA_H__ */ |