x86/VMX: prevent INVVPID failure due to non-canonical guest address
authorJan Beulich <jbeulich@suse.com>
Wed, 20 Jan 2016 12:50:10 +0000 (13:50 +0100)
committerJan Beulich <jbeulich@suse.com>
Wed, 20 Jan 2016 12:50:10 +0000 (13:50 +0100)
commitbf05e88ed7342a91cceba050b6c622accb809842
tree2796ab74c4520a2d0f186ec37e84676ed99191ac
parent47abf29a9255b2e7b94e56d66b455d0a584b68b8
x86/VMX: prevent INVVPID failure due to non-canonical guest address

While INVLPG (and on SVM INVLPGA) don't fault on non-canonical
addresses, INVVPID fails (in the "individual address" case) when passed
such an address.

Since such intercepted INVLPG are effectively no-ops anyway, don't fix
this in vmx_invlpg_intercept(), but instead have paging_invlpg() never
return true in such a case.

This is CVE-2016-1571 / XSA-168.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
xen/include/asm-x86/paging.h