From mboxrd@z Thu Jan 1 00:00:00 1970 From: George Dunlap Subject: [PATCH 14/14] fuzz/x86_emulate: Add an option to limit the number of instructions executed Date: Fri, 25 Aug 2017 17:43:43 +0100 Message-ID: <20170825164343.29015-14-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.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dlHkh-00067L-Hf for xen-devel@lists.xenproject.org; Fri, 25 Aug 2017 16:46:35 +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 QUZMIGNvbnNpZGVycyBhIHRlc3RjYXNlIHRvIGJlIGEgdXNlZnVsIGFkZGl0aW9uIG5vdCBvbmx5 IGlmIHRoZXJlIGFyZQp0dXBsZXMgZXhlcmNpc2VkIGJ5IHRoYXQgdGVzdGNhc2Ugd2hpY2ggd2Vy ZSBub3QgZXhlcmNpc2VkIG90aGVyd2lzZSwKYnV0IGFsc28gaWYgdGhlICpudW1iZXIqIG9mIHRp bWVzIGFuIGluZGl2aWR1YWwgdHVwbGUgaXMgZXhlcmNpc2VkCmNoYW5nZXMgc2lnbmlmaWNhbnRs eTsgaW4gcGFydGljdWxhciwgaWYgdGhlIG51bWJlciBvZiB0aGUgaGlnaGVzIGJpdApjaGFuZ2Vz IChpLmUuLCBpZiBpdCBpcyBydW4gMSwgMi0zLCA0LTcsIDgtMTUsICZjKS4KClVuZm9ydHVuYXRl bHksIG9uZSBzaW1wbGUgd2F5IHRvIGluY3JlYXNlIHRoZXNlIHN0YXRzIGl0IHRvIGV4ZWN1dGUK dGhlIHNhbWUgKG9yIHNpbWlsYXIpIGluc3RydWN0aW9ucyBtdWx0aXBsZSB0aW1lcy4gIFN1Y2gg bG9uZwp0ZXN0Y2FzZXMgdGFrZSBleHBvbmVudGlhbGx5IGxvbmdlciB0byBmdXp6OiB0aGUgZnV6 emVyIHNwZW5kcyBtb3JlCnRpbWUgZmxpcHBpbmcgYml0cyBsb29raW5nIGZvciBtZWFuaW5nZnVs IGNoYW5nZXMsIGFuZCBlYWNoIGV4ZWN1dGlvbgp0YWtlcyBsb25nZXIgYmVjYXVzZSBpdCBpcyBk b2luZyBtb3JlIHRoaW5ncy4gIFNvIGxvbmcgcGF0aHMgd2hpY2ggYWRkCm5vdGhpbmcgdG8gdGhl IGFjdHVhbCBjb2RlIGNvdmVyYWdlIGJ1dCBlZmZlY3RpdmVseSAiZGlzdHJhY3QiIHRoZQpmdXp6 ZXIsIG1ha2luZyBpdCBsZXNzIGVmZmVjdGl2ZS4KCkV4cGVyaW1lbnRzIGhhdmUgc2hvd24gdGhh dCBub3QgYWxsb3dpbmcgaW5maW5pdGUgbnVtYmVyIG9mCmluc3RydWN0aW9uIHJldHJpZXMgZm9y IHRoZSBvbGQgKG5vbi1jb21wYWN0KSBmb3JtYXQgZG9lcyBpbmRlZWQgc3BlZWQKdXAgYW5kIGlu Y3JlYXNlIGNvZGUgY292ZXJhZ2UuICBIb3dldmVyLCBpdCBoYXMgYWxzbyBzaG93biB0aGF0IG9u IHRoZQpuZXcsIG1vcmUgY29tcGFjdCBmb3JtYXQsIGhhdmluZyBubyBpbnN0cnVjdGlvbiBsaW1p dCBjYXVzZXMgdGhlIGhpZ2hlc3QKdGhyb3VnaHB1dCBpbiBjb2RlIGNvdmVyYWdlLgoKU28gbGVh dmUgdGhlIG9wdGlvbiBpbiwgYnV0IGhhdmUgaXQgZGVmYXVsdCB0byAwIChubyBsaW1pdCkuCgpT aWduZWQtb2ZmLWJ5OiBHZW9yZ2UgRHVubGFwIDxnZW9yZ2UuZHVubGFwQGNpdHJpeC5jb20+Ci0t LQpDQzogSWFuIEphY2tzb24gPGlhbi5qYWNrc29uQGNpdHJpeC5jb20+CkNDOiBXZWkgTGl1IDx3 ZWkubGl1MkBjaXRyaXguY29tPgpDQzogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0 cml4LmNvbT4KQ0M6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KLS0tCiB0b29scy9m dXp6L3g4Nl9pbnN0cnVjdGlvbl9lbXVsYXRvci9hZmwtaGFybmVzcy5jIHwgOSArKysrKysrKy0K IHRvb2xzL2Z1enoveDg2X2luc3RydWN0aW9uX2VtdWxhdG9yL2Z1enotZW11bC5jICAgfCA3ICsr KysrKy0KIDIgZmlsZXMgY2hhbmdlZCwgMTQgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS90b29scy9mdXp6L3g4Nl9pbnN0cnVjdGlvbl9lbXVsYXRvci9hZmwtaGFy bmVzcy5jIGIvdG9vbHMvZnV6ei94ODZfaW5zdHJ1Y3Rpb25fZW11bGF0b3IvYWZsLWhhcm5lc3Mu YwppbmRleCA4NmMxMjQxNzg0Li41Y2M2YmEzOWZmIDEwMDY0NAotLS0gYS90b29scy9mdXp6L3g4 Nl9pbnN0cnVjdGlvbl9lbXVsYXRvci9hZmwtaGFybmVzcy5jCisrKyBiL3Rvb2xzL2Z1enoveDg2 X2luc3RydWN0aW9uX2VtdWxhdG9yL2FmbC1oYXJuZXNzLmMKQEAgLTE1LDYgKzE1LDcgQEAgc3Rh dGljIHVpbnQ4X3QgaW5wdXRbSU5QVVRfU0laRV07CiAKIGV4dGVybiBib29sIG9wdF9jb21wYWN0 OwogZXh0ZXJuIGJvb2wgb3B0X3JlcnVuOworZXh0ZXJuIGludCBvcHRfaW5zdHJ1Y3Rpb25fbGlt aXQ7CiAKIGludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKIHsKQEAgLTM0LDExICszNSwx MyBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAgICAgICAgICAgICBPUFRfTUlO X1NJWkUsCiAgICAgICAgICAgICBPUFRfQ09NUEFDVCwKICAgICAgICAgICAgIE9QVF9SRVJVTiwK KyAgICAgICAgICAgIE9QVF9JTlNUUlVDVElPTl9MSU1JVCwKICAgICAgICAgfTsKICAgICAgICAg c3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9wdHNbXSA9IHsKICAgICAgICAgICAgIHsgIm1p bi1pbnB1dC1zaXplIiwgbm9fYXJndW1lbnQsIE5VTEwsIE9QVF9NSU5fU0laRSB9LAogICAgICAg ICAgICAgeyAiY29tcGFjdCIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCBPUFRfQ09NUEFDVCB9 LAogICAgICAgICAgICAgeyAicmVydW4iLCBub19hcmd1bWVudCwgTlVMTCwgT1BUX1JFUlVOIH0s CisgICAgICAgICAgICB7ICJpbnN0cnVjdGlvbi1saW1pdCIsIHJlcXVpcmVkX2FyZ3VtZW50LCBO VUxMLCBPUFRfSU5TVFJVQ1RJT05fTElNSVQgfSwKICAgICAgICAgICAgIHsgMCwgMCwgMCwgMCB9 CiAgICAgICAgIH07CiAgICAgICAgIGludCBjID0gZ2V0b3B0X2xvbmdfb25seShhcmdjLCBhcmd2 LCAiIiwgbG9wdHMsIE5VTEwpOwpAQCAtNjEsOCArNjQsMTIgQEAgaW50IG1haW4oaW50IGFyZ2Ms IGNoYXIgKiphcmd2KQogICAgICAgICAgICAgb3B0X3JlcnVuID0gdHJ1ZTsKICAgICAgICAgICAg IGJyZWFrOwogCisgICAgICAgIGNhc2UgT1BUX0lOU1RSVUNUSU9OX0xJTUlUOgorICAgICAgICAg ICAgb3B0X2luc3RydWN0aW9uX2xpbWl0ID0gYXRvaShvcHRhcmcpOworICAgICAgICAgICAgYnJl YWs7CisKICAgICAgICAgY2FzZSAnPyc6Ci0gICAgICAgICAgICBwcmludGYoIlVzYWdlOiAlcyBb LS1jb21wYWN0PTB8MV0gWy0tcmVydW5dICRGSUxFIFskRklMRS4uLl0gfCBbLS1taW4taW5wdXQt c2l6ZV1cbiIsIGFyZ3ZbMF0pOworICAgICAgICAgICAgcHJpbnRmKCJVc2FnZTogJXMgWy0tY29t cGFjdD0wfDFdIFstLXJlcnVuXSBbLS1pbnN0cnVjdGlvbi1saW1pdD1OXSAkRklMRSBbJEZJTEUu Li5dIHwgWy0tbWluLWlucHV0LXNpemVdXG4iLCBhcmd2WzBdKTsKICAgICAgICAgICAgIGV4aXQo LTEpOwogICAgICAgICAgICAgYnJlYWs7CiAKZGlmZiAtLWdpdCBhL3Rvb2xzL2Z1enoveDg2X2lu c3RydWN0aW9uX2VtdWxhdG9yL2Z1enotZW11bC5jIGIvdG9vbHMvZnV6ei94ODZfaW5zdHJ1Y3Rp b25fZW11bGF0b3IvZnV6ei1lbXVsLmMKaW5kZXggN2EwN2U3ZTM3YS4uNDZjMzgyZGIxMSAxMDA2 NDQKLS0tIGEvdG9vbHMvZnV6ei94ODZfaW5zdHJ1Y3Rpb25fZW11bGF0b3IvZnV6ei1lbXVsLmMK KysrIGIvdG9vbHMvZnV6ei94ODZfaW5zdHJ1Y3Rpb25fZW11bGF0b3IvZnV6ei1lbXVsLmMKQEAg LTk2MCwxMCArOTYwLDEzIEBAIHZvaWQgc2V0dXBfZnV6el9zdGF0ZShzdHJ1Y3QgZnV6el9zdGF0 ZSAqc3RhdGUsIGNvbnN0IHVpbnQ4X3QgKmRhdGFfcCwgc2l6ZV90IHNpCiAgICAgc3RhdGUtPmRh dGFfbnVtID0gc2l6ZTsKIH0KIAoraW50IG9wdF9pbnN0cnVjdGlvbl9saW1pdCA9IDA7CisKIGlu dCBydW50ZXN0KHN0cnVjdCBmdXp6X3N0YXRlICpzdGF0ZSkgewogICAgIGludCByYzsKIAogICAg IHN0cnVjdCB4ODZfZW11bGF0ZV9jdHh0ICpjdHh0ID0gJnN0YXRlLT5jdHh0OworICAgIGludCBp Y291bnQgPSAwOwogICAgIAogICAgIHN0YXRlLT5vcHMgPSBhbGxfZnV6emVyX29wczsKIApAQCAt OTg4LDcgKzk5MSw5IEBAIGludCBydW50ZXN0KHN0cnVjdCBmdXp6X3N0YXRlICpzdGF0ZSkgewog CiAgICAgICAgIHJjID0geDg2X2VtdWxhdGUoY3R4dCwgJnN0YXRlLT5vcHMpOwogICAgICAgICBw cmludGYoIkVtdWxhdGlvbiByZXN1bHQ6ICVkXG4iLCByYyk7Ci0gICAgfSB3aGlsZSAoIHJjID09 IFg4NkVNVUxfT0tBWSApOworICAgIH0gd2hpbGUgKCByYyA9PSBYODZFTVVMX09LQVkgJiYKKyAg ICAgICAgICAgICAgKCFvcHRfaW5zdHJ1Y3Rpb25fbGltaXQgfHwKKyAgICAgICAgICAgICAgICgr K2ljb3VudCA8IG9wdF9pbnN0cnVjdGlvbl9saW1pdCkpICk7CiAKICAgICBzYXZlX2ZwdV9zdGF0 ZShzdGF0ZS0+ZnhzYXZlKTsKICAgICAKLS0gCjIuMTQuMQoKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRl dmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=