From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: Re: [PATCH 2/3 v2] x86emul: conditionally clear BNDn for branches Date: Wed, 4 Jan 2017 21:11:14 +0000 Message-ID: <61dec6f8-f7f1-f9da-d586-17e42f4bcf0e@citrix.com> References: <584E7E320200007800127D69@prv-mh.provo.novell.com> <584E83420200007800127DD3@prv-mh.provo.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cOsq5-00028R-NU for xen-devel@lists.xenproject.org; Wed, 04 Jan 2017 21:11:17 +0000 In-Reply-To: <584E83420200007800127DD3@prv-mh.provo.novell.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Jan Beulich , xen-devel List-Id: xen-devel@lists.xenproject.org T24gMTIvMTIvMTYgMTA6MDAsIEphbiBCZXVsaWNoIHdyb3RlOgo+IEBAIC0xNzkxLDYgKzE3OTUs MzQgQEAgc3RhdGljIGludCBpbmplY3Rfc3dpbnQoZW51bSB4ODZfc3dpbnRfdAo+ICAgICAgZ2Vu ZXJhdGVfZXhjZXB0aW9uKGZhdWx0X3R5cGUsIGVycm9yX2NvZGUpOwo+ICB9Cj4gIAo+ICtzdGF0 aWMgdm9pZCBjbGVhcl9ibmQoc3RydWN0IHg4Nl9lbXVsYXRlX2N0eHQgKmN0eHQsCj4gKyAgICAg ICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgeDg2X2VtdWxhdGVfb3BzICpvcHMsIGVudW0g dmV4X3BmeCBwZngpCgpBcyB3aXRoIHJlZ2lzdGVyX2FkZHJlc3NfYWRqdXN0KCksIHRoaXMgd291 bGQgYmUgYmV0dGVyIGFzIGFkanVzdF9ibmQoKQphcyB3ZSBkb24ndCBuZWNlc3NhcmlseSBjbGVh ciB0aGVtLgoKPiArewo+ICsgICAgdWludDY0X3QgYm5kY2ZnOwo+ICsgICAgaW50IHJjOwo+ICsK PiArICAgIGlmICggcGZ4ID09IHZleF9mMiB8fCAhdmNwdV9oYXNfbXB4KCkgKQoKVGhpcyBpcyBh biBhd2t3YXJkIGVkZ2VjYXNlIG9mIHRoZSBydWxlcyBjb25jZXJuaW5nIHRoZSBob3N0XyB2YXJp YW50cywKYnV0IHdlIHdpbGwgdGFrZSBhIGZhdWx0IGZyb20geHNhdmUveHJzdG9yIGZvciB1c2lu ZyBYU1RBVEVfQk5EKiBpZiB0aGUKaG9zdCBkb2Vzbid0IHN1cHBvcnQgTVBYLgoKPiArICAgICAg ICByZXR1cm47Cj4gKwo+ICsgICAgaWYgKCAhbW9kZV9yaW5nMCgpICkKPiArICAgICAgICBibmRj ZmcgPSByZWFkX2JuZGNmZ3UoKTsKPiArICAgIGVsc2UgaWYgKCAhb3BzLT5yZWFkX21zciB8fAo+ ICsgICAgICAgICAgICAgIG9wcy0+cmVhZF9tc3IoTVNSX0JORENGR1MsICZibmRjZmcsIGN0eHQp ICE9IFg4NkVNVUxfT0tBWSApCj4gKyAgICAgICAgcmV0dXJuOwo+ICsgICAgaWYgKCAoYm5kY2Zn ICYgQk5EQ0ZHX0VOQUJMRSkgJiYgIShibmRjZmcgJiBCTkRDRkdfUFJFU0VSVkUpICkKPiArICAg IHsKPiArICAgICAgICAvKgo+ICsgICAgICAgICAqIFVzaW5nIEJORE1LIG9yIGFueSBvdGhlciBN UFggaW5zdHJ1Y3Rpb24gaGVyZSBpcyBwb2ludGxlc3MsIGFzCj4gKyAgICAgICAgICogd2UgcnVu IHdpdGggTVBYIGRpc2FibGVkIG91cnNlbHZlcywgYW5kIGhlbmNlIHRoZXkncmUgYWxsIG5vLW9w cy4KPiArICAgICAgICAgKiBUaGVyZWZvcmUgd2UgaGF2ZSB0d28gd2F5cyB0byBjbGVhciBCTkRu OiBFbmFibGUgTVBYIHRlbXBvcmFyaWx5Cj4gKyAgICAgICAgICogKGluIHdoaWNoIGNhc2UgZXhl Y3V0aW5nIGFueSBzdWl0YWJsZSBub24tcHJlZml4ZWQgYnJhbmNoCj4gKyAgICAgICAgICogaW5z dHJ1Y3Rpb24gd291bGQgZG8pLCBvciB1c2UgWFJTVE9SLgo+ICsgICAgICAgICAqLwo+ICsgICAg ICAgIHhzdGF0ZV9zZXRfaW5pdChYU1RBVEVfQk5EUkVHUyk7Cj4gKyAgICB9Cj4gKyBkb25lOjsK PiArfQo+ICsKPiAgaW50IHg4NmVtdWxfdW5oYW5kbGVhYmxlX3J3KAo+ICAgICAgZW51bSB4ODZf c2VnbWVudCBzZWcsCj4gICAgICB1bnNpZ25lZCBsb25nIG9mZnNldCwKPiAtLS0gYS94ZW4vYXJj aC94ODYveHN0YXRlLmMKPiArKysgYi94ZW4vYXJjaC94ODYveHN0YXRlLmMKPiBAQCAtNzIzLDYg Kzc0MSw2NiBAQCBpbnQgaGFuZGxlX3hzZXRidih1MzIgaW5kZXgsIHU2NCBuZXdfYnYpCj4gICAg ICByZXR1cm4gMDsKPiAgfQo+ICAKPiArdWludDY0X3QgcmVhZF9ibmRjZmd1KHZvaWQpCj4gK3sK PiArICAgIHVuc2lnbmVkIGxvbmcgY3IwID0gcmVhZF9jcjAoKTsKPiArICAgIHN0cnVjdCB4c2F2 ZV9zdHJ1Y3QgKnhzdGF0ZQo+ICsgICAgICAgID0gaWRsZV92Y3B1W3NtcF9wcm9jZXNzb3JfaWQo KV0tPmFyY2gueHNhdmVfYXJlYTsKPiArICAgIGNvbnN0IHN0cnVjdCB4c3RhdGVfYm5kY3NyICpi bmRjc3I7Cj4gKwo+ICsgICAgQVNTRVJUKGNwdV9oYXNfbXB4KTsKPiArICAgIGNsdHMoKTsKPiAr Cj4gKyAgICBpZiAoIGNwdV9oYXNfeHNhdmVjICkKPiArICAgIHsKPiArICAgICAgICBhc20gKCAi LmJ5dGUgMHgwZiwweGM3LDB4MjdcbiIgLyogeHNhdmVjICovCj4gKyAgICAgICAgICAgICAgOiAi PW0iICgqeHN0YXRlKQo+ICsgICAgICAgICAgICAgIDogImEiIChYU1RBVEVfQk5EQ1NSKSwgImQi ICgwKSwgIkQiICh4c3RhdGUpICk7Cj4gKwo+ICsgICAgICAgIGJuZGNzciA9ICh2b2lkICopKHhz dGF0ZSArIDEpOwo+ICsgICAgfQo+ICsgICAgZWxzZQo+ICsgICAgewo+ICsgICAgICAgIGFsdGVy bmF0aXZlX2lvKCIuYnl0ZSAweDBmLDB4YWUsMHgyN1xuIiwgLyogeHNhdmUgKi8KPiArICAgICAg ICAgICAgICAgICAgICAgICAiLmJ5dGUgMHgwZiwweGFlLDB4MzdcbiIsIC8qIHhzYXZlb3B0ICov Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgWDg2X0ZFQVRVUkVfWFNBVkVPUFQsCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgIj1tIiAoKnhzdGF0ZSksCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgImEiIChYU1RBVEVfQk5EQ1NSKSwgImQiICgwKSwgIkQiICh4c3RhdGUpKTsKCkkgYW0gbm90 IGNlcnRhaW4gdGhpcyBpcyBzYWZlLiAgeHNhdmVvcHQgaGFzIGFuIGV4dHJhIG9wdGltaXNhdGlv biB0byBkbwp3aXRoIHdoZXRoZXIgdGhlIHN0YXRlIGhhcyBiZWVuIGludGVybmFsbHkgbW9kaWZp ZWQuICBCZWNhdXNlIHdlIHVzZSBhbgp4c2F2ZSBhcmVhIGZyb20gdGhlIGlkbGUgdmNwdSwgSSBj YW4ndCBzZWUgYW55dGhpbmcgd2hpY2ggcHJldmVudHMgdGhlCkxBWEEgKGxpbmVhciBhZGRyZXNz IG9mIFhTQVZFIGFyZWEpIG9wdGltaXNhdGlvbiBraWNraW5nIGluLCBjYXVzaW5nIHVzCnRvIG9i c2VydmUgYSB6ZXJvIGluIHhzdGF0ZV9idiBkZXNwaXRlIEJORENTUiBoYXZpbmcgYSBub24temVy byB2YWx1ZQpsb2FkZWQgaW4gaGFyZHdhcmUuCgo+ICsKPiArICAgICAgICBibmRjc3IgPSAodm9p ZCAqKXhzdGF0ZSArIHhzdGF0ZV9vZmZzZXRzW19YU1RBVEVfQk5EQ1NSXTsKPiArICAgIH0KPiAr Cj4gKyAgICBpZiAoIGNyMCAmIFg4Nl9DUjBfVFMgKQo+ICsgICAgICAgIHdyaXRlX2NyMChjcjAp Owo+ICsKPiArICAgIHJldHVybiB4c3RhdGUtPnhzYXZlX2hkci54c3RhdGVfYnYgJiBYU1RBVEVf Qk5EQ1NSID8gYm5kY3NyLT5ibmRjZmd1IDogMDsKPiArfQo+ICsKPiArdm9pZCB4c3RhdGVfc2V0 X2luaXQodWludDY0X3QgbWFzaykKPiArewo+ICsgICAgdW5zaWduZWQgbG9uZyBjcjAgPSByZWFk X2NyMCgpOwo+ICsgICAgdW5zaWduZWQgbG9uZyB4Y3IwID0gdGhpc19jcHUoeGNyMCk7Cj4gKyAg ICBzdHJ1Y3QgdmNwdSAqdiA9IGlkbGVfdmNwdVtzbXBfcHJvY2Vzc29yX2lkKCldOwo+ICsgICAg c3RydWN0IHhzYXZlX3N0cnVjdCAqeHN0YXRlID0gdi0+YXJjaC54c2F2ZV9hcmVhOwo+ICsKPiAr ICAgIGlmICggfnhmZWF0dXJlX21hc2sgJiBtYXNrICkKPiArICAgICAgICByZXR1cm47CgpBcyB0 aGUgZnVuY3Rpb24gaXMgdm9pZCwgdGhpcyBzaG91bGQgYmUgYW4gQVNTRVJUIG9yIEJVRy4gIElN TywgaXQgaXMgYQpjYWxsZXIgZXJyb3IgdG8gYXNrIGZvciBhIGZlYXR1cmUgdG8gYmUgcmVzZXQg Zm9yIGhhcmR3YXJlIHdoaWNoIGRvZXNuJ3QKc3VwcG9ydCB0aGUgcmVxdWVzdGVkIHN0YXRlLgoK PiArCj4gKyAgICBpZiAoICh+eGNyMCAmIG1hc2spICYmICFzZXRfeGNyMCh4Y3IwIHwgbWFzaykg KQo+ICsgICAgICAgIHJldHVybjsKPiArCj4gKyAgICBjbHRzKCk7Cj4gKwo+ICsgICAgbWVtc2V0 KCZ4c3RhdGUtPnhzYXZlX2hkciwgMCwgc2l6ZW9mKHhzdGF0ZS0+eHNhdmVfaGRyKSk7Cj4gKyAg ICB4cnN0b3IodiwgbWFzayk7Cj4gKwo+ICsgICAgaWYgKCBjcjAgJiBYODZfQ1IwX1RTICkKPiAr ICAgICAgICB3cml0ZV9jcjAoY3IwKTsKPiArCj4gKyAgICBpZiAoIH54Y3IwICYgbWFzayApCj4g KyAgICAgICAgeHNldGJ2KFhDUl9YRkVBVFVSRV9FTkFCTEVEX01BU0ssIHhjcjApOwoKU2hvdWxk bid0IHRoaXMgYmUgc2V0X3hjcjAoKSBhZ2FpbiwgdG8gdW5kbyB0aGUgcG9zc2libGUgY2xvYmJl cmluZyBvZgp0aGlzX2NwdSh4Y3IwKSA/Cgp+QW5kcmV3CgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZl bEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK