From mboxrd@z Thu Jan 1 00:00:00 1970 From: He Chen Subject: [PATCH V2] xen: support enabling SMEP/SMAP for HVM only Date: Thu, 11 Aug 2016 11:02:52 +0800 Message-ID: <1470884572-13272-1-git-send-email-he.chen@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Jan Beulich , Andrew Cooper Cc: Wu Feng , Wang Yong , Nakajima Jun , "xen-devel@lists.xen.org" List-Id: xen-devel@lists.xenproject.org RW5oYW5jZSAic21lcCIgYW5kICJzbWFwIiBjb21tYW5kIGxpbmUgb3B0aW9ucyB0byBzdXBwb3J0 IGVuYWJsaW5nIFNNRVAKb3IgU01BUCBmb3IgSFZNIG9ubHkgd2l0aCBhbGxvd2luZyAiaHZtIiBh cyBhIHZhbHVlLgoKU2lnbmVkLW9mZi1ieTogSGUgQ2hlbiA8aGUuY2hlbkBsaW51eC5pbnRlbC5j b20+Ci0tLQpDaGFuZ2VzIGluIFYyOgoqIEFsbG93ICJodm0iIGFzIGEgdmFsdWUgdG8gInNtZXAi IGFuZCAic21hcCIgY29tbWFuZCBsaW5lIG9wdGlvbnMuCiogQ2xlYXIgU01FUC9TTUFQIENQVUlE IGJpdHMgZm9yIHB2IGd1ZXN0cyBpZiB0aGV5IGFyZSBzZXQgdG8gaHZtIG9ubHkuCiogUmVmaW5l IGRvY3MuCiogUmV3cml0ZSBjb21taXQgbWVzc2FnZS4KLS0tCiBkb2NzL21pc2MveGVuLWNvbW1h bmQtbGluZS5tYXJrZG93biB8IDE0ICsrKysrLS0tLQogeGVuL2FyY2gveDg2L2NwdWlkLmMgICAg ICAgICAgICAgICAgfCAgNSArKysrCiB4ZW4vYXJjaC94ODYvc2V0dXAuYyAgICAgICAgICAgICAg ICB8IDU4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0KIHhlbi9pbmNsdWRl L2FzbS14ODYvc2V0dXAuaCAgICAgICAgIHwgIDMgKysKIDQgZmlsZXMgY2hhbmdlZCwgNjYgaW5z ZXJ0aW9ucygrKSwgMTQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZG9jcy9taXNjL3hlbi1j b21tYW5kLWxpbmUubWFya2Rvd24gYi9kb2NzL21pc2MveGVuLWNvbW1hbmQtbGluZS5tYXJrZG93 bgppbmRleCAzYTI1MGNiLi4wZTQ5MzU4IDEwMDY0NAotLS0gYS9kb2NzL21pc2MveGVuLWNvbW1h bmQtbGluZS5tYXJrZG93bgorKysgYi9kb2NzL21pc2MveGVuLWNvbW1hbmQtbGluZS5tYXJrZG93 bgpAQCAtMTQyNywxOSArMTQyNywyMSBAQCBlbmFibGluZyBtb3JlIHNvY2tldHMgYW5kIGNvcmVz IHRvIGdvIGludG8gZGVlcGVyIHNsZWVwIHN0YXRlcy4KIAogU2V0IHRoZSBzZXJpYWwgdHJhbnNt aXQgYnVmZmVyIHNpemUuCiAKLSMjIyBzbWVwCi0+IGA9IDxib29sZWFuPmAKKyMjIyBzbWFwCis+ IGA9IDxib29sZWFuPiB8IGh2bWAKIAogPiBEZWZhdWx0OiBgdHJ1ZWAKIAotRmxhZyB0byBlbmFi bGUgU3VwZXJ2aXNvciBNb2RlIEV4ZWN1dGlvbiBQcm90ZWN0aW9uCitGbGFnIHRvIGVuYWJsZSBT dXBlcnZpc29yIE1vZGUgQWNjZXNzIFByZXZlbnRpb24KK1VzaW5nIGBzbWFwPWh2bWAgdG8gZW5h YmxlIFNNQVAgZm9yIEhWTSBndWVzdHMgb25seS4KIAotIyMjIHNtYXAKLT4gYD0gPGJvb2xlYW4+ YAorIyMjIHNtZXAKKz4gYD0gPGJvb2xlYW4+IHwgaHZtYAogCiA+IERlZmF1bHQ6IGB0cnVlYAog Ci1GbGFnIHRvIGVuYWJsZSBTdXBlcnZpc29yIE1vZGUgQWNjZXNzIFByZXZlbnRpb24KK0ZsYWcg dG8gZW5hYmxlIFN1cGVydmlzb3IgTW9kZSBFeGVjdXRpb24gUHJvdGVjdGlvbgorVXNpbmcgYHNt ZXA9aHZtYCB0byBlbmFibGUgU01FUCBmb3IgSFZNIGd1ZXN0cyBvbmx5LgogCiAjIyMgc25iXF9p Z2RcX3F1aXJrCiA+IGA9IDxib29sZWFuPiB8IGNhcCB8IDxpbnRlZ2VyPmAKZGlmZiAtLWdpdCBh L3hlbi9hcmNoL3g4Ni9jcHVpZC5jIGIveGVuL2FyY2gveDg2L2NwdWlkLmMKaW5kZXggMzhlMzRi ZC4uYWZhMTZiOCAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2NwdWlkLmMKKysrIGIveGVuL2Fy Y2gveDg2L2NwdWlkLmMKQEAgLTQsNiArNCw3IEBACiAjaW5jbHVkZSA8YXNtL2h2bS9odm0uaD4K ICNpbmNsdWRlIDxhc20vaHZtL3ZteC92bWNzLmg+CiAjaW5jbHVkZSA8YXNtL3Byb2Nlc3Nvci5o PgorI2luY2x1ZGUgPGFzbS9zZXR1cC5oPgogCiBjb25zdCB1aW50MzJfdCBrbm93bl9mZWF0dXJl c1tdID0gSU5JVF9LTk9XTl9GRUFUVVJFUzsKIGNvbnN0IHVpbnQzMl90IHNwZWNpYWxfZmVhdHVy ZXNbXSA9IElOSVRfU1BFQ0lBTF9GRUFUVVJFUzsKQEAgLTExOCw2ICsxMTksMTAgQEAgc3RhdGlj IHZvaWQgX19pbml0IGNhbGN1bGF0ZV9wdl9mZWF0dXJlc2V0KHZvaWQpCiAgICAgX19zZXRfYml0 KFg4Nl9GRUFUVVJFX0hUVCwgcHZfZmVhdHVyZXNldCk7CiAgICAgX19zZXRfYml0KFg4Nl9GRUFU VVJFX1gyQVBJQywgcHZfZmVhdHVyZXNldCk7CiAgICAgX19zZXRfYml0KFg4Nl9GRUFUVVJFX0NN UF9MRUdBQ1ksIHB2X2ZlYXR1cmVzZXQpOworICAgIGlmICggc21lcF9odm1fb25seSApCisgICAg ICAgIF9fY2xlYXJfYml0KFg4Nl9GRUFUVVJFX1NNRVAsIHB2X2ZlYXR1cmVzZXQpOworICAgIGlm ICggc21hcF9odm1fb25seSApCisgICAgICAgIF9fY2xlYXJfYml0KFg4Nl9GRUFUVVJFX1NNQVAs IHB2X2ZlYXR1cmVzZXQpOwogCiAgICAgc2FuaXRpc2VfZmVhdHVyZXNldChwdl9mZWF0dXJlc2V0 KTsKIH0KZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9zZXR1cC5jIGIveGVuL2FyY2gveDg2L3Nl dHVwLmMKaW5kZXggMjE3Yzc3NS4uNjI1YjliNCAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3Nl dHVwLmMKKysrIGIveGVuL2FyY2gveDg2L3NldHVwLmMKQEAgLTYxLDEzICs2MSwxOSBAQCBib29s ZWFuX3BhcmFtKCJub3NtcCIsIG9wdF9ub3NtcCk7CiBzdGF0aWMgdW5zaWduZWQgaW50IF9faW5p dGRhdGEgbWF4X2NwdXM7CiBpbnRlZ2VyX3BhcmFtKCJtYXhjcHVzIiwgbWF4X2NwdXMpOwogCi0v KiBzbWVwOiBFbmFibGUvZGlzYWJsZSBTdXBlcnZpc29yIE1vZGUgRXhlY3V0aW9uIFByb3RlY3Rp b24gKGRlZmF1bHQgb24pLiAqLwotc3RhdGljIGJvb2xfdCBfX2luaXRkYXRhIG9wdF9zbWVwID0g MTsKLWJvb2xlYW5fcGFyYW0oInNtZXAiLCBvcHRfc21lcCk7Ci0KLS8qIHNtYXA6IEVuYWJsZS9k aXNhYmxlIFN1cGVydmlzb3IgTW9kZSBBY2Nlc3MgUHJldmVudGlvbiAoZGVmYXVsdCBvbikuICov Ci1zdGF0aWMgYm9vbF90IF9faW5pdGRhdGEgb3B0X3NtYXAgPSAxOwotYm9vbGVhbl9wYXJhbSgi c21hcCIsIG9wdF9zbWFwKTsKKy8qIFN1cGVydmlzb3IgTW9kZSBFeGVjdXRpb24gUHJvdGVjdGlv biAoZGVmYXVsdCBvbikuICovCisvKiAic21lcD1vbiI6IEVuYWJsZSBTTUVQIGZvciBYZW4gYW5k IGd1ZXN0cy4gICAgICAgICAqLworLyogInNtZXA9aHZtIjogRW5hYmxlIFNNRVAgZm9yIEhWTSBv bmx5LiAgICAgICAgICAgICAgKi8KKy8qICJzbWVwPW9mZiI6IERpc2FibGUgU01FUCBmb3IgWGVu IGFuZCBndWVzdHMuICAgICAgICovCitzdGF0aWMgdm9pZCBwYXJzZV9zbWVwX3BhcmFtKGNoYXIg KnMpOworY3VzdG9tX3BhcmFtKCJzbWVwIiwgcGFyc2Vfc21lcF9wYXJhbSk7CisKKy8qIFN1cGVy dmlzb3IgTW9kZSBBY2Nlc3MgUHJldmVudGlvbiAoZGVmYXVsdCBvbikuICovCisvKiAic21lcD1v biI6IEVuYWJsZSBTTUFQIGZvciBYZW4gYW5kIGd1ZXN0cy4gICAgICAqLworLyogInNtZXA9aHZt IjogRW5hYmxlIFNNQVAgZm9yIEhWTSBvbmx5LiAgICAgICAgICAgKi8KKy8qICJzbWVwPW9mZiI6 IERpc2FibGUgU01BUCBmb3IgWGVuIGFuZCBndWVzdHMuICAgICovCitzdGF0aWMgdm9pZCBwYXJz ZV9zbWFwX3BhcmFtKGNoYXIgKnMpOworY3VzdG9tX3BhcmFtKCJzbWFwIiwgcGFyc2Vfc21hcF9w YXJhbSk7CiAKIHVuc2lnbmVkIGxvbmcgX19yZWFkX21vc3RseSBjcjRfcHYzMl9tYXNrOwogCkBA IC0xMTEsNiArMTE3LDM0IEBAIHN0cnVjdCBjcHVpbmZvX3g4NiBfX3JlYWRfbW9zdGx5IGJvb3Rf Y3B1X2RhdGEgPSB7IDAsIDAsIDAsIDAsIC0xIH07CiAKIHVuc2lnbmVkIGxvbmcgX19yZWFkX21v c3RseSBtbXVfY3I0X2ZlYXR1cmVzID0gWEVOX01JTklNQUxfQ1I0OwogCitzdGF0aWMgYm9vbF90 IF9faW5pdGRhdGEgb3B0X3NtZXAgPSAxOworYm9vbF90IF9faW5pdGRhdGEgc21lcF9odm1fb25s eSA9IDA7CitzdGF0aWMgdm9pZCBfX2luaXQgcGFyc2Vfc21lcF9wYXJhbShjaGFyICpzKQorewor ICAgIGlmICggIXBhcnNlX2Jvb2wocykgKQorICAgIHsKKyAgICAgICAgb3B0X3NtZXAgPSAwOwor ICAgIH0KKyAgICBlbHNlIGlmICggIXN0cmNtcChzLCAiaHZtIikgKQorICAgIHsKKyAgICAgICAg c21lcF9odm1fb25seSA9IDE7CisgICAgfQorfQorCitzdGF0aWMgYm9vbF90IF9faW5pdGRhdGEg b3B0X3NtYXAgPSAxOworYm9vbF90IF9faW5pdGRhdGEgc21hcF9odm1fb25seSA9IDA7CitzdGF0 aWMgdm9pZCBfX2luaXQgcGFyc2Vfc21hcF9wYXJhbShjaGFyICpzKQoreworICAgIGlmICggIXBh cnNlX2Jvb2wocykgKQorICAgIHsKKyAgICAgICAgb3B0X3NtYXAgPSAwOworICAgIH0KKyAgICBl bHNlIGlmICggIXN0cmNtcChzLCAiaHZtIikgKQorICAgIHsKKyAgICAgICAgc21hcF9odm1fb25s eSA9IDE7CisgICAgfQorfQorCiBib29sX3QgX19yZWFkX21vc3RseSBhY3BpX2Rpc2FibGVkOwog Ym9vbF90IF9faW5pdGRhdGEgYWNwaV9mb3JjZTsKIHN0YXRpYyBjaGFyIF9faW5pdGRhdGEgYWNw aV9wYXJhbVsxMF0gPSAiIjsKQEAgLTE0MDQsMTIgKzE0MzgsMjAgQEAgdm9pZCBfX2luaXQgbm9y ZXR1cm4gX19zdGFydF94ZW4odW5zaWduZWQgbG9uZyBtYmlfcCkKICAgICBpZiAoICFvcHRfc21l cCApCiAgICAgICAgIHNldHVwX2NsZWFyX2NwdV9jYXAoWDg2X0ZFQVRVUkVfU01FUCk7CiAgICAg aWYgKCBjcHVfaGFzX3NtZXAgKQorICAgIHsKICAgICAgICAgc2V0X2luX2NyNChYODZfQ1I0X1NN RVApOworICAgICAgICBpZiAoIHNtZXBfaHZtX29ubHkgKQorICAgICAgICAgICAgd3JpdGVfY3I0 KHJlYWRfY3I0KCkgJiB+WDg2X0NSNF9TTUVQKTsKKyAgICB9CiAKICAgICBpZiAoICFvcHRfc21h cCApCiAgICAgICAgIHNldHVwX2NsZWFyX2NwdV9jYXAoWDg2X0ZFQVRVUkVfU01BUCk7CiAgICAg aWYgKCBjcHVfaGFzX3NtYXAgKQorICAgIHsKICAgICAgICAgc2V0X2luX2NyNChYODZfQ1I0X1NN QVApOworICAgICAgICBpZiAoIHNtYXBfaHZtX29ubHkgKQorICAgICAgICAgICAgd3JpdGVfY3I0 KHJlYWRfY3I0KCkgJiB+WDg2X0NSNF9TTUFQKTsKKyAgICB9CiAKICAgICBjcjRfcHYzMl9tYXNr ID0gbW11X2NyNF9mZWF0dXJlcyAmIFhFTl9DUjRfUFYzMl9CSVRTOwogCkBAIC0xNTcwLDcgKzE2 MTIsNyBAQCB2b2lkIF9faW5pdCBub3JldHVybiBfX3N0YXJ0X3hlbih1bnNpZ25lZCBsb25nIG1i aV9wKQogICAgICAgICAgICAgICAgICAgICAgICAgYm9vdHN0cmFwX21hcCwgY21kbGluZSkgIT0g MCkKICAgICAgICAgcGFuaWMoIkNvdWxkIG5vdCBzZXQgdXAgRE9NMCBndWVzdCBPUyIpOwogCi0g ICAgaWYgKCBjcHVfaGFzX3NtYXAgKQorICAgIGlmICggY3B1X2hhc19zbWFwICYmICFzbWFwX2h2 bV9vbmx5ICkKICAgICB7CiAgICAgICAgIHdyaXRlX2NyNChyZWFkX2NyNCgpIHwgWDg2X0NSNF9T TUFQKTsKICAgICAgICAgY3I0X3B2MzJfbWFzayB8PSBYODZfQ1I0X1NNQVA7CmRpZmYgLS1naXQg YS94ZW4vaW5jbHVkZS9hc20teDg2L3NldHVwLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L3NldHVw LmgKaW5kZXggYzY1Yjc5Yy4uYTBlNjlhZSAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4 Ni9zZXR1cC5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvc2V0dXAuaApAQCAtNTEsNiArNTEs OSBAQCB2b2lkIG1pY3JvY29kZV9ncmFiX21vZHVsZSgKIAogZXh0ZXJuIHVpbnQ4X3Qga2JkX3No aWZ0X2ZsYWdzOwogCitleHRlcm4gYm9vbF90IHNtZXBfaHZtX29ubHk7CitleHRlcm4gYm9vbF90 IHNtYXBfaHZtX29ubHk7CisKICNpZmRlZiBOREVCVUcKICMgZGVmaW5lIGhpZ2htZW1fc3RhcnQg MAogI2Vsc2UKLS0gCjEuOS4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9y ZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==