x86/svm: Intercept and terminate RDPRU with #UD
authorAndrew Cooper <andrew.cooper3@citrix.com>
Mon, 19 Aug 2019 15:40:06 +0000 (16:40 +0100)
committerAndrew Cooper <andrew.cooper3@citrix.com>
Thu, 9 Sep 2021 11:36:17 +0000 (12:36 +0100)
commit2e2e22c7d50392fa5cced3e0334b217426f48b7a
treef0e1fad1bc1c3555b598e698b2bdd2094af38a5e
parent3d189f16a11d5a209fb47fa3635847608d43745c
x86/svm: Intercept and terminate RDPRU with #UD

The RDPRU instruction isn't supported at all (and it is unclear how this can
ever be offered safely to guests).  However, a guest which ignores CPUID and
blindly executes RDPRU will find that it functions.

Use the intercept and terminate with #UD.  While at it, fold SKINIT into the
same "unconditionally disabled" path.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
xen/arch/x86/hvm/svm/svm.c
xen/arch/x86/hvm/svm/vmcb.c
xen/include/asm-x86/hvm/svm/vmcb.h