From mboxrd@z Thu Jan 1 00:00:00 1970 From: George Dunlap Subject: [PATCH 11/14] fuzz/x86_emulate: Make input more compact Date: Fri, 25 Aug 2017 17:43:40 +0100 Message-ID: <20170825164343.29015-11-george.dunlap@citrix.com> References: <20170825164343.29015-1-george.dunlap@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dlHkg-00066q-J9 for xen-devel@lists.xenproject.org; Fri, 25 Aug 2017 16:46:34 +0000 In-Reply-To: <20170825164343.29015-1-george.dunlap@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Ian Jackson , Wei Liu , George Dunlap , Jan Beulich , Andrew Cooper List-Id: xen-devel@lists.xenproject.org QXQgdGhlIG1vbWVudCwgQUZMIHJlY2tvbnMgdGhhdCBmb3IgYW55IGdpdmVuIGlucHV0LCA4NyUg b2YgaXQgaXMKY29tcGxldGVseSBpcnJlbGV2YW50OiB0aGF0IGlzLCBpdCBjYW4gY2hhbmdlIGl0 IGFzIG11Y2ggYXMgaXQgd2FudHMKYnV0IGhhdmUgbm8gaW1wYWN0IG9uIHRoZSByZXN1bHQgb2Yg dGhlIHRlc3Q7IGFuZCB5ZXQgaXQgY2FuJ3QgcmVtb3ZlCml0LgoKVGhpcyBpcyBsYXJnZWx5IGJl Y2F1c2Ugd2UgaW50ZXJwcmV0IHRoZSBibG9iIGhhbmRlZCB0byB1cyBhcyBhIGxhcmdlCnN0cnVj dCwgaW5jbHVkaW5nIENSIHZhbHVlcywgTVNSIHZhbHVlcywgc2VnbWVudCByZWdpc3RlcnMsIGFu ZCBhIGZ1bGwKY3B1X3VzZXJfcmVncy4KCkluc3RlYWQsIG1vZGlmeSBvdXIgaW50ZXJwcmV0YXRp b24gdG8gaGF2ZSBhICJzZXQgc3RhdGUiIHN0YW56YSBhdCB0aGUKZnJvbnQuICBCZWdpbiBieSBy ZWFkaW5nIGEgYnl0ZTsgaWYgaXQgaXMgbG93ZXIgdGhhbiBhIGNlcnRhaW4KdGhyZXNob2xkLCBz ZXQgc29tZSBzdGF0ZSBhY2NvcmRpbmcgdG8gd2hhdCBieXRlIGl0IGlzLCBhbmQgcmVwZWF0LgpD b250aW51ZSB1bnRpbCB0aGUgYnl0ZSBpcyBhYm92ZSBhIGNlcnRhaW4gdGhyZXNob2xkLgoKVGhp cyBhbGxvd3MgQUZMIHRvIGNvbXBhY3QgYW55IGdpdmVuIHRlc3QgY2FzZSBtdWNoIHNtYWxsZXI7 IHRvIHRoZQpwb2ludCB3aGVyZSBub3cgaXQgcmVja29ucyB0aGVyZSBpcyBub3QgYSBzaW5nbGUg Ynl0ZSBvZiB0aGUgdGVzdCBmaWxlCndoaWNoIGJlY29tZXMgaXJyZWxldmFudC4gIFRlc3Rpbmcg aGF2ZSBzaG93biB0aGF0IHRoaXMgb3B0aW9uIGJvdGgKYWxsb3dzIEFGTCB0byByZWFjaCBjb3Zl cmFnZSBtdWNoIGZhc3RlciwgYW5kIHRvIGhhdmUgYSB0b3RhbCBjb3ZlcmFnZQpoaWdoZXIgdGhh biB3aXRoIHRoZSBvbGQgZm9ybWF0LgoKTWFrZSB0aGlzIGFuIG9wdGlvbiAocmF0aGVyIHRoYW4g YSB1bmlsYXRlcmFsIGNoYW5nZSkgdG8gZW5hYmxlCnNpZGUtYnktc2lkZSBwZXJmb3JtYW5jZSBj b21wYXJpc29uIG9mIHRoZSBvbGQgYW5kIG5ldyBmb3JtYXRzLgoKU2lnbmVkLW9mZi1ieTogR2Vv cmdlIER1bmxhcCA8Z2VvcmdlLmR1bmxhcEBjaXRyaXguY29tPgotLS0KSSdsbCByZXBseSB0byB0 aGlzIGUtbWFpbCB3aXRoIGEgZ3JhcGggb2Ygc29tZSB0ZXN0cyBJIHJhbi4KCkNDOiBJYW4gSmFj a3NvbiA8aWFuLmphY2tzb25AY2l0cml4LmNvbT4KQ0M6IFdlaSBMaXUgPHdlaS5saXUyQGNpdHJp eC5jb20+CkNDOiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgpDQzog SmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgotLS0KIHRvb2xzL2Z1enoveDg2X2luc3Ry dWN0aW9uX2VtdWxhdG9yL2FmbC1oYXJuZXNzLmMgfCAxMyArKystCiB0b29scy9mdXp6L3g4Nl9p bnN0cnVjdGlvbl9lbXVsYXRvci9mdXp6LWVtdWwuYyAgIHwgOTQgKysrKysrKysrKysrKysrKysr KystLS0KIDIgZmlsZXMgY2hhbmdlZCwgOTcgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvdG9vbHMvZnV6ei94ODZfaW5zdHJ1Y3Rpb25fZW11bGF0b3IvYWZsLWhh cm5lc3MuYyBiL3Rvb2xzL2Z1enoveDg2X2luc3RydWN0aW9uX2VtdWxhdG9yL2FmbC1oYXJuZXNz LmMKaW5kZXggNzlmOGFlYzY1My4uMTJiMzc2NWRjYyAxMDA2NDQKLS0tIGEvdG9vbHMvZnV6ei94 ODZfaW5zdHJ1Y3Rpb25fZW11bGF0b3IvYWZsLWhhcm5lc3MuYworKysgYi90b29scy9mdXp6L3g4 Nl9pbnN0cnVjdGlvbl9lbXVsYXRvci9hZmwtaGFybmVzcy5jCkBAIC00LDYgKzQsNyBAQAogI2lu Y2x1ZGUgPHN0ZGxpYi5oPgogI2luY2x1ZGUgPHN0cmluZy5oPgogI2luY2x1ZGUgPGdldG9wdC5o PgorI2luY2x1ZGUgPHN0ZGJvb2wuaD4KIAogZXh0ZXJuIGludCBMTFZNRnV6emVySW5pdGlhbGl6 ZShpbnQgKmFyZ2MsIGNoYXIgKioqYXJndik7CiBleHRlcm4gaW50IExMVk1GdXp6ZXJUZXN0T25l SW5wdXQoY29uc3QgdWludDhfdCAqZGF0YV9wLCBzaXplX3Qgc2l6ZSk7CkBAIC0xMiw2ICsxMyw4 IEBAIGV4dGVybiB1bnNpZ25lZCBpbnQgZnV6el9taW5pbWFsX2lucHV0X3NpemUodm9pZCk7CiAj ZGVmaW5lIElOUFVUX1NJWkUgIDQwOTYKIHN0YXRpYyB1aW50OF90IGlucHV0W0lOUFVUX1NJWkVd OwogCitleHRlcm4gYm9vbCBvcHRfY29tcGFjdDsKKwogaW50IG1haW4oaW50IGFyZ2MsIGNoYXIg Kiphcmd2KQogewogICAgIHNpemVfdCBzaXplOwpAQCAtMjIsMTMgKzI1LDE3IEBAIGludCBtYWlu KGludCBhcmdjLCBjaGFyICoqYXJndikKICAgICBzZXRidWYoc3RkaW4sIE5VTEwpOwogICAgIHNl dGJ1ZihzdGRvdXQsIE5VTEwpOwogCisgICAgb3B0X2NvbXBhY3QgPSB0cnVlOworCiAgICAgd2hp bGUgKCAxICkKICAgICB7CiAgICAgICAgIGVudW0gewogICAgICAgICAgICAgT1BUX01JTl9TSVpF LAorICAgICAgICAgICAgT1BUX0NPTVBBQ1QsCiAgICAgICAgIH07CiAgICAgICAgIHN0YXRpYyBj b25zdCBzdHJ1Y3Qgb3B0aW9uIGxvcHRzW10gPSB7CiAgICAgICAgICAgICB7ICJtaW4taW5wdXQt c2l6ZSIsIG5vX2FyZ3VtZW50LCBOVUxMLCBPUFRfTUlOX1NJWkUgfSwKKyAgICAgICAgICAgIHsg ImNvbXBhY3QiLCByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgT1BUX0NPTVBBQ1QgfSwKICAgICAg ICAgICAgIHsgMCwgMCwgMCwgMCB9CiAgICAgICAgIH07CiAgICAgICAgIGludCBjID0gZ2V0b3B0 X2xvbmdfb25seShhcmdjLCBhcmd2LCAiIiwgbG9wdHMsIE5VTEwpOwpAQCAtNDMsOCArNTAsMTIg QEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogICAgICAgICAgICAgZXhpdCgwKTsK ICAgICAgICAgICAgIGJyZWFrOwogCisgICAgICAgIGNhc2UgT1BUX0NPTVBBQ1Q6CisgICAgICAg ICAgICBvcHRfY29tcGFjdCA9IGF0b2kob3B0YXJnKTsKKyAgICAgICAgICAgIGJyZWFrOworICAg ICAgICAgICAgCiAgICAgICAgIGNhc2UgJz8nOgotICAgICAgICAgICAgcHJpbnRmKCJVc2FnZTog JXMgJEZJTEUgWyRGSUxFLi4uXSB8IFstLW1pbi1pbnB1dC1zaXplXVxuIiwgYXJndlswXSk7Cisg ICAgICAgICAgICBwcmludGYoIlVzYWdlOiAlcyBbLS1jb21wYWN0PTB8MV0gJEZJTEUgWyRGSUxF Li4uXSB8IFstLW1pbi1pbnB1dC1zaXplXVxuIiwgYXJndlswXSk7CiAgICAgICAgICAgICBleGl0 KC0xKTsKICAgICAgICAgICAgIGJyZWFrOwogCmRpZmYgLS1naXQgYS90b29scy9mdXp6L3g4Nl9p bnN0cnVjdGlvbl9lbXVsYXRvci9mdXp6LWVtdWwuYyBiL3Rvb2xzL2Z1enoveDg2X2luc3RydWN0 aW9uX2VtdWxhdG9yL2Z1enotZW11bC5jCmluZGV4IDg5ZDE3MTQxMjUuLjQ4YjAyZjJiZjYgMTAw NjQ0Ci0tLSBhL3Rvb2xzL2Z1enoveDg2X2luc3RydWN0aW9uX2VtdWxhdG9yL2Z1enotZW11bC5j CisrKyBiL3Rvb2xzL2Z1enoveDg2X2luc3RydWN0aW9uX2VtdWxhdG9yL2Z1enotZW11bC5jCkBA IC01Myw2ICs1MywxNSBAQCBzdHJ1Y3QgZnV6el9zdGF0ZQogfTsKICNkZWZpbmUgREFUQV9PRkZT RVQgb2Zmc2V0b2Yoc3RydWN0IGZ1enpfc3RhdGUsIGNvcnB1cykKIAorYm9vbCBvcHRfY29tcGFj dDsKKwordW5zaWduZWQgaW50IGZ1enpfbWluaW1hbF9pbnB1dF9zaXplKHZvaWQpCit7CisgICAg aWYgKCBvcHRfY29tcGFjdCApCisgICAgICAgIHJldHVybiBzaXplb2YodW5zaWduZWQgbG9uZykg KyAxOworICAgIGVsc2UKKyAgICAgICAgcmV0dXJuIERBVEFfT0ZGU0VUICsgMTsKK30KIAogc3Rh dGljIGlubGluZSBpbnQgZGF2YWlsKHN0cnVjdCBmdXp6X3N0YXRlICpzLCBzaXplX3Qgc2l6ZSkK IHsKQEAgLTY0Nyw5ICs2NTYsODEgQEAgc3RhdGljIHZvaWQgc2V0dXBfc3RhdGUoc3RydWN0IHg4 Nl9lbXVsYXRlX2N0eHQgKmN0eHQpCiB7CiAgICAgc3RydWN0IGZ1enpfc3RhdGUgKnMgPSBjdHh0 LT5kYXRhOwogCi0gICAgLyogRnV6eiBhbGwgb2YgdGhlIHN0YXRlIGluIG9uZSBnbyAqLwotICAg IGlmICghZHJlYWQocywgcywgREFUQV9PRkZTRVQpKQotICAgICAgICBleGl0KC0xKTsKKyAgICBp ZiAoICFvcHRfY29tcGFjdCApCisgICAgeworICAgICAgICAvKiBGdXp6IGFsbCBvZiB0aGUgc3Rh dGUgaW4gb25lIGdvICovCisgICAgICAgIGlmICghZHJlYWQocywgcywgREFUQV9PRkZTRVQpKQor ICAgICAgICAgICAgZXhpdCgtMSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAvKiBN b2RpZnkgb25seSBzZWxlY3QgYml0cyBvZiBzdGF0ZSAqLworCisgICAgLyogQWx3YXlzIHJlYWQg J29wdGlvbnMnICovCisgICAgaWYgKCAhZHJlYWQocywgJnMtPm9wdGlvbnMsIHNpemVvZihzLT5v cHRpb25zKSkgKQorICAgICAgICByZXR1cm47CisgICAgCisgICAgd2hpbGUoMSkgeworICAgICAg ICB1aW50MTZfdCBvZmZzZXQ7CisKKyAgICAgICAgLyogUmVhZCAxNiBiaXRzIHRvIGRlY2lkZSB3 aGF0IGJpdCBvZiBzdGF0ZSB0byBtb2RpZnkgKi8KKyAgICAgICAgaWYgKCAhZHJlYWQocywgJm9m ZnNldCwgc2l6ZW9mKG9mZnNldCkpICkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICAv KiAKKyAgICAgICAgICogVGhlbiBkZWNpZGUgaWYgaXQncyAicG9pbnRpbmcgdG8iIGRpZmZlcmVu dCBiaXRzIG9mIHRoZQorICAgICAgICAgKiBzdGF0ZSAKKyAgICAgICAgICovCisKKyAgICAgICAg LyogY3JbXT8gKi8KKyAgICAgICAgaWYgKCBvZmZzZXQgPCA1ICkKKyAgICAgICAgeworICAgICAg ICAgICAgaWYgKCAhZHJlYWQocywgcy0+Y3IgKyBvZmZzZXQsIHNpemVvZigqcy0+Y3IpKSApCisg ICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgcHJpbnRmKCJTZXR0aW5nIENSICVk IHRvICVseFxuIiwgb2Zmc2V0LCBzLT5jcltvZmZzZXRdKTsKKyAgICAgICAgICAgIGNvbnRpbnVl OworICAgICAgICB9CisgICAgICAgIAorICAgICAgICBvZmZzZXQgLT0gNTsKKworICAgICAgICAv KiBtc3JbXT8gKi8KKyAgICAgICAgaWYgKCBvZmZzZXQgPCBNU1JfSU5ERVhfTUFYICkKKyAgICAg ICAgeworICAgICAgICAgICAgaWYgKCAhZHJlYWQocywgcy0+bXNyICsgb2Zmc2V0LCBzaXplb2Yo KnMtPm1zcikpICkKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICBwcmludGYo IlNldHRpbmcgTVNSIGklZCAoJXgpIHRvICVseFxuIiwgb2Zmc2V0LAorICAgICAgICAgICAgICAg ICAgIG1zcl9pbmRleFtvZmZzZXRdLCBzLT5tc3Jbb2Zmc2V0XSk7CisgICAgICAgICAgICBjb250 aW51ZTsKKyAgICAgICAgfQorCisgICAgICAgIG9mZnNldCAtPSBNU1JfSU5ERVhfTUFYOworCisg ICAgICAgIC8qIHNlZ21lbnRzW10/ICovCisgICAgICAgIGlmICggb2Zmc2V0IDwgU0VHX05VTSAp CisgICAgICAgIHsKKyAgICAgICAgICAgIGlmICggIWRyZWFkKHMsIHMtPnNlZ21lbnRzICsgb2Zm c2V0LCBzaXplb2YoKnMtPnNlZ21lbnRzKSkgKQorICAgICAgICAgICAgICAgIHJldHVybjsKKyAg ICAgICAgICAgIHByaW50ZigiU2V0dGluZyBTZWdtZW50ICVkXG4iLCBvZmZzZXQpOworICAgICAg ICAgICAgY29udGludWU7CisgICAgICAgICAgICAKKyAgICAgICAgfQorCisgICAgICAgIG9mZnNl dCAtPSBTRUdfTlVNOworCisgICAgICAgIC8qIHJlZ3M/ICovCisgICAgICAgIGlmICggb2Zmc2V0 IDwgc2l6ZW9mKHN0cnVjdCBjcHVfdXNlcl9yZWdzKQorICAgICAgICAgICAgICYmIG9mZnNldCAr IHNpemVvZih1aW50NjRfdCkgPD0gc2l6ZW9mKHN0cnVjdCBjcHVfdXNlcl9yZWdzKSApCisgICAg ICAgIHsKKyAgICAgICAgICAgIGlmICggIWRyZWFkKHMsICgoY2hhciAqKWN0eHQtPnJlZ3MpICsg b2Zmc2V0LCBzaXplb2YodWludDY0X3QpKSApCisgICAgICAgICAgICAgICAgcmV0dXJuOworICAg ICAgICAgICAgcHJpbnRmKCJTZXR0aW5nIGNwdV91c2VyX3JlZ3Mgb2Zmc2V0ICV4XG4iLCBvZmZz ZXQpOworICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIH0KKworICAgICAgICAvKiBOb25l IG9mIHRoZSBhYm92ZSAtLSB0YWtlIHRoYXQgYXMgInN0YXJ0IGVtdWxhdGluZyIgKi8KKyAgICAg ICAgCisgICAgICAgIHJldHVybjsKKyAgICB9CiB9CiAKICNkZWZpbmUgQ0FOT05JQ0FMSVpFKHgp ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCkBAIC04MjEsNyArOTAyLDcgQEAg aW50IExMVk1GdXp6ZXJUZXN0T25lSW5wdXQoY29uc3QgdWludDhfdCAqZGF0YV9wLCBzaXplX3Qg c2l6ZSkKICAgICAvKiBSZXNldCBhbGwgZ2xvYmFsIHN0YXRlIHZhcmlhYmxlcyAqLwogICAgIG1l bXNldCgmaW5wdXQsIDAsIHNpemVvZihpbnB1dCkpOwogCi0gICAgaWYgKCBzaXplIDw9IERBVEFf T0ZGU0VUICkKKyAgICBpZiAoIHNpemUgPCBmdXp6X21pbmltYWxfaW5wdXRfc2l6ZSgpICkKICAg ICB7CiAgICAgICAgIHByaW50ZigiSW5wdXQgdG9vIHNtYWxsXG4iKTsKICAgICAgICAgcmV0dXJu IDE7CkBAIC04NTgsMTEgKzkzOSw2IEBAIGludCBMTFZNRnV6emVyVGVzdE9uZUlucHV0KGNvbnN0 IHVpbnQ4X3QgKmRhdGFfcCwgc2l6ZV90IHNpemUpCiAgICAgcmV0dXJuIDA7CiB9CiAKLXVuc2ln bmVkIGludCBmdXp6X21pbmltYWxfaW5wdXRfc2l6ZSh2b2lkKQotewotICAgIHJldHVybiBEQVRB X09GRlNFVCArIDE7Ci19Ci0KIC8qCiAgKiBMb2NhbCB2YXJpYWJsZXM6CiAgKiBtb2RlOiBDCi0t IAoyLjE0LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8v bGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK