From mboxrd@z Thu Jan 1 00:00:00 1970 From: fu.wei@linaro.org Subject: [PATCH v3] xen/arm64: check XSM Magic and Signature from the second unknown module. Date: Tue, 29 Mar 2016 11:26:55 +0800 Message-ID: <1459222015-12036-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, stefano.stabellini@citrix.com, 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 RnJvbTogRnUgV2VpIDxmdS53ZWlAbGluYXJvLm9yZz4KClRoaXMgcGF0Y2ggYWRkIGEgY2hlY2tf eHNtX3NpZ25hdHVyZSBzdGF0aWMgZnVuY3Rpb24gZm9yIGRldGVjdGluZyBYU00KZnJvbSB0aGUg c2Vjb25kIHVua25vd24gbW9kdWxlLgoKSWYgWGVuIGNhbid0IGdldCB0aGUga2luZCBvZiBtb2R1 bGUgZnJvbSBjb21wYXRpYmxlLCB3ZSBndWVzcyB0aGUga2luZCBvZgp0aGVzZSBmaXJzdCB0d28g dW5rbm93biByZXNwZWN0aXZlbHk6CiAgICAoMSkgVGhlIGZpcnN0IHVua25vd24gbXVzdCBiZSBr ZXJuZWw7CiAgICAoMikgVGhlIHNlY29uZCB1bmtub3duIGlzIHJhbWRpc2ssIG9ubHkgaWYgd2Ug aGF2ZSByYW1kaXNrOwogICAgKDMpIFN0YXJ0IGZyb20gdGhlIDJuZCB1bmtub3duLCBkZXRlY3Qg dGhlIFhTTSBiaW5hcnkgc2lnbmF0dXJlOwogICAgKDQpIElmIHdlIGdvdCBYU00gaW4gdGhlIDJu ZCB1bmtub3duLCB0aGF0IG1lYW5zIHdlIGRvbid0IGxvYWQgaW5pdHJkLgoKU2lnbmVkLW9mZi1i eTogRnUgV2VpIDxmdS53ZWlAbGluYXJvLm9yZz4KLS0tCkNoYW5nZWxvZzoKdjM6IFVzaW5nIG1l bWNtcCBpbnN0ZWFkIG9mIHN0cm5jbXAuCiAgICBVc2luZyAicmV0dXJuIDA7IiBpbnN0ZWFkIG9m IHBhbmljKCk7CiAgICBJbXByb3ZlIHNvbWUgY29tbWVudHMuCgp2MjogaHR0cDovL2xpc3RzLnhl bi5vcmcvYXJjaGl2ZXMvaHRtbC94ZW4tZGV2ZWwvMjAxNi0wMy9tc2cwMzU0My5odG1sCiAgICBV c2luZyBYRU5fTUFHSUMgbWFjcm8gaW5zdGVhZCBvZiAweGY5N2NmZjhjIDoKICAgIHVpbnQzMl90 IHNlbGludXhfbWFnaWMgPSAweGY5N2NmZjhjOyAtLT4gdWludDMyX3QgeGVuX21hZ2ljID0gWEVO X01BR0lDOwogICAgQ29tbWVudCBvdXQgdGhlIGNvZGUocmV0dXJuIDAgZGlyZWN0bHkpLCBpZiBD T05GSUdfRkxBU0sgaXMgbm90IHNldC4KCnYxOiBodHRwOi8vbGlzdHMueGVuLm9yZy9hcmNoaXZl cy9odG1sL3hlbi1kZXZlbC8yMDE2LTAzL21zZzAyNDMwLmh0bWwKICAgIFRoZSBmaXJzdCB1cHN0 cmVhbSBwYXRjaCB0byB4ZW4tZGV2ZWwgbWFpbGluZyBsaXN0cy4KCiB4ZW4vYXJjaC9hcm0vYm9v dGZkdC5jIHwgNTQgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKy0KIDEgZmlsZSBjaGFuZ2VkLCA1MyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpk aWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL2Jvb3RmZHQuYyBiL3hlbi9hcmNoL2FybS9ib290ZmR0 LmMKaW5kZXggOGExNDAxNS4uMTBkMzM4MiAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL2Jvb3Rm ZHQuYworKysgYi94ZW4vYXJjaC9hcm0vYm9vdGZkdC5jCkBAIC0xNjMsNiArMTYzLDQ5IEBAIHN0 YXRpYyB2b2lkIF9faW5pdCBwcm9jZXNzX21lbW9yeV9ub2RlKGNvbnN0IHZvaWQgKmZkdCwgaW50 IG5vZGUsCiAgICAgfQogfQogCisvKioKKyAqIGNoZWNrX3hzbV9zaWduYXR1cmUgLSBDaGVjayBY U00gTWFnaWMgYW5kIFNpZ25hdHVyZSBvZiB0aGUgbW9kdWxlIGhlYWRlcgorICogQSBYU00gbW9k dWxlIGhhcyBhIHNwZWNpYWwgaGVhZGVyCisgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIHVpbnQgbWFnaWMgfCB1aW50IHRhcmdldF9sZW4gfCB1 Y2hhciB0YXJnZXRbOF0gfAorICogMHhmOTdjZmY4YyB8ICAgICAgICA4ICAgICAgICB8ICAgICJY ZW5GbGFzayIgICB8CisgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KKyAqIDB4Zjk3Y2ZmOGMgaXMgcG9saWN5IG1hZ2ljIG51bWJlciAoWFNNX01BR0lD KS4KKyAqIFNvIHdlIG9ubHkgcmVhZCB0aGUgZmlyc3QgMTYgYnl0ZXMgb2YgdGhlIG1vZHVsZSwg dGhlbiBjaGVjayB0aGVzZSB0aHJlZQorICogcGFydHMuIFRoaXMgY2hlY2tpbmcgKG1lbWNtcCkg YXNzdW1lcyBsaXR0bGUtZW5kaWFuIGJ5dGUgb3JkZXIuCisgKi8KK3N0YXRpYyBib29sIF9faW5p dCBjaGVja194c21fc2lnbmF0dXJlKGNvbnN0IHZvaWQgKmZkdCwgaW50IG5vZGUsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpuYW1lLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdTMyIGFkZHJlc3NfY2VsbHMsIHUzMiBz aXplX2NlbGxzKQoreworI2lmZGVmIENPTkZJR19GTEFTSworICAgIHUzMiB4ZW5fbWFnaWMgPSBY U01fTUFHSUMsIHRhcmdldF9sZW4gPSA4OworICAgIGNvbnN0IHN0cnVjdCBmZHRfcHJvcGVydHkg KnByb3A7CisgICAgdW5zaWduZWQgY2hhciBidWZmWzE2XTsKKyAgICBwYWRkcl90IHN0YXJ0LCBz aXplOworICAgIGNvbnN0IF9fYmUzMiAqY2VsbDsKKyAgICBpbnQgbGVuOworCisgICAgcHJvcCA9 IGZkdF9nZXRfcHJvcGVydHkoZmR0LCBub2RlLCAicmVnIiwgJmxlbik7CisgICAgaWYgKCAhcHJv cCB8fCBsZW4gPCBkdF9jZWxsc190b19zaXplKGFkZHJlc3NfY2VsbHMgKyBzaXplX2NlbGxzKSkK KyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBjZWxsID0gKGNvbnN0IF9fYmUzMiAqKXByb3AtPmRh dGE7CisgICAgZGV2aWNlX3RyZWVfZ2V0X3JlZygmY2VsbCwgYWRkcmVzc19jZWxscywgc2l6ZV9j ZWxscywgJnN0YXJ0LCAmc2l6ZSk7CisKKyAgICBjb3B5X2Zyb21fcGFkZHIoYnVmZiwgc3RhcnQs IHNpemVvZihidWZmKSk7CisKKyAgICBpZiAobWVtY21wKGJ1ZmYsICh2b2lkICopICZ4ZW5fbWFn aWMsIHNpemVvZih1MzIpKSB8fAorICAgICAgICBtZW1jbXAoYnVmZiArIHNpemVvZih1MzIpLCAo dm9pZCAqKSAmdGFyZ2V0X2xlbiwgc2l6ZW9mKHUzMikpIHx8CisgICAgICAgIG1lbWNtcChidWZm ICsgc2l6ZW9mKHUzMikgKiAyLCAiWGVuRmxhc2siLCB0YXJnZXRfbGVuKSkKKyAgICAgICAgcmV0 dXJuIDA7CisKKyAgICByZXR1cm4gMTsKKyNlbHNlCisgICAgcmV0dXJuIDA7CisjZW5kaWYKK30K Kwogc3RhdGljIHZvaWQgX19pbml0IHByb2Nlc3NfbXVsdGlib290X25vZGUoY29uc3Qgdm9pZCAq ZmR0LCBpbnQgbm9kZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGNvbnN0IGNoYXIgKm5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB1MzIgYWRkcmVzc19jZWxscywgdTMyIHNpemVfY2VsbHMpCkBAIC0xODYsNyArMjI5LDEz IEBAIHN0YXRpYyB2b2lkIF9faW5pdCBwcm9jZXNzX211bHRpYm9vdF9ub2RlKGNvbnN0IHZvaWQg KmZkdCwgaW50IG5vZGUsCiAgICAgZWxzZQogICAgICAgICBraW5kID0gQk9PVE1PRF9VTktOT1dO OwogCi0gICAgLyogR3Vlc3MgdGhhdCBmaXJzdCB0d28gdW5rbm93biBhcmUga2VybmVsIGFuZCBy YW1kaXNrIHJlc3BlY3RpdmVseS4gKi8KKyAgICAvKioKKyAgICAgKiBHdWVzcyB0aGUga2luZCBv ZiB0aGVzZSBmaXJzdCB0d28gdW5rbm93biByZXNwZWN0aXZlbHk6CisgICAgICogKDEpIFRoZSBm aXJzdCB1bmtub3duIG11c3QgYmUga2VybmVsOworICAgICAqICgyKSBUaGUgc2Vjb25kIHVua25v d24gaXMgcmFtZGlzaywgb25seSBpZiB3ZSBoYXZlIHJhbWRpc2s7CisgICAgICogKDMpIFN0YXJ0 IGZyb20gdGhlIDJuZCB1bmtub3duLCBkZXRlY3QgdGhlIFhTTSBiaW5hcnkgc2lnbmF0dXJlOwor ICAgICAqICg0KSBJZiB3ZSBnb3QgWFNNIGluIHRoZSAybmQgdW5rbm93biwgdGhhdCBtZWFucyB3 ZSBoYXZlIG5vdCBpbml0cmQuCisgICAgICovCiAgICAgaWYgKCBraW5kID09IEJPT1RNT0RfVU5L Tk9XTiApCiAgICAgewogICAgICAgICBzd2l0Y2ggKCBraW5kX2d1ZXNzKysgKQpAQCAtMTk1LDYg KzI0NCw5IEBAIHN0YXRpYyB2b2lkIF9faW5pdCBwcm9jZXNzX211bHRpYm9vdF9ub2RlKGNvbnN0 IHZvaWQgKmZkdCwgaW50IG5vZGUsCiAgICAgICAgIGNhc2UgMToga2luZCA9IEJPT1RNT0RfUkFN RElTSzsgYnJlYWs7CiAgICAgICAgIGRlZmF1bHQ6IGJyZWFrOwogICAgICAgICB9CisgICAgICAg IGlmIChraW5kX2d1ZXNzID4gMSAmJiBjaGVja194c21fc2lnbmF0dXJlKGZkdCwgbm9kZSwgbmFt ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRk cmVzc19jZWxscywgc2l6ZV9jZWxscykpCisgICAgICAgICAgICBraW5kID0gQk9PVE1PRF9YU007 CiAgICAgfQogCiAgICAgcHJvcCA9IGZkdF9nZXRfcHJvcGVydHkoZmR0LCBub2RlLCAicmVnIiwg Jmxlbik7Ci0tIAoyLjUuMAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcK aHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==