From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH 08/10] tools/insn-fuzz: Fix assertion failures in x86_emulate_wrapper() Date: Mon, 27 Mar 2017 10:56:36 +0100 Message-ID: <1490608598-11197-9-git-send-email-andrew.cooper3@citrix.com> References: <1490608598-11197-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: In-Reply-To: <1490608598-11197-1-git-send-email-andrew.cooper3@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Xen-devel Cc: George Dunlap , Andrew Cooper , Ian Jackson , Wei Liu , Jan Beulich List-Id: xen-devel@lists.xenproject.org Yy9zIDkyY2Y2Nzg4OCAieDg2L2VtdWw6IEhvbGQgeDg2X2VtdWxhdGUoKSB0byBzdHJpY3QgWDg2 RU1VTF9FWENFUFRJT04KcmVxdWlyZW1lbnRzIiB3YXMgYXBwcm9wcmlhdGUgZm9yIHRoZSBoeXBl cnZpc29yLCBidXQgdGhlIGZ1enplciBzdHVicyBkaWRuJ3QKY29uZm9ybSB0byB0aGUgc3RyaWN0 ZXIgcmVxdWlyZW1lbnRzLiAgQUZMIGlzIHZlcnkgcXVpY2sgdG8gZGlzY292ZXIgdGhpcy4KCkV4 dGVuZCB0aGUgZnV6emluZyBoYXJuZXNzIGV4Y2VwdGlvbiBsb2dpYyB0byByYWlzZSBleGNlcHRp b25zIGFwcHJvcHJpYXRlbHkuCgpTaWduZWQtb2ZmLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcu Y29vcGVyM0BjaXRyaXguY29tPgotLS0KQ0M6IEphbiBCZXVsaWNoIDxKQmV1bGljaEBzdXNlLmNv bT4KQ0M6IEdlb3JnZSBEdW5sYXAgPGdlb3JnZS5kdW5sYXBAZXUuY2l0cml4LmNvbT4KQ0M6IElh biBKYWNrc29uIDxJYW4uSmFja3NvbkBldS5jaXRyaXguY29tPgpDQzogV2VpIExpdSA8d2VpLmxp dTJAY2l0cml4LmNvbT4KLS0tCiB0b29scy9mdXp6L3g4Nl9pbnN0cnVjdGlvbl9lbXVsYXRvci9m dXp6LWVtdWwuYyB8IDI3ICsrKysrKysrKysrKysrKysrKysrLS0tLS0KIDEgZmlsZSBjaGFuZ2Vk LCAyMiBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Rvb2xzL2Z1 enoveDg2X2luc3RydWN0aW9uX2VtdWxhdG9yL2Z1enotZW11bC5jIGIvdG9vbHMvZnV6ei94ODZf aW5zdHJ1Y3Rpb25fZW11bGF0b3IvZnV6ei1lbXVsLmMKaW5kZXggY2E5MDJmNi4uMTkwNjE4NiAx MDA2NDQKLS0tIGEvdG9vbHMvZnV6ei94ODZfaW5zdHJ1Y3Rpb25fZW11bGF0b3IvZnV6ei1lbXVs LmMKKysrIGIvdG9vbHMvZnV6ei94ODZfaW5zdHJ1Y3Rpb25fZW11bGF0b3IvZnV6ei1lbXVsLmMK QEAgLTg2LDEwICs4NiwxNSBAQCBzdGF0aWMgaW50IG1heWJlX2ZhaWwoc3RydWN0IHg4Nl9lbXVs YXRlX2N0eHQgKmN0eHQsCiAKICAgICBwcmludGYoIm1heWJlX2ZhaWwgJXM6ICVkXG4iLCB3aHks IHJjKTsKIAorICAgIGlmICggcmMgPT0gWDg2RU1VTF9FWENFUFRJT04gKQorICAgICAgICAvKiBG YWtlIHVwIGEgcGFnZWZhdWx0LiAqLworICAgICAgICB4ODZfZW11bF9wYWdlZmF1bHQoMCwgMCwg Y3R4dCk7CisKICAgICByZXR1cm4gcmM7CiB9CiAKIHN0YXRpYyBpbnQgZGF0YV9yZWFkKHN0cnVj dCB4ODZfZW11bGF0ZV9jdHh0ICpjdHh0LAorICAgICAgICAgICAgICAgICAgICAgZW51bSB4ODZf c2VnbWVudCBzZWcsCiAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICp3aHksIHZvaWQg KmRzdCwgdW5zaWduZWQgaW50IGJ5dGVzKQogewogICAgIHN0cnVjdCBmdXp6X3N0YXRlICpzID0g Y3R4dC0+ZGF0YTsKQEAgLTk4LDcgKzEwMywxNyBAQCBzdGF0aWMgaW50IGRhdGFfcmVhZChzdHJ1 Y3QgeDg2X2VtdWxhdGVfY3R4dCAqY3R4dCwKICAgICBpbnQgcmM7CiAKICAgICBpZiAoIHMtPmRh dGFfaW5kZXggKyBieXRlcyA+IHMtPmRhdGFfbnVtICkKKyAgICB7CisgICAgICAgIC8qCisgICAg ICAgICAqIEZha2UgdXAgYSBzZWdtZW50IGxpbWl0IHZpb2xhdGlvbi4gIFN5c3RlbSBzZWdtZW50 IGxpbWl0IHZvbGF0aW9ucworICAgICAgICAgKiBhcmUgcmVwb3J0ZWQgYnkgWDg2RU1VTF9FWENF UFRJT04gYWxvbmUsIHNvIHRoZSBlbXVsYXRvciBjYW4gZmlsbAorICAgICAgICAgKiBpbiB0aGUg Y29ycmVjdCBjb250ZXh0LgorICAgICAgICAgKi8KKyAgICAgICAgaWYgKCAhaXNfeDg2X3N5c3Rl bV9zZWdtZW50KHNlZykgKQorICAgICAgICAgICAgeDg2X2VtdWxfaHdfZXhjZXB0aW9uKDEzLCAw LCBjdHh0KTsKKwogICAgICAgICByYyA9IFg4NkVNVUxfRVhDRVBUSU9OOworICAgIH0KICAgICBl bHNlCiAgICAgICAgIHJjID0gbWF5YmVfZmFpbChjdHh0LCB3aHksIHRydWUpOwogCkBAIC0xMjUs NyArMTQwLDcgQEAgc3RhdGljIGludCBmdXp6X3JlYWQoCiB7CiAgICAgYXNzZXJ0KCh1bnNpZ25l ZCBpbnQpc2VnIDwgeDg2X3NlZ19ub25lKTsKIAotICAgIHJldHVybiBkYXRhX3JlYWQoY3R4dCwg InJlYWQiLCBwX2RhdGEsIGJ5dGVzKTsKKyAgICByZXR1cm4gZGF0YV9yZWFkKGN0eHQsIHNlZywg InJlYWQiLCBwX2RhdGEsIGJ5dGVzKTsKIH0KIAogc3RhdGljIGludCBmdXp6X3JlYWRfaW8oCkBA IC0xMzQsNyArMTQ5LDcgQEAgc3RhdGljIGludCBmdXp6X3JlYWRfaW8oCiAgICAgdW5zaWduZWQg bG9uZyAqdmFsLAogICAgIHN0cnVjdCB4ODZfZW11bGF0ZV9jdHh0ICpjdHh0KQogewotICAgIHJl dHVybiBkYXRhX3JlYWQoY3R4dCwgInJlYWRfaW8iLCB2YWwsIGJ5dGVzKTsKKyAgICByZXR1cm4g ZGF0YV9yZWFkKGN0eHQsIHg4Nl9zZWdfbm9uZSwgInJlYWRfaW8iLCB2YWwsIGJ5dGVzKTsKIH0K IAogc3RhdGljIGludCBmdXp6X2luc25fZmV0Y2goCkBAIC0xNDYsNyArMTYxLDcgQEAgc3RhdGlj IGludCBmdXp6X2luc25fZmV0Y2goCiB7CiAgICAgYXNzZXJ0KHNlZyA9PSB4ODZfc2VnX2NzKTsK IAotICAgIHJldHVybiBkYXRhX3JlYWQoY3R4dCwgImluc25fZmV0Y2giLCBwX2RhdGEsIGJ5dGVz KTsKKyAgICByZXR1cm4gZGF0YV9yZWFkKGN0eHQsIHNlZywgImluc25fZmV0Y2giLCBwX2RhdGEs IGJ5dGVzKTsKIH0KIAogc3RhdGljIGludCBfZnV6el9yZXBfcmVhZChzdHJ1Y3QgeDg2X2VtdWxh dGVfY3R4dCAqY3R4dCwKQEAgLTE1NSw3ICsxNzAsNyBAQCBzdGF0aWMgaW50IF9mdXp6X3JlcF9y ZWFkKHN0cnVjdCB4ODZfZW11bGF0ZV9jdHh0ICpjdHh0LAogICAgIGludCByYzsKICAgICB1bnNp Z25lZCBsb25nIGJ5dGVzX3JlYWQgPSAwOwogCi0gICAgcmMgPSBkYXRhX3JlYWQoY3R4dCwgd2h5 LCAmYnl0ZXNfcmVhZCwgc2l6ZW9mKGJ5dGVzX3JlYWQpKTsKKyAgICByYyA9IGRhdGFfcmVhZChj dHh0LCB4ODZfc2VnX25vbmUsIHdoeSwgJmJ5dGVzX3JlYWQsIHNpemVvZihieXRlc19yZWFkKSk7 CiAKICAgICBpZiAoIGJ5dGVzX3JlYWQgPD0gKnJlcHMgKQogICAgICAgICAqcmVwcyA9IGJ5dGVz X3JlYWQ7CkBAIC00MTksNyArNDM0LDcgQEAgc3RhdGljIGludCBmdXp6X3JlYWRfbXNyKAogICAg ICAgICAgKiBzaG91bGQgcHJlZmVyYWJseSByZXR1cm4gY29uc2lzdGVudCB2YWx1ZXMsIGJ1dCBy ZXR1cm5pbmcKICAgICAgICAgICogcmFuZG9tIHZhbHVlcyBpcyBmaW5lIGluIGZ1enplci4KICAg ICAgICAgICovCi0gICAgICAgIHJldHVybiBkYXRhX3JlYWQoY3R4dCwgInJlYWRfbXNyIiwgdmFs LCBzaXplb2YoKnZhbCkpOworICAgICAgICByZXR1cm4gZGF0YV9yZWFkKGN0eHQsIHg4Nl9zZWdf bm9uZSwgInJlYWRfbXNyIiwgdmFsLCBzaXplb2YoKnZhbCkpOwogICAgIGNhc2UgTVNSX0VGRVI6 CiAgICAgICAgICp2YWwgPSBjLT5tc3JbTVNSSV9FRkVSXTsKICAgICAgICAgKnZhbCAmPSB+RUZF Ul9MTUE7CkBAIC00NDEsNiArNDU2LDcgQEAgc3RhdGljIGludCBmdXp6X3JlYWRfbXNyKAogICAg ICAgICB9CiAgICAgfQogCisgICAgeDg2X2VtdWxfaHdfZXhjZXB0aW9uKDEzLCAwLCBjdHh0KTsK ICAgICByZXR1cm4gWDg2RU1VTF9FWENFUFRJT047CiB9CiAKQEAgLTQ3NCw2ICs0OTAsNyBAQCBz dGF0aWMgaW50IGZ1enpfd3JpdGVfbXNyKAogICAgICAgICB9CiAgICAgfQogCisgICAgeDg2X2Vt dWxfaHdfZXhjZXB0aW9uKDEzLCAwLCBjdHh0KTsKICAgICByZXR1cm4gWDg2RU1VTF9FWENFUFRJ T047CiB9CiAKLS0gCjIuMS40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9y ZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==