From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH for-4.11] x86/spec_ctrl: Updates to retpoline-safety decision making Date: Wed, 18 Apr 2018 19:13:01 +0100 Message-ID: <1524075181-7493-1-git-send-email-andrew.cooper3@citrix.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.xenproject.org Sender: "Xen-devel" To: Xen-devel Cc: Juergen Gross , Andrew Cooper , Jan Beulich List-Id: xen-devel@lists.xenproject.org QWxsIG9mIHRoaXMgaXMgYXMgcmVjb21tZW5kZWQgYnkgdGhlIEludGVsIHdoaXRlcGFwZXI6Cgpo dHRwczovL3NvZnR3YXJlLmludGVsLmNvbS9zaXRlcy9kZWZhdWx0L2ZpbGVzL21hbmFnZWQvMWQv NDYvUmV0cG9saW5lLUEtQnJhbmNoLVRhcmdldC1JbmplY3Rpb24tTWl0aWdhdGlvbi5wZGYKClRo ZSBSU0ItYWx0ZXJuYXRpdmUgYml0IGluIE1TUl9BUkNIX0NBUEFCSUxJVElFUyBtYXkgYmUgc2V0 IGJ5IGEgaHlwZXJ2aXNvciB0bwppbmRpY2F0ZSB0aGF0IHRoZSB2aXJ0dWFsIG1hY2hpbmUgbWF5 IG1pZ3JhdGUgdG8gYSBwcm9jZXNzb3Igd2hpY2ggaXNuJ3QKcmV0cG9saW5lLXNhZmUuICBJbnRy b2R1Y2UgYSBzaG9ydGVuZWQgbmFtZSAodG8gcmVkdWNlIGNvZGUgdm9sdW1lKSwgdHJlYXQgaXQK YXMgYXV0aG9yYXRpdmUgaW4gcmV0cG9saW5lX3NhZmUoKSwgYW5kIHByaW50IGl0cyB2YWx1ZSBh bG9uZyB3aXRoIHRoZSBvdGhlcgpBUkNIX0NBUFMgYml0cy4KClRoZSBleGFjdCBwcm9jZXNzb3Ig bW9kZWxzIHdoaWNoIGRvIGhhdmUgUlNCIHNlbWFudGljcyB3aGljaCBmYWxsIGJhY2sgdG8gQlRC CnByZWRpY3Rpb25zIGFyZSBlbnVtZXJhdGVkLCBhbmQgaW5jbHVkZSBLYWJ5bGFrZSBhbmQgQ2Fu bm9ubGFrZS4gIExlYXZlIGEKcHJpbnRrKCkgaW4gdGhlIGRlZmF1bHQgY2FzZSB0byBoZWxwIGlk ZW50aWZ5IGNhc2VzIHdoaWNoIGFyZW4ndCBjb3ZlcmVkLgoKVGhlIGV4YWN0IG1pY3JvY29kZSB2 ZXJzaW9ucyBmcm9tIEJyb2Fkd2VsbCBSU0Itc2FmZXR5IGFyZSB0YWtlbiBmcm9tIHRoZQpyZWZl cmVuY2VkIG1pY3JvY29kZSB1cGRhdGUgZmlsZSAoYWRqdXN0aW5nIGZvciB0aGUga25vd24tYmFk IG1pY3JvY29kZQp2ZXJzaW9ucykuICBJbiBwcmFjdGljZSwgdGhpcyBtZWFucyB0aGF0IGFsbCBC cm9hZHdlbGwgaGFyZHdhcmUgd2l0aAp1cC10by1kYXRlIG1pY3JvY29kZSB3aWxsIHVzZSByZXRw b2xpbmUgaW4gcHJlZmVyZW5jZSB0byBJQlJTLgoKU2lnbmVkLW9mZi1ieTogQW5kcmV3IENvb3Bl ciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KLS0tCkNDOiBKYW4gQmV1bGljaCA8SkJldWxp Y2hAc3VzZS5jb20+CkNDOiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+CgpUaGlzIHNo b3VsZCBiZSBiYWNrcG9ydGVkIHRvIGV2ZXJ5d2hlcmUgd2hpY2ggaGFzIFNwZWN0cmUgbWl0aWdh dGlvbnMsIGFuZAp0aGVyZWZvcmUgc2hvdWxkIGJlIGNvbnNpZGVyZWQgZm9yIDQuMTEgYXQgdGhp cyBwb2ludC4KLS0tCiB4ZW4vYXJjaC94ODYvc3BlY19jdHJsLmMgICAgICAgIHwgNDggKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0KIHhlbi9pbmNsdWRlL2FzbS14ODYv bXNyLWluZGV4LmggfCAgMSArCiAyIGZpbGVzIGNoYW5nZWQsIDQyIGluc2VydGlvbnMoKyksIDcg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3NwZWNfY3RybC5jIGIveGVu L2FyY2gveDg2L3NwZWNfY3RybC5jCmluZGV4IDViNWVjOTAuLmFmZjA2ZjAgMTAwNjQ0Ci0tLSBh L3hlbi9hcmNoL3g4Ni9zcGVjX2N0cmwuYworKysgYi94ZW4vYXJjaC94ODYvc3BlY19jdHJsLmMK QEAgLTExMywxMiArMTEzLDEzIEBAIHN0YXRpYyB2b2lkIF9faW5pdCBwcmludF9kZXRhaWxzKGVu dW0gaW5kX3RodW5rIHRodW5rKQogICAgIHByaW50ayhYRU5MT0dfREVCVUcgIlNwZWN1bGF0aXZl IG1pdGlnYXRpb24gZmFjaWxpdGllczpcbiIpOwogCiAgICAgLyogSGFyZHdhcmUgZmVhdHVyZXMg d2hpY2ggcGVydGFpbiB0byBzcGVjdWxhdGl2ZSBtaXRpZ2F0aW9ucy4gKi8KLSAgICBwcmludGso WEVOTE9HX0RFQlVHICIgIEhhcmR3YXJlIGZlYXR1cmVzOiVzJXMlcyVzJXNcbiIsCisgICAgcHJp bnRrKFhFTkxPR19ERUJVRyAiICBIYXJkd2FyZSBmZWF0dXJlczolcyVzJXMlcyVzJXNcbiIsCiAg ICAgICAgICAgIChfN2QwICYgY3B1ZmVhdF9tYXNrKFg4Nl9GRUFUVVJFX0lCUlNCKSkgPyAiIElC UlMvSUJQQiIgOiAiIiwKICAgICAgICAgICAgKF83ZDAgJiBjcHVmZWF0X21hc2soWDg2X0ZFQVRV UkVfU1RJQlApKSA/ICIgU1RJQlAiICAgICA6ICIiLAogICAgICAgICAgICAoZThiICAmIGNwdWZl YXRfbWFzayhYODZfRkVBVFVSRV9JQlBCKSkgID8gIiBJQlBCIiAgICAgIDogIiIsCiAgICAgICAg ICAgIChjYXBzICYgQVJDSF9DQVBBQklMSVRJRVNfSUJSU19BTEwpICAgICAgPyAiIElCUlNfQUxM IiAgOiAiIiwKLSAgICAgICAgICAgKGNhcHMgJiBBUkNIX0NBUEFCSUxJVElFU19SRENMX05PKSAg ICAgICA/ICIgUkRDTF9OTyIgICA6ICIiKTsKKyAgICAgICAgICAgKGNhcHMgJiBBUkNIX0NBUEFC SUxJVElFU19SRENMX05PKSAgICAgICA/ICIgUkRDTF9OTyIgICA6ICIiLAorICAgICAgICAgICAo Y2FwcyAmIEFSQ0hfQ0FQU19SU0JBKSAgICAgICAgICAgICAgICAgID8gIiBSQlNBIiAgICAgIDog IiIpOwogCiAgICAgLyogQ29tcGlsZWQtaW4gc3VwcG9ydCB3aGljaCBwZXJ0YWlucyB0byBCVEkg bWl0aWdhdGlvbnMuICovCiAgICAgaWYgKCBJU19FTkFCTEVEKENPTkZJR19JTkRJUkVDVF9USFVO SykgKQpAQCAtMTUxLDYgKzE1MiwyMCBAQCBzdGF0aWMgYm9vbCBfX2luaXQgcmV0cG9saW5lX3Nh ZmUodm9pZCkKICAgICAgICAgIGJvb3RfY3B1X2RhdGEueDg2ICE9IDYgKQogICAgICAgICByZXR1 cm4gZmFsc2U7CiAKKyAgICBpZiAoIGJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9BUkNIX0NBUFMp ICkKKyAgICB7CisgICAgICAgIHVpbnQ2NF90IGNhcHM7CisKKyAgICAgICAgcmRtc3JsKE1TUl9B UkNIX0NBUEFCSUxJVElFUywgY2Fwcyk7CisKKyAgICAgICAgLyoKKyAgICAgICAgICogUkJTQSBt YXkgYmUgc2V0IGJ5IGEgaHlwZXJ2aXNvciB0byBpbmRpY2F0ZSB0aGF0IHdlIG1heSBtb3ZlIHRv IGEKKyAgICAgICAgICogcHJvY2Vzc29yIHdoaWNoIGlzbid0IHJldHBvbGluZS1zYWZlLgorICAg ICAgICAgKi8KKyAgICAgICAgaWYgKCBjYXBzICYgQVJDSF9DQVBTX1JTQkEgKQorICAgICAgICAg ICAgcmV0dXJuIGZhbHNlOworICAgIH0KKwogICAgIHN3aXRjaCAoIGJvb3RfY3B1X2RhdGEueDg2 X21vZGVsICkKICAgICB7CiAgICAgY2FzZSAweDE3OiAvKiBQZW5yeW4gKi8KQEAgLTE3NywxOCAr MTkyLDM3IEBAIHN0YXRpYyBib29sIF9faW5pdCByZXRwb2xpbmVfc2FmZSh2b2lkKQogICAgICAg ICAgKiB2ZXJzaW9ucy4KICAgICAgICAgICovCiAgICAgY2FzZSAweDNkOiAvKiBCcm9hZHdlbGwg Ki8KLSAgICAgICAgcmV0dXJuIHVjb2RlX3JldiA+PSAweDI4OworICAgICAgICByZXR1cm4gdWNv ZGVfcmV2ID49IDB4MmE7CiAgICAgY2FzZSAweDQ3OiAvKiBCcm9hZHdlbGwgSCAqLwotICAgICAg ICByZXR1cm4gdWNvZGVfcmV2ID49IDB4MWI7CisgICAgICAgIHJldHVybiB1Y29kZV9yZXYgPj0g MHgxZDsKICAgICBjYXNlIDB4NGY6IC8qIEJyb2Fkd2VsbCBFUC9FWCAqLwotICAgICAgICByZXR1 cm4gdWNvZGVfcmV2ID49IDB4YjAwMDAyNTsKKyAgICAgICAgcmV0dXJuIHVjb2RlX3JldiA+PSAw eGIwMDAwMjE7CiAgICAgY2FzZSAweDU2OiAvKiBCcm9hZHdlbGwgRCAqLwotICAgICAgICByZXR1 cm4gZmFsc2U7IC8qIFRCRC4gKi8KKyAgICAgICAgc3dpdGNoICggYm9vdF9jcHVfZGF0YS54ODZf bWFzayApCisgICAgICAgIHsKKyAgICAgICAgY2FzZSAyOiAgcmV0dXJuIHVjb2RlX3JldiA+PSAw eDE1OworICAgICAgICBjYXNlIDM6ICByZXR1cm4gdWNvZGVfcmV2ID49IDB4NzAwMDAxMjsKKyAg ICAgICAgY2FzZSA0OiAgcmV0dXJuIHVjb2RlX3JldiA+PSAweGYwMDAwMTE7CisgICAgICAgIGNh c2UgNTogIHJldHVybiB1Y29kZV9yZXYgPj0gMHhlMDAwMDA5OworICAgICAgICBkZWZhdWx0OiBy ZXR1cm4gZmFsc2U7CisgICAgICAgIH0KKyAgICAgICAgYnJlYWs7CiAKICAgICAgICAgLyoKLSAg ICAgICAgICogU2t5bGFrZSBhbmQgbGF0ZXIgcHJvY2Vzc29ycyBhcmUgbm90IHJldHBvbGluZS1z YWZlLgorICAgICAgICAgKiBTa3lsYWtlLCBLYWJ5bGFrZSBhbmQgQ2Fubm9ubGFrZSBwcm9jZXNz b3JzIGFyZSBub3QgcmV0cG9saW5lLXNhZmUuCiAgICAgICAgICAqLworICAgIGNhc2UgMHg0ZToK KyAgICBjYXNlIDB4NTU6CisgICAgY2FzZSAweDVlOgorICAgIGNhc2UgMHg2NjoKKyAgICBjYXNl IDB4Njc6CisgICAgY2FzZSAweDhlOgorICAgIGNhc2UgMHg5ZToKKyAgICAgICAgcmV0dXJuIGZh bHNlOworCiAgICAgZGVmYXVsdDoKKyAgICAgICAgcHJpbnRrKCJVbnJlY29nbmlzZWQgQ1BVIG1v ZGVsICUjeCAtIGFzc3VtaW5nIG5vdCByZXB0cG9saW5lIHNhZmVcbiIsCisgICAgICAgICAgICAg ICBib290X2NwdV9kYXRhLng4Nl9tb2RlbCk7CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9 CiB9CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L21zci1pbmRleC5oIGIveGVuL2lu Y2x1ZGUvYXNtLXg4Ni9tc3ItaW5kZXguaAppbmRleCA4NDE2NzU2Li5jOWY0NGViIDEwMDY0NAot LS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L21zci1pbmRleC5oCisrKyBiL3hlbi9pbmNsdWRlL2Fz bS14ODYvbXNyLWluZGV4LmgKQEAgLTQyLDYgKzQyLDcgQEAKICNkZWZpbmUgTVNSX0FSQ0hfQ0FQ QUJJTElUSUVTCQkweDAwMDAwMTBhCiAjZGVmaW5lIEFSQ0hfQ0FQQUJJTElUSUVTX1JEQ0xfTk8J KF9BQygxLCBVTEwpIDw8IDApCiAjZGVmaW5lIEFSQ0hfQ0FQQUJJTElUSUVTX0lCUlNfQUxMCShf QUMoMSwgVUxMKSA8PCAxKQorI2RlZmluZSBBUkNIX0NBUFNfUlNCQQkJCShfQUMoMSwgVUxMKSA8 PCAyKQogCiAvKiBJbnRlbCBNU1JzLiBTb21lIGFsc28gYXZhaWxhYmxlIG9uIG90aGVyIENQVXMg Ki8KICNkZWZpbmUgTVNSX0lBMzJfUEVSRkNUUjAJCTB4MDAwMDAwYzEKLS0gCjIuMS40CgoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1h aWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54 ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==