From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Garnier Subject: [PATCH v4 4/4] KVM: VMX: Simplify segment_base Date: Thu, 16 Feb 2017 13:54:38 -0800 Message-ID: <20170216215438.126111-4-thgarnie__47745.5310909592$1487282151$gmane$org@google.com> References: <20170216215438.126111-1-thgarnie@google.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta5.messagelabs.com ([195.245.231.135]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ceU0q-0006P6-VM for xen-devel@lists.xenproject.org; Thu, 16 Feb 2017 21:54:53 +0000 Received: by mail-pf0-f182.google.com with SMTP id 189so8253175pfu.3 for ; Thu, 16 Feb 2017 13:54:50 -0800 (PST) In-Reply-To: <20170216215438.126111-1-thgarnie@google.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Thomas Gleixner , Ingo Molnar , "H . Peter Anvin" , Jonathan Corbet , Thomas Garnier , Kees Cook , Lorenzo Stoakes , Juergen Gross , Andy Lutomirski , "Rafael J . Wysocki" , Len Brown , Pavel Machek , Jiri Kosina , Matt Fleming , Ard Biesheuvel , Boris Ostrovsky , Rusty Russell , Borislav Petkov , Christian Borntraeger , Brian Gerst , He Chen , "Luis R . Rodriguez" , Stanislaw Gruszka , Arnd Bergmann Cc: linux-efi@vger.kernel.org, kvm@vger.kernel.org, linux-pm@vger.kernel.org, x86@kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, lguest@lists.ozlabs.org, kernel-hardening@lists.openwall.com, xen-devel@lists.xenproject.org List-Id: xen-devel@lists.xenproject.org VGhlIEtWTSBzZWdtZW50X2Jhc2UgZnVuY3Rpb24gaXMgY29uZnVzaW5nLiBUaGlzIHBhdGNoIHJl cGxhY2VzIGludGVnZXJzCndpdGggYXBwcm9wcmlhdGUgZmxhZ3MsIHNpbXBsaWZ5IGNvbnN0cnVj dHMgYW5kIGFkZCBjb21tZW50cy4KClNpZ25lZC1vZmYtYnk6IFRob21hcyBHYXJuaWVyIDx0aGdh cm5pZUBnb29nbGUuY29tPgotLS0KQmFzZWQgb24gbmV4dC0yMDE3MDIxMwotLS0KIGFyY2gveDg2 L2t2bS92bXguYyB8IDMwICsrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLQogMSBmaWxlIGNo YW5nZWQsIDIwIGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Fy Y2gveDg2L2t2bS92bXguYyBiL2FyY2gveDg2L2t2bS92bXguYwppbmRleCA5OTE2N2YyMGJjMzQu LjkxZTYxOTI2OTEyOCAxMDA2NDQKLS0tIGEvYXJjaC94ODYva3ZtL3ZteC5jCisrKyBiL2FyY2gv eDg2L2t2bS92bXguYwpAQCAtMjA2MCwyNyArMjA2MCwzNyBAQCBzdGF0aWMgYm9vbCB1cGRhdGVf dHJhbnNpdGlvbl9lZmVyKHN0cnVjdCB2Y3B1X3ZteCAqdm14LCBpbnQgZWZlcl9vZmZzZXQpCiBz dGF0aWMgdW5zaWduZWQgbG9uZyBzZWdtZW50X2Jhc2UodTE2IHNlbGVjdG9yKQogewogCXN0cnVj dCBkZXNjX3N0cnVjdCAqZDsKLQl1bnNpZ25lZCBsb25nIHRhYmxlX2Jhc2U7CisJc3RydWN0IGRl c2Nfc3RydWN0ICp0YWJsZV9iYXNlOwogCXVuc2lnbmVkIGxvbmcgdjsKKwl1MzIgaGlnaDMyOwog Ci0JaWYgKCEoc2VsZWN0b3IgJiB+MykpCisJaWYgKCEoc2VsZWN0b3IgJiB+U0VHTUVOVF9SUExf TUFTSykpCiAJCXJldHVybiAwOwogCi0JdGFibGVfYmFzZSA9IGdldF9jdXJyZW50X2dkdF9yd192 YWRkcigpOwotCi0JaWYgKHNlbGVjdG9yICYgNCkgeyAgICAgICAgICAgLyogZnJvbSBsZHQgKi8K KwkvKiBMRFQgc2VsZWN0b3IgKi8KKwlpZiAoKHNlbGVjdG9yICYgU0VHTUVOVF9USV9NQVNLKSA9 PSBTRUdNRU5UX0xEVCkgewogCQl1MTYgbGR0X3NlbGVjdG9yID0ga3ZtX3JlYWRfbGR0KCk7CiAK LQkJaWYgKCEobGR0X3NlbGVjdG9yICYgfjMpKQorCQlpZiAoIShsZHRfc2VsZWN0b3IgJiB+U0VH TUVOVF9SUExfTUFTSykpCiAJCQlyZXR1cm4gMDsKIAotCQl0YWJsZV9iYXNlID0gc2VnbWVudF9i YXNlKGxkdF9zZWxlY3Rvcik7CisJCXRhYmxlX2Jhc2UgPSAoc3RydWN0IGRlc2Nfc3RydWN0ICop c2VnbWVudF9iYXNlKGxkdF9zZWxlY3Rvcik7CisJfSBlbHNlIHsKKwkJdGFibGVfYmFzZSA9IGdl dF9jdXJyZW50X2dkdF9ydygpOwogCX0KLQlkID0gKHN0cnVjdCBkZXNjX3N0cnVjdCAqKSh0YWJs ZV9iYXNlICsgKHNlbGVjdG9yICYgfjcpKTsKKworCWQgPSB0YWJsZV9iYXNlICsgKHNlbGVjdG9y ID4+IDMpOwogCXYgPSBnZXRfZGVzY19iYXNlKGQpOwogI2lmZGVmIENPTkZJR19YODZfNjQKLSAg ICAgICBpZiAoZC0+cyA9PSAwICYmIChkLT50eXBlID09IDIgfHwgZC0+dHlwZSA9PSA5IHx8IGQt PnR5cGUgPT0gMTEpKQotICAgICAgICAgICAgICAgdiB8PSAoKHVuc2lnbmVkIGxvbmcpKChzdHJ1 Y3QgbGR0dHNzX2Rlc2M2NCAqKWQpLT5iYXNlMykgPDwgMzI7CisJLyoKKwkgKiBFeHRlbmQgdGhl IHZpcnR1YWwgYWRkcmVzcyBpZiB3ZSBoYXZlIGEgc3lzdGVtIGRlc2NyaXB0b3IgZW50cnkgZm9y CisJICogTERUIG9yIFRTUyAoYXZhaWxhYmxlIG9yIGJ1c3kpLgorCSAqLworCWlmIChkLT5zID09 IDAgJiYgKGQtPnR5cGUgPT0gREVTQ19MRFQgfHwgZC0+dHlwZSA9PSBERVNDX1RTUyB8fAorCQkJ ICBkLT50eXBlID09IDExLypCdXN5IFRTUyAqLykpIHsKKwkJaGlnaDMyID0gKChzdHJ1Y3QgbGR0 dHNzX2Rlc2M2NCAqKWQpLT5iYXNlMzsKKwkJdiB8PSAodTY0KWhpZ2gzMiA8PCAzMjsKKwl9CiAj ZW5kaWYKIAlyZXR1cm4gdjsKIH0KLS0gCjIuMTEuMC40ODMuZzA4N2RhN2I3Yy1nb29nCgoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1h aWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcv eGVuLWRldmVsCg==