From mboxrd@z Thu Jan 1 00:00:00 1970 From: fu.wei@linaro.org Subject: [PATCH v5] xen/arm64: check XSM Magic from the second unknown module. Date: Wed, 6 Apr 2016 00:46:36 +0800 Message-ID: <1459874796-27052-1-git-send-email-fu.wei@linaro.org> 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: xen-devel@lists.xensource.com, julien.grall@arm.com, sstabellini@kernel.org, dgdegra@tycho.nsa.gov, konrad.wilk@oracle.com Cc: jcm@redhat.com, Fu Wei , leif.lindholm@linaro.org, linaro-uefi@lists.linaro.org List-Id: xen-devel@lists.xenproject.org RnJvbTogRnUgV2VpIDxmdS53ZWlAbGluYXJvLm9yZz4KClRoaXMgcGF0Y2ggYWRkcyBhIGhhc194 c21fbWFnaWMgaGVscGVyIGZ1bmN0aW9uIGZvciBkZXRlY3RpbmcgWFNNCmZyb20gdGhlIHNlY29u ZCB1bmtub3duIG1vZHVsZS4KCklmIFhlbiBjYW4ndCBnZXQgdGhlIGtpbmQgb2YgbW9kdWxlIGZy b20gY29tcGF0aWJsZSwgd2UgZ3Vlc3MgdGhlIGtpbmQgb2YKdGhlc2UgdW5rbm93bnMgcmVzcGVj dGl2ZWx5OgogICAgKDEpIFRoZSBmaXJzdCB1bmtub3duIG11c3QgYmUga2VybmVsLgogICAgKDIp IERldGVjdCB0aGUgWFNNIE1hZ2ljIGZyb20gdGhlIDJuZCB1bmtub3duOgogICAgICAgIGEuIElm IGl0J3MgWFNNLCBzZXQgdGhlIGtpbmQgYXMgWFNNLCBhbmQgdGhhdCBhbHNvIG1lYW5zIHdlCgl3 b24ndCBsb2FkIHJhbWRpc2s7CgliLiBpZiBpdCdzIG5vdCBYU00sIHNldCB0aGUga2luZCBhcyBy YW1kaXNrLgoJU28gaWYgdXNlciB3YW50IHRvIGxvYWQgcmFtZGlzaywgaXQgbXVzdCBiZSB0aGUg Mm5kIHVua25vd24uCldlIGFsc28gZGV0ZWN0IHRoZSBYU00gTWFnaWMgZm9yIHRoZSBmb2xsb3dp bmcgdW5rbm93bnMsIHRoZW4gc2V0IGl0cyBraW5kCmFjY29yZGluZyB0byB0aGUgcmV0dXJuIHZh bHVlIG9mIGhhc194c21fbWFnaWMuCgpCeSB0aGlzIHdheSwgYXJtNjQgYmVoYXZpb3IgY2FuIGJl IGNvbXBhdGlibGUgdG8geDg2IGFuZCBjYW4gc2ltcGxpZnkKbXVsdGktYXJjaCBib290bG9hZGVy IHN1Y2ggYXMgR1JVQi4KClNpZ25lZC1vZmYtYnk6IEZ1IFdlaSA8ZnUud2VpQGxpbmFyby5vcmc+ Ci0tLQpDaGFuZ2Vsb2c6CnY1OiBXcmFwICIjaW5jbHVkZSA8YXNtL3NldHVwLmg+IiB1cCBieSAj aWZkZWYgQ09ORklHX0hBU19ERVZJQ0VfVFJFRQogICAgSW1wcm92ZSBoYXNfeHNtX21hZ2ljIGNv ZGUuCgp2NDogaHR0cDovL2xpc3RzLnhlbi5vcmcvYXJjaGl2ZXMvaHRtbC94ZW4tZGV2ZWwvMjAx Ni0wNC9tc2cwMDU1My5odG1sCiAgICBGaXggc29tZSBjb2RlIHN0eWxlIGFuZCBjb21tZW50cyBw cm9ibGVtcy4KICAgIE9ubHkgY2hlY2sgdGhlIE1hZ2ljIG51bWJlci4KICAgIFJlLW9yZGVyIHRo ZSBjb2RlIGluIHByb2Nlc3NfbXVsdGlib290X25vZGUgdG8gZ2V0IHRoZSBiYXNlIGFkZHJlc3MK ICAgIGZpcnN0LCB0aGVuIHRoZSBYU00gTWFnaWMgY2hlY2tpbmcgZnVuY3Rpb24gb25seSBuZWVk IHRvIGNoZWNrIGlmIHRoZQogICAgTWFnaWMgbnVtYmVyIGlzIHZhbGlkLgogICAgRmFjdG9yIHRo ZSBYU00gTWFnaWMgY2hlY2tpbmcgY29kZSBpbnRvIGFuIGhlbHBlciBhbmQgcmUtdXNlIGl0CiAg ICBpbiB4c21fZHRfcG9saWN5X2luaXQuCgp2MzogaHR0cDovL2xpc3RzLnhlbi5vcmcvYXJjaGl2 ZXMvaHRtbC94ZW4tZGV2ZWwvMjAxNi0wMy9tc2cwMzU2NC5odG1sCiAgICBVc2luZyBtZW1jbXAg aW5zdGVhZCBvZiBzdHJuY21wLgogICAgVXNpbmcgInJldHVybiAwOyIgaW5zdGVhZCBvZiBwYW5p YygpOwogICAgSW1wcm92ZSBzb21lIGNvbW1lbnRzLgoKdjI6IGh0dHA6Ly9saXN0cy54ZW4ub3Jn L2FyY2hpdmVzL2h0bWwveGVuLWRldmVsLzIwMTYtMDMvbXNnMDM1NDMuaHRtbAogICAgVXNpbmcg WEVOX01BR0lDIG1hY3JvIGluc3RlYWQgb2YgMHhmOTdjZmY4YyA6CiAgICB1aW50MzJfdCBzZWxp bnV4X21hZ2ljID0gMHhmOTdjZmY4YzsgLS0+IHVpbnQzMl90IHhlbl9tYWdpYyA9IFhFTl9NQUdJ QzsKICAgIENvbW1lbnQgb3V0IHRoZSBjb2RlKHJldHVybiAwIGRpcmVjdGx5KSwgaWYgQ09ORklH X0ZMQVNLIGlzIG5vdCBzZXQuCgp2MTogaHR0cDovL2xpc3RzLnhlbi5vcmcvYXJjaGl2ZXMvaHRt bC94ZW4tZGV2ZWwvMjAxNi0wMy9tc2cwMjQzMC5odG1sCiAgICBUaGUgZmlyc3QgdXBzdHJlYW0g cGF0Y2ggdG8geGVuLWRldmVsIG1haWxpbmcgbGlzdHMuCgogeGVuL2FyY2gvYXJtL2Jvb3RmZHQu YyB8IDM3ICsrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0KIHhlbi9pbmNsdWRl L3hzbS94c20uaCAgfCAgOCArKysrKysrLQogeGVuL3hzbS94c21fY29yZS5jICAgICB8IDI3ICsr KysrKysrKysrKysrKysrKysrKysrKysrKwogeGVuL3hzbS94c21fcG9saWN5LmMgICB8ICA4ICsr LS0tLS0tCiA0IGZpbGVzIGNoYW5nZWQsIDYxIGluc2VydGlvbnMoKyksIDE5IGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9ib290ZmR0LmMgYi94ZW4vYXJjaC9hcm0vYm9v dGZkdC5jCmluZGV4IDhhMTQwMTUuLmQxMzA2MzMgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS9i b290ZmR0LmMKKysrIGIveGVuL2FyY2gvYXJtL2Jvb3RmZHQuYwpAQCAtMTQsNiArMTQsNyBAQAog I2luY2x1ZGUgPHhlbi9pbml0Lmg+CiAjaW5jbHVkZSA8eGVuL2RldmljZV90cmVlLmg+CiAjaW5j bHVkZSA8eGVuL2xpYmZkdC9saWJmZHQuaD4KKyNpbmNsdWRlIDx4c20veHNtLmg+CiAjaW5jbHVk ZSA8YXNtL3NldHVwLmg+CiAKIHN0YXRpYyBib29sX3QgX19pbml0IGRldmljZV90cmVlX25vZGVf bWF0Y2hlcyhjb25zdCB2b2lkICpmZHQsIGludCBub2RlLApAQCAtMTc1LDYgKzE3NiwxNyBAQCBz dGF0aWMgdm9pZCBfX2luaXQgcHJvY2Vzc19tdWx0aWJvb3Rfbm9kZShjb25zdCB2b2lkICpmZHQs IGludCBub2RlLAogICAgIGNvbnN0IGNoYXIgKmNtZGxpbmU7CiAgICAgaW50IGxlbjsKIAorICAg IHByb3AgPSBmZHRfZ2V0X3Byb3BlcnR5KGZkdCwgbm9kZSwgInJlZyIsICZsZW4pOworICAgIGlm ICggIXByb3AgKQorICAgICAgICBwYW5pYygibm9kZSAlcyBtaXNzaW5nIGByZWcnIHByb3BlcnR5 XG4iLCBuYW1lKTsKKworICAgIGlmICggbGVuIDwgZHRfY2VsbHNfdG9fc2l6ZShhZGRyZXNzX2Nl bGxzICsgc2l6ZV9jZWxscykgKQorICAgICAgICBwYW5pYygiZmR0OiBub2RlIGAlcyc6IGByZWdg IHByb3BlcnR5IGxlbmd0aCBpcyB0b28gc2hvcnRcbiIsCisgICAgICAgICAgICAgICAgICAgIG5h bWUpOworCisgICAgY2VsbCA9IChjb25zdCBfX2JlMzIgKilwcm9wLT5kYXRhOworICAgIGRldmlj ZV90cmVlX2dldF9yZWcoJmNlbGwsIGFkZHJlc3NfY2VsbHMsIHNpemVfY2VsbHMsICZzdGFydCwg JnNpemUpOworCiAgICAgaWYgKCBmZHRfbm9kZV9jaGVja19jb21wYXRpYmxlKGZkdCwgbm9kZSwg InhlbixsaW51eC16aW1hZ2UiKSA9PSAwIHx8CiAgICAgICAgICBmZHRfbm9kZV9jaGVja19jb21w YXRpYmxlKGZkdCwgbm9kZSwgIm11bHRpYm9vdCxrZXJuZWwiKSA9PSAwICkKICAgICAgICAga2lu ZCA9IEJPT1RNT0RfS0VSTkVMOwpAQCAtMTg2LDcgKzE5OCwxNyBAQCBzdGF0aWMgdm9pZCBfX2lu aXQgcHJvY2Vzc19tdWx0aWJvb3Rfbm9kZShjb25zdCB2b2lkICpmZHQsIGludCBub2RlLAogICAg IGVsc2UKICAgICAgICAga2luZCA9IEJPT1RNT0RfVU5LTk9XTjsKIAotICAgIC8qIEd1ZXNzIHRo YXQgZmlyc3QgdHdvIHVua25vd24gYXJlIGtlcm5lbCBhbmQgcmFtZGlzayByZXNwZWN0aXZlbHku ICovCisgICAgLyoqCisgICAgICogR3Vlc3MgdGhlIGtpbmQgb2YgdGhlc2UgZmlyc3QgdHdvIHVu a25vd25zIHJlc3BlY3RpdmVseToKKyAgICAgKiAoMSkgVGhlIGZpcnN0IHVua25vd24gbXVzdCBi ZSBrZXJuZWwuCisgICAgICogKDIpIERldGVjdCB0aGUgWFNNIE1hZ2ljIGZyb20gdGhlIDJuZCB1 bmtub3duOgorICAgICAqICAgICBhLiBJZiBpdCdzIFhTTSwgc2V0IHRoZSBraW5kIGFzIFhTTSwg YW5kIHRoYXQgYWxzbyBtZWFucyB3ZQorICAgICAqICAgICB3b24ndCBsb2FkIHJhbWRpc2s7Cisg ICAgICogICAgIGIuIGlmIGl0J3Mgbm90IFhTTSwgc2V0IHRoZSBraW5kIGFzIHJhbWRpc2suCisg ICAgICogICAgIFNvIGlmIHVzZXIgd2FudCB0byBsb2FkIHJhbWRpc2ssIGl0IG11c3QgYmUgdGhl IDJuZCB1bmtub3duLgorICAgICAqIFdlIGFsc28gZGV0ZWN0IHRoZSBYU00gTWFnaWMgZm9yIHRo ZSBmb2xsb3dpbmcgdW5rbm93bnMsCisgICAgICogdGhlbiBzZXQgaXRzIGtpbmQgYWNjb3JkaW5n IHRvIHRoZSByZXR1cm4gdmFsdWUgb2YgaGFzX3hzbV9tYWdpYy4KKyAgICAgKi8KICAgICBpZiAo IGtpbmQgPT0gQk9PVE1PRF9VTktOT1dOICkKICAgICB7CiAgICAgICAgIHN3aXRjaCAoIGtpbmRf Z3Vlc3MrKyApCkBAIC0xOTUsMTkgKzIxNywxMCBAQCBzdGF0aWMgdm9pZCBfX2luaXQgcHJvY2Vz c19tdWx0aWJvb3Rfbm9kZShjb25zdCB2b2lkICpmZHQsIGludCBub2RlLAogICAgICAgICBjYXNl IDE6IGtpbmQgPSBCT09UTU9EX1JBTURJU0s7IGJyZWFrOwogICAgICAgICBkZWZhdWx0OiBicmVh azsKICAgICAgICAgfQorCWlmICgga2luZF9ndWVzcyA+IDEgJiYgaGFzX3hzbV9tYWdpYyhzdGFy dCkgKQorICAgICAgICAgICAga2luZCA9IEJPT1RNT0RfWFNNOwogICAgIH0KIAotICAgIHByb3Ag PSBmZHRfZ2V0X3Byb3BlcnR5KGZkdCwgbm9kZSwgInJlZyIsICZsZW4pOwotICAgIGlmICggIXBy b3AgKQotICAgICAgICBwYW5pYygibm9kZSAlcyBtaXNzaW5nIGByZWcnIHByb3BlcnR5XG4iLCBu YW1lKTsKLQotICAgIGlmICggbGVuIDwgZHRfY2VsbHNfdG9fc2l6ZShhZGRyZXNzX2NlbGxzICsg c2l6ZV9jZWxscykgKQotICAgICAgICBwYW5pYygiZmR0OiBub2RlIGAlcyc6IGByZWdgIHByb3Bl cnR5IGxlbmd0aCBpcyB0b28gc2hvcnRcbiIsCi0gICAgICAgICAgICAgICAgICAgIG5hbWUpOwot Ci0gICAgY2VsbCA9IChjb25zdCBfX2JlMzIgKilwcm9wLT5kYXRhOwotICAgIGRldmljZV90cmVl X2dldF9yZWcoJmNlbGwsIGFkZHJlc3NfY2VsbHMsIHNpemVfY2VsbHMsICZzdGFydCwgJnNpemUp OwotCiAgICAgcHJvcCA9IGZkdF9nZXRfcHJvcGVydHkoZmR0LCBub2RlLCAiYm9vdGFyZ3MiLCAm bGVuKTsKICAgICBpZiAoIHByb3AgKQogICAgIHsKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3hz bS94c20uaCBiL3hlbi9pbmNsdWRlL3hzbS94c20uaAppbmRleCAzYWZlZDcwLi44MDNjN2VhIDEw MDY0NAotLS0gYS94ZW4vaW5jbHVkZS94c20veHNtLmgKKysrIGIveGVuL2luY2x1ZGUveHNtL3hz bS5oCkBAIC03NDUsNiArNzQ1LDcgQEAgZXh0ZXJuIGludCB4c21fbXVsdGlib290X3BvbGljeV9p bml0KHVuc2lnbmVkIGxvbmcgKm1vZHVsZV9tYXAsCiAjaWZkZWYgQ09ORklHX0hBU19ERVZJQ0Vf VFJFRQogZXh0ZXJuIGludCB4c21fZHRfaW5pdCh2b2lkKTsKIGV4dGVybiBpbnQgeHNtX2R0X3Bv bGljeV9pbml0KHZvaWQpOworZXh0ZXJuIGJvb2wgaGFzX3hzbV9tYWdpYyhwYWRkcl90KTsKICNl bmRpZgogCiBleHRlcm4gaW50IHJlZ2lzdGVyX3hzbShzdHJ1Y3QgeHNtX29wZXJhdGlvbnMgKm9w cyk7CkBAIC03NzEsNyArNzcyLDEyIEBAIHN0YXRpYyBpbmxpbmUgaW50IHhzbV9kdF9pbml0KHZv aWQpCiB7CiAgICAgcmV0dXJuIDA7CiB9Ci0jZW5kaWYKKworc3RhdGljIGlubGluZSBib29sIGhh c194c21fbWFnaWMocGFkZHJfdCBzdGFydCkKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisjZW5k aWYgLyogQ09ORklHX0hBU19ERVZJQ0VfVFJFRSAqLwogCiAjZW5kaWYgLyogQ09ORklHX1hTTSAq LwogCmRpZmYgLS1naXQgYS94ZW4veHNtL3hzbV9jb3JlLmMgYi94ZW4veHNtL3hzbV9jb3JlLmMK aW5kZXggNWU0MzJkZS4uNjM0ZWM5OCAxMDA2NDQKLS0tIGEveGVuL3hzbS94c21fY29yZS5jCisr KyBiL3hlbi94c20veHNtX2NvcmUuYwpAQCAtMTksNiArMTksMTAgQEAKIAogI2lmZGVmIENPTkZJ R19YU00KIAorI2lmZGVmIENPTkZJR19IQVNfREVWSUNFX1RSRUUKKyNpbmNsdWRlIDxhc20vc2V0 dXAuaD4KKyNlbmRpZgorCiAjZGVmaW5lIFhTTV9GUkFNRVdPUktfVkVSU0lPTiAgICAiMS4wLjAi CiAKIHN0cnVjdCB4c21fb3BlcmF0aW9ucyAqeHNtX29wczsKQEAgLTEwOSw2ICsxMTMsMjkgQEAg aW50IF9faW5pdCB4c21fZHRfaW5pdCh2b2lkKQogCiAgICAgcmV0dXJuIHJldDsKIH0KKworLyoq CisgKiBoYXNfeHNtX21hZ2ljIC0gQ2hlY2sgWFNNIE1hZ2ljIG9mIHRoZSBtb2R1bGUgaGVhZGVy IGJ5IHBoeSBhZGRyZXNzCisgKiBBIFhTTSBtb2R1bGUgaGFzIGEgc3BlY2lhbCBoZWFkZXIKKyAq IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogdWlu dCBtYWdpYyB8IHVpbnQgdGFyZ2V0X2xlbiB8IHVjaGFyIHRhcmdldFs4XSB8CisgKiAweGY5N2Nm ZjhjIHwgICAgICAgIDggICAgICAgIHwgICAgIlhlbkZsYXNrIiAgIHwKKyAqIC0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogMHhmOTdjZmY4YyBpcyBw b2xpY3kgbWFnaWMgbnVtYmVyIChYU01fTUFHSUMpLgorICogSGVyZSB3ZSBvbmx5IGNoZWNrIHRo ZSAibWFnaWMiIG9mIHRoZSBtb2R1bGUuCisgKi8KK2Jvb2wgX19pbml0IGhhc194c21fbWFnaWMo cGFkZHJfdCBzdGFydCkKK3sKKyAgICB4c21fbWFnaWNfdCBtYWdpYzsKKworICAgIGlmICggWFNN X01BR0lDICkKKyAgICB7CisgICAgICAgIGNvcHlfZnJvbV9wYWRkcigmbWFnaWMsIHN0YXJ0LCBz aXplb2YobWFnaWMpICk7CisgICAgICAgIHJldHVybiAoIG1hZ2ljID09IFhTTV9NQUdJQyApOwor ICAgIH0KKworICAgIHJldHVybiBmYWxzZTsKK30KICNlbmRpZgogCiBpbnQgcmVnaXN0ZXJfeHNt KHN0cnVjdCB4c21fb3BlcmF0aW9ucyAqb3BzKQpkaWZmIC0tZ2l0IGEveGVuL3hzbS94c21fcG9s aWN5LmMgYi94ZW4veHNtL3hzbV9wb2xpY3kuYwppbmRleCBiNjBkODIyLi5iZGU4MDE1IDEwMDY0 NAotLS0gYS94ZW4veHNtL3hzbV9wb2xpY3kuYworKysgYi94ZW4veHNtL3hzbV9wb2xpY3kuYwpA QCAtNzksNyArNzksNiBAQCBpbnQgX19pbml0IHhzbV9kdF9wb2xpY3lfaW5pdCh2b2lkKQogewog ICAgIHN0cnVjdCBib290bW9kdWxlICptb2QgPSBib290X21vZHVsZV9maW5kX2J5X2tpbmQoQk9P VE1PRF9YU00pOwogICAgIHBhZGRyX3QgcGFkZHIsIGxlbjsKLSAgICB4c21fbWFnaWNfdCBtYWdp YzsKIAogICAgIGlmICggIW1vZCB8fCAhbW9kLT5zaXplICkKICAgICAgICAgcmV0dXJuIDA7CkBA IC04NywxMiArODYsOSBAQCBpbnQgX19pbml0IHhzbV9kdF9wb2xpY3lfaW5pdCh2b2lkKQogICAg IHBhZGRyID0gbW9kLT5zdGFydDsKICAgICBsZW4gPSBtb2QtPnNpemU7CiAKLSAgICBjb3B5X2Zy b21fcGFkZHIoJm1hZ2ljLCBwYWRkciwgc2l6ZW9mKG1hZ2ljKSk7Ci0KLSAgICBpZiAoIG1hZ2lj ICE9IFhTTV9NQUdJQyApCisgICAgaWYgKCAhaGFzX3hzbV9tYWdpYyhwYWRkcikgKQogICAgIHsK LSAgICAgICAgcHJpbnRrKFhFTkxPR19FUlIgInhzbTogSW52YWxpZCBtYWdpYyBmb3IgWFNNIGJs b2IgZ290IDB4JXggIgotICAgICAgICAgICAgICAgImV4cGVjdGVkIDB4JXhcbiIsIG1hZ2ljLCBY U01fTUFHSUMpOworICAgICAgICBwcmludGsoWEVOTE9HX0VSUiAieHNtOiBJbnZhbGlkIG1hZ2lj IGZvciBYU00gYmxvYlxuIik7CiAgICAgICAgIHJldHVybiAtRUlOVkFMOwogICAgIH0KIAotLSAK Mi41LjUKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpY ZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0 cy54ZW4ub3JnL3hlbi1kZXZlbAo=