From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: Re: [PATCH 4/7] xen/arm32: Add skeleton to harden branch predictor aliasing attacks Date: Wed, 24 Jan 2018 15:54:33 -0800 (PST) Message-ID: References: <20180119134103.3390-1-julien.grall@linaro.org> <20180119134103.3390-5-julien.grall@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180119134103.3390-5-julien.grall@linaro.org> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Julien Grall Cc: sstabellini@kernel.org, andre.przywara@linaro.org, xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org T24gRnJpLCAxOSBKYW4gMjAxOCwgSnVsaWVuIEdyYWxsIHdyb3RlOgo+IEFsaWFzaW5nIGF0dGFj a2VkIGFnYWluc3QgQ1BVIGJyYW5jaCBwcmVkaWN0b3JzIGNhbiBhbGxvdyBhbiBhdHRhY2tlciB0 bwo+IHJlZGlyZWN0IHNwZWN1bGF0aXZlIGNvbnRyb2wgZmxvdyBvbiBzb21lIENQVXMgYW5kIHBv dGVudGlhbGx5IGRpdnVsZ2UKPiBpbmZvcm1hdGlvbiBmcm9tIG9uZSBjb250ZXh0IHRvIGFub3Ro ZXIuCj4gCj4gVGhpcyBwYXRjaCBhZGRzIGluaXRpYXRpYWwgc2tlbGV0b24gY29kZSBiZWhpbmQg YSBuZXcgS2NvbmZpZyBvcHRpb24KPiB0byBlbmFibGUgaW1wbGVtZW50YXRpb24tc3BlY2lmaWMg bWl0aWdhdGlvbnMgYWdhaW5zdCB0aGVzZSBhdHRhY2tzCj4gZm9yIENQVXMgdGhhdCBhcmUgYWZm ZWN0ZWQuCj4gCj4gTW9zdCBvZiBtaXRpZ2F0aW9ucyB3aWxsIGhhdmUgdG8gYmUgYXBwbGllZCB3 aGVuIGVudGVyaW5nIHRvIHRoZQo+IGh5cGVydmlzb3IgZnJvbSB0aGUgZ3Vlc3QgY29udGV4dC4K PiAKPiBCZWNhdXNlIHRoZSBhdHRhY2sgaXMgYWdhaW5zdCBicmFuY2ggcHJlZGljdG9yLCBpdCBp cyBub3QgcG9zc2libGUgdG8KPiBzYWZlbHkgdXNlIGJyYW5jaCBpbnN0cnVjdGlvbiBiZWZvcmUg dGhlIG1pdGlnYXRpb24gaXMgYXBwbGllZC4KPiBUaGVyZWZvcmUgdGhpcyBoYXMgdG8gYmUgZG9u ZSBpbiB0aGUgdmVjdG9yIGVudHJ5IGJlZm9yZSBqdW1wIHRvIHRoZQo+IGhlbHBlciBoYW5kbGlu ZyBhIGdpdmVuIGV4Y2VwdGlvbi4KPiAKPiBIb3dldmVyLCBvbiBhcm0zMiwgZWFjaCB2ZWN0b3Ig Y29udGFpbiBhIHNpbmdsZSBpbnN0cnVjdGlvbi4gVGhpcyBtZWFucwo+IHRoYXQgdGhlIGhhcmRl bmVkIHZlY3RvciB0YWJsZXMgbWF5IHJlbHkgb24gdGhlIHN0YXRlIG9mIHJlZ2lzdGVycyB0aGF0 Cj4gZG9lcyBub3QgaG9sZCB3aGVuIGluIHRoZSBoeXBlcnZpc29yIChlLmcgU1AgaXMgOCBieXRl cyBhbGlnbmVkKS4KPiBUaGVyZWZvcmUgaHlwZXJ2aXNvciBjb2RlIHJ1bm5pbmcgd2l0aCBndWVz dCB2ZWN0b3JzIHRhYmxlIHNob3VsZCBiZQo+IG1pbmltaXplZCBhbmQgYWx3YXlzIGhhdmUgaW50 ZXJydXB0cyBtYXNrZWQgdG8gcmVkdWNlIHRoZSByaXNrIHRvIHVzZQo+IHRoZW0uCj4gCj4gVGhp cyBwYXRjaCBwcm92aWRlcyBhbiBpbmZyYXN0cnVjdHVyZSB0byBzd2l0Y2ggdmVjdG9yIHRhYmxl cyBiZWZvcmUKPiBlbnRlcmluZyB0byB0aGUgZ3Vlc3QgYW5kIHdoZW4gbGVhdmluZyBpdC4KPiAK PiBOb3RlIHRoYXQgYWx0ZXJuYXRpdmUgY291bGQgaGF2ZSBiZWVuIHVzZWQsIGJ1dCBvbGRlciBY ZW4gKDQuOCBvcgo+IGVhcmxpZXIpIGRvZXNuJ3QgaGF2ZSBzdXBwb3J0LiBTbyBhdm9pZCB1c2lu ZyBhbHRlcm5hdGl2ZSB0byBlYXNlCj4gYmFja3BvcnRpbmcuCj4gCj4gVGhpcyBpcyBwYXJ0IG9m IFhTQS0yNTQuCj4gCj4gU2lnbmVkLW9mZi1ieTogSnVsaWVuIEdyYWxsIDxqdWxpZW4uZ3JhbGxA bGluYXJvLm9yZz4KCkkgb25seSBoYXZlIGEgY291cGxlIG9mIHF1ZXN0aW9ucy4gSXQgbG9va3Mg Z29vZC4KCgo+IC0tLQo+ICB4ZW4vYXJjaC9hcm0vS2NvbmZpZyAgICAgICB8ICAzICsrKwo+ICB4 ZW4vYXJjaC9hcm0vYXJtMzIvZW50cnkuUyB8IDQxICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKystCj4gIHhlbi9hcmNoL2FybS9jcHVlcnJhdGEuYyAgIHwgMzAgKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrCj4gIDMgZmlsZXMgY2hhbmdlZCwgNzMgaW5zZXJ0aW9u cygrKSwgMSBkZWxldGlvbigtKQo+IAo+IGRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vS2NvbmZp ZyBiL3hlbi9hcmNoL2FybS9LY29uZmlnCj4gaW5kZXggMDZmZDg1Y2M3Ny4uMjc4MmVlNjU4OSAx MDA2NDQKPiAtLS0gYS94ZW4vYXJjaC9hcm0vS2NvbmZpZwo+ICsrKyBiL3hlbi9hcmNoL2FybS9L Y29uZmlnCj4gQEAgLTE5MSw2ICsxOTEsOSBAQCBjb25maWcgSEFSREVOX0JSQU5DSF9QUkVESUNU T1IKPiAgY29uZmlnIEFSTTY0X0hBUkRFTl9CUkFOQ0hfUFJFRElDVE9SCj4gICAgICBkZWZfYm9v bCB5IGlmIEFSTV82NCAmJiBIQVJERU5fQlJBTkNIX1BSRURJQ1RPUgo+ICAKPiArY29uZmlnIEFS TTMyX0hBUkRFTl9CUkFOQ0hfUFJFRElDVE9SCj4gKyAgICBkZWZfYm9vbCB5IGlmIEFSTV8zMiAm JiBIQVJERU5fQlJBTkNIX1BSRURJQ1RPUgo+ICsKPiAgc291cmNlICJjb21tb24vS2NvbmZpZyIK PiAgCj4gIHNvdXJjZSAiZHJpdmVycy9LY29uZmlnIgo+IGRpZmYgLS1naXQgYS94ZW4vYXJjaC9h cm0vYXJtMzIvZW50cnkuUyBiL3hlbi9hcmNoL2FybS9hcm0zMi9lbnRyeS5TCj4gaW5kZXggYzJm YWQ1ZmU5Yi4uNTRhMTczM2Y4NyAxMDA2NDQKPiAtLS0gYS94ZW4vYXJjaC9hcm0vYXJtMzIvZW50 cnkuUwo+ICsrKyBiL3hlbi9hcmNoL2FybS9hcm0zMi9lbnRyeS5TCj4gQEAgLTM0LDYgKzM0LDIw IEBACj4gICAgICAgICAgYmxuZSBzYXZlX2d1ZXN0X3JlZ3MKPiAgCj4gIHNhdmVfZ3Vlc3RfcmVn czoKPiArI2lmZGVmIENPTkZJR19BUk0zMl9IQVJERU5fQlJBTkNIX1BSRURJQ1RPUgo+ICsgICAg ICAgIC8qCj4gKyAgICAgICAgICogUmVzdG9yZSB2ZWN0b3JzIHRhYmxlIHRvIHRoZSBkZWZhdWx0 IGFzIGl0IG1heSBoYXZlIGJlZW4KPiArICAgICAgICAgKiBjaGFuZ2VkIHdoZW4gcmV0dXJuaW5n IHRvIHRoZSBndWVzdCAoc2VlCj4gKyAgICAgICAgICogcmV0dXJuX3RvX2h5cGVydmlzb3IpLiBX ZSBuZWVkIHRvIGRvIHRoYXQgZWFybHkgKGUuZyBiZWZvcmUKPiArICAgICAgICAgKiBhbnkgaW50 ZXJydXB0cyBhcmUgdW5tYXNrZWQpIGJlY2F1c2UgaGFyZGVuZWQgdmVjdG9ycyByZXF1aXJlcwo+ ICsgICAgICAgICAqIFNQIHRvIGJlIDggYnl0ZXMgYWxpZ25lZC4gVGhpcyBkb2VzIG5vdCBob2xk IHdoZW4gcnVubmluZyBpbgo+ICsgICAgICAgICAqIHRoZSBoeXBlcnZpc29yLgo+ICsgICAgICAg ICAqLwo+ICsgICAgICAgIGxkciByMSwgPWh5cF90cmFwc192ZWN0b3IKPiArICAgICAgICBtY3Ig cDE1LCA0LCByMSwgYzEyLCBjMCwgMAo+ICsgICAgICAgIGlzYgo+ICsjZW5kaWYKPiArCj4gICAg ICAgICAgbGRyIHIxMSwgPTB4ZmZmZmZmZmYgIC8qIENsb2JiZXIgU1Agd2hpY2ggaXMgb25seSB2 YWxpZCBmb3IgaHlwZXJ2aXNvciBmcmFtZXMuICovCj4gICAgICAgICAgc3RyIHIxMSwgW3NwLCAj VVJFR1Nfc3BdCj4gICAgICAgICAgU0FWRV9PTkVfQkFOS0VEKFNQX3VzcikKPiBAQCAtMTc5LDEy ICsxOTMsMzcgQEAgcmV0dXJuX3RvX2d1ZXN0Ogo+ICAgICAgICAgIFJFU1RPUkVfT05FX0JBTktF RChSMTFfZmlxKTsgUkVTVE9SRV9PTkVfQkFOS0VEKFIxMl9maXEpOwo+ICAgICAgICAgIC8qIEZh bGwgdGhydSAqLwo+ICByZXR1cm5fdG9faHlwZXJ2aXNvcjoKPiAtICAgICAgICBjcHNpZCBpCj4g KyAgICAgICAgY3BzaWQgYWkKCldoeT8KCgo+ICAgICAgICAgIGxkciBsciwgW3NwLCAjVVJFR1Nf bHJdCj4gICAgICAgICAgbGRyIHIxMSwgW3NwLCAjVVJFR1NfcGNdCj4gICAgICAgICAgbXNyIEVM Ul9oeXAsIHIxMQo+ICAgICAgICAgIGxkciByMTEsIFtzcCwgI1VSRUdTX2Nwc3JdCj4gICAgICAg ICAgbXNyIFNQU1JfaHlwLCByMTEKPiArI2lmZGVmIENPTkZJR19BUk0zMl9IQVJERU5fQlJBTkNI X1BSRURJQ1RPUgo+ICsgICAgICAgIC8qCj4gKyAgICAgICAgICogSGFyZGVuaW5nIGJyYW5jaCBw cmVkaWN0b3IgbWF5IHJlcXVpcmUgdG8gc2V0dXAgYSBkaWZmZXJlbnQKPiArICAgICAgICAgKiB2 ZWN0b3IgdGFibGVzIGJlZm9yZSByZXR1cm5pbmcgdG8gdGhlIGd1ZXN0cy4gVGhvc2UgdmVjdG9y cwo+ICsgICAgICAgICAqIG1heSByZWx5IG9uIHRoZSBzdGF0ZSBvZiByZWdpc3RlcnMgdGhhdCBk b2VzIG5vdCBob2xkIHdoZW4KPiArICAgICAgICAgKiBydW5uaW5nIGluIHRoZSBoeXBlcnZpc29y IChlLmcgU1AgaXMgOCBieXRlcyBhbGlnbmVkKS4gU28gc2V0dXAKPiArICAgICAgICAgKiBIVkJB UiB2ZXJ5IGxhdGUuCj4gKyAgICAgICAgICoKPiArICAgICAgICAgKiBEZWZhdWx0IHZlY3RvcnMg dGFibGUgd2lsbCBiZSByZXN0b3JlZCBvbiBleGl0IChzZWUKPiArICAgICAgICAgKiBzYXZlX2d1 ZXN0X3JlZ3MpLgo+ICsgICAgICAgICAqLwo+ICsgICAgICAgIG1vdiByOSwgIzAgICAgICAgICAg ICAgICAgICAgICAgLyogdmVjdG9yIHRhYmxlcyA9IE5VTEwgKi8KPiArICAgICAgICAvKgo+ICsg ICAgICAgICAqIExvYWQgdmVjdG9yIHRhYmxlcyBwb2ludGVyIGZyb20gdGhlIHBlci1jcHUgYnBf aGFyZGVuX3ZlY3MKPiArICAgICAgICAgKiB3aGVuIHJldHVybmluZyB0byB0aGUgZ3Vlc3Qgb25s eS4KPiArICAgICAgICAgKi8KPiArICAgICAgICBhbmQgcjExLCAjUFNSX01PREVfTUFTSwo+ICsg ICAgICAgIGNtcCByMTEsICNQU1JfTU9ERV9IWVAKPiArICAgICAgICBsZHJuZSByMTEsID1wZXJf Y3B1X19icF9oYXJkZW5fdmVjcwo+ICsgICAgICAgIG1yY25lIHAxNSwgNCwgcjEwLCBjMTMsIGMw LCAyICAgLyogcjEwID0gcGVyLWNwdSBvZmZzZXQgKEhUUElEUikgKi8KPiArICAgICAgICBhZGRu ZSByMTEsIHIxMSwgcjEwICAgICAgICAgICAgIC8qIHIxMSA9IG9mZnNldCBvZiB0aGUgdmVjdG9y IHRhYmxlcyAqLwo+ICsgICAgICAgIGxkcm5lIHI5LCBbcjExXSAgICAgICAgICAgICAgICAgLyog cjkgID0gdmVjdG9yIHRhYmxlcyAqLwo+ICsgICAgICAgIGNtcCByOSwgIzAgICAgICAgICAgICAg ICAgICAgICAgLyogT25seSB1cGRhdGUgSFZCQVIgd2hlbiB0aGUgdmVjdG9yICovCj4gKyAgICAg ICAgbWNybmUgcDE1LCA0LCByOSwgYzEyLCBjMCwgMCAgICAvKiB0YWJsZXMgaXMgbm90IE5VTEwu ICovCgpEbyB3ZSBuZWVkL3dhbnQgYW4gaXNiIGhlcmU/IE9yIG1heWJlIGl0IGlzIG5vdCBuZWNl c3NhcnkgYmVjYXVzZSB3ZSBhcmUKYWJvdXQgdG8gZXJldD8KCgo+ICsjZW5kaWYKPiAgICAgICAg ICBwb3Age3IwLXIxMn0KPiAgICAgICAgICBhZGQgc3AsICMoVVJFR1NfU1BfdXNyIC0gVVJFR1Nf c3ApOyAvKiBTUCwgTFIsIFNQU1IsIFBDICovCj4gICAgICAgICAgY2xyZXgKPiBkaWZmIC0tZ2l0 IGEveGVuL2FyY2gvYXJtL2NwdWVycmF0YS5jIGIveGVuL2FyY2gvYXJtL2NwdWVycmF0YS5jCj4g aW5kZXggZjFlYTdmM2M1Yi4uMGExMzhmYTczNSAxMDA2NDQKPiAtLS0gYS94ZW4vYXJjaC9hcm0v Y3B1ZXJyYXRhLmMKPiArKysgYi94ZW4vYXJjaC9hcm0vY3B1ZXJyYXRhLmMKPiBAQCAtMTcwLDYg KzE3MCwzNiBAQCBzdGF0aWMgaW50IGVuYWJsZV9wc2NpX2JwX2hhcmRlbmluZyh2b2lkICpkYXRh KQo+ICAKPiAgI2VuZGlmIC8qIENPTkZJR19BUk02NF9IQVJERU5fQlJBTkNIX1BSRURJQ1RPUiAq Lwo+ICAKPiArLyogSGFyZGVuaW5nIEJyYW5jaCBwcmVkaWN0b3IgY29kZSBmb3IgQXJtMzIgKi8K PiArI2lmZGVmIENPTkZJR19BUk0zMl9IQVJERU5fQlJBTkNIX1BSRURJQ1RPUgo+ICsKPiArLyoK PiArICogUGVyLUNQVSB2ZWN0b3IgdGFibGVzIHRvIHVzZSB3aGVuIHJldHVybmluZyB0byB0aGUg Z3Vlc3RzLiBUaGV5IHdpbGwKPiArICogb25seSBiZSB1c2VkIG9uIHBsYXRmb3JtIHJlcXVpcmlu ZyB0byBoYXJkZW4gdGhlIGJyYW5jaCBwcmVkaWN0b3IuCj4gKyAqLwo+ICtERUZJTkVfUEVSX0NQ VV9SRUFEX01PU1RMWShjb25zdCBjaGFyICosIGJwX2hhcmRlbl92ZWNzKTsKPiArCj4gK2V4dGVy biBjaGFyIGh5cF90cmFwc192ZWN0b3JfYnBfaW52W107Cj4gKwo+ICtzdGF0aWMgdm9pZCBfX21h eWJlX3VudXNlZAo+ICtpbnN0YWxsX2JwX2hhcmRlbmluZ192ZWNzKGNvbnN0IHN0cnVjdCBhcm1f Y3B1X2NhcGFiaWxpdGllcyAqZW50cnksCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29u c3QgY2hhciAqaHlwX3ZlY3MsIGNvbnN0IGNoYXIgKmRlc2MpCj4gK3sKPiArICAgIC8qCj4gKyAg ICAgKiBFbmFibGUgY2FsbGJhY2tzIGFyZSBjYWxsZWQgb24gZXZlcnkgQ1BVIGJhc2VkIG9uIHRo ZQo+ICsgICAgICogY2FwYWJpbGl0aWVzLiBTbyBkb3VibGUtY2hlY2sgd2hldGhlciB0aGUgQ1BV IG1hdGNoZXMgdGhlCj4gKyAgICAgKiBlbnRyeS4KPiArICAgICAqLwo+ICsgICAgaWYgKCAhZW50 cnktPm1hdGNoZXMoZW50cnkpICkKPiArICAgICAgICByZXR1cm47Cj4gKwo+ICsgICAgcHJpbnRr KFhFTkxPR19JTkZPICJDUFUldSB3aWxsICVzIG9uIGd1ZXN0IGV4aXRcbiIsCj4gKyAgICAgICAg ICAgc21wX3Byb2Nlc3Nvcl9pZCgpLCBkZXNjKTsKPiArICAgIHRoaXNfY3B1KGJwX2hhcmRlbl92 ZWNzKSA9IGh5cF92ZWNzOwo+ICt9Cj4gKwo+ICsjZW5kaWYKPiArCj4gICNkZWZpbmUgTUlEUl9S QU5HRShtb2RlbCwgbWluLCBtYXgpICAgICBcCj4gICAgICAubWF0Y2hlcyA9IGlzX2FmZmVjdGVk X21pZHJfcmFuZ2UsICBcCj4gICAgICAubWlkcl9tb2RlbCA9IG1vZGVsLCAgICAgICAgICAgICAg ICBcCj4gLS0gCj4gMi4xMS4wCj4gCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5w cm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8v eGVuLWRldmVs