From mboxrd@z Thu Jan 1 00:00:00 1970 From: George Dunlap Subject: [PATCH 06/14] fuzz/x86_emulate: Implement dread() and davail() Date: Fri, 25 Aug 2017 17:43:35 +0100 Message-ID: <20170825164343.29015-6-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 1dlHi3-0004wU-Vp for xen-devel@lists.xenproject.org; Fri, 25 Aug 2017 16:43:52 +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 UmF0aGVyIHRoYW4gb3Blbi1jb2RpbmcgdGhlICJyZWFkIiBmcm9tIHRoZSBpbnB1dCBmaWxlLgoK U2lnbmVkLW9mZi1ieTogR2VvcmdlIER1bmxhcCA8Z2VvcmdlLmR1bmxhcEBjaXRyaXguY29tPgot LS0KQ0M6IElhbiBKYWNrc29uIDxpYW4uamFja3NvbkBjaXRyaXguY29tPgpDQzogV2VpIExpdSA8 d2VpLmxpdTJAY2l0cml4LmNvbT4KQ0M6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNp dHJpeC5jb20+CkNDOiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+Ci0tLQogdG9vbHMv ZnV6ei94ODZfaW5zdHJ1Y3Rpb25fZW11bGF0b3IvZnV6ei1lbXVsLmMgfCAzMSArKysrKysrKysr KysrKysrKystLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMjIgaW5zZXJ0aW9ucygrKSwgOSBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS90b29scy9mdXp6L3g4Nl9pbnN0cnVjdGlvbl9lbXVsYXRv ci9mdXp6LWVtdWwuYyBiL3Rvb2xzL2Z1enoveDg2X2luc3RydWN0aW9uX2VtdWxhdG9yL2Z1enot ZW11bC5jCmluZGV4IDdmOWEzNjk0MjEuLjBmNWZmMGIyNjUgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2Z1 enoveDg2X2luc3RydWN0aW9uX2VtdWxhdG9yL2Z1enotZW11bC5jCisrKyBiL3Rvb2xzL2Z1enov eDg2X2luc3RydWN0aW9uX2VtdWxhdG9yL2Z1enotZW11bC5jCkBAIC01Miw2ICs1MiwyMiBAQCBz dHJ1Y3QgZnV6el9zdGF0ZQogICAgIHN0cnVjdCB4ODZfZW11bGF0ZV9vcHMgb3BzOwogfTsKIAor c3RhdGljIGlubGluZSBpbnQgZGF2YWlsKHN0cnVjdCBmdXp6X3N0YXRlICpzLCBzaXplX3Qgc2l6 ZSkKK3sKKyAgICByZXR1cm4gcy0+ZGF0YV9pbmRleCArIHNpemUgPCBzLT5kYXRhX251bTsKK30K Kworc3RhdGljIGlubGluZSBpbnQgZHJlYWQoc3RydWN0IGZ1enpfc3RhdGUgKnMsIHZvaWQgKmRz dCwgc2l6ZV90IHNpemUpCit7CisgICAgaWYgKCAhZGF2YWlsKHMsIHNpemUpICkKKyAgICAgICAg cmV0dXJuIDA7CisKKyAgICBtZW1jcHkoZHN0LCAmcy0+Y29ycHVzLT5kYXRhW3MtPmRhdGFfaW5k ZXhdLCBzaXplKTsKKyAgICBzLT5kYXRhX2luZGV4ICs9IHNpemU7CisKKyAgICByZXR1cm4gMTsK K30KKwogY2hhciAqeDg2ZW11bF9yZXR1cm5fc3RyaW5nW10gPSB7CiAgICAgW1g4NkVNVUxfT0tB WV09Ilg4NkVNVUxfT0tBWSIsCiAgICAgW1g4NkVNVUxfVU5IQU5ETEVBQkxFXT0iWDg2RU1VTF9V TkhBTkRMRUFCTEUiLApAQCAtNjgsMTAgKzg0LDEwIEBAIHN0YXRpYyBpbnQgbWF5YmVfZmFpbChz dHJ1Y3QgeDg2X2VtdWxhdGVfY3R4dCAqY3R4dCwKICAgICAgICAgICAgICAgICAgICAgICBjb25z dCBjaGFyICp3aHksIGJvb2wgZXhjZXB0aW9uKQogewogICAgIHN0cnVjdCBmdXp6X3N0YXRlICpz ID0gY3R4dC0+ZGF0YTsKLSAgICBjb25zdCBzdHJ1Y3QgZnV6el9jb3JwdXMgKmMgPSBzLT5jb3Jw dXM7CisgICAgdW5zaWduZWQgY2hhciBjOwogICAgIGludCByYzsKIAotICAgIGlmICggcy0+ZGF0 YV9pbmRleCA+PSBzLT5kYXRhX251bSApCisgICAgaWYgKCAhZHJlYWQocywgJmMsIHNpemVvZihj KSkgKQogICAgICAgICByYyA9IFg4NkVNVUxfRVhDRVBUSU9OOwogICAgIGVsc2UKICAgICB7CkBA IC04MCwxMyArOTYsMTIgQEAgc3RhdGljIGludCBtYXliZV9mYWlsKHN0cnVjdCB4ODZfZW11bGF0 ZV9jdHh0ICpjdHh0LAogICAgICAgICAgKiAyNSUgdW5oYW5kbGFibGUKICAgICAgICAgICogMjUl IGV4Y2VwdGlvbgogICAgICAgICAgKi8KLSAgICAgICAgaWYgKCBjLT5kYXRhW3MtPmRhdGFfaW5k ZXhdID4gMHhjMCApCisgICAgICAgIGlmICggYyA+IDB4YzAgKQogICAgICAgICAgICAgcmMgPSBY ODZFTVVMX0VYQ0VQVElPTjsKLSAgICAgICAgZWxzZSBpZiAoIGMtPmRhdGFbcy0+ZGF0YV9pbmRl eF0gPiAweDgwICkKKyAgICAgICAgZWxzZSBpZiAoIGMgPiAweDgwICkKICAgICAgICAgICAgIHJj ID0gWDg2RU1VTF9VTkhBTkRMRUFCTEU7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIHJjID0g WDg2RU1VTF9PS0FZOwotICAgICAgICBzLT5kYXRhX2luZGV4Kys7CiAgICAgfQogCiAgICAgaWYg KCByYyA9PSBYODZFTVVMX0VYQ0VQVElPTiAmJiAhZXhjZXB0aW9uICkKQEAgLTEwNiwxMSArMTIx LDEwIEBAIHN0YXRpYyBpbnQgZGF0YV9yZWFkKHN0cnVjdCB4ODZfZW11bGF0ZV9jdHh0ICpjdHh0 LAogICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqd2h5LCB2b2lkICpkc3QsIHVuc2ln bmVkIGludCBieXRlcykKIHsKICAgICBzdHJ1Y3QgZnV6el9zdGF0ZSAqcyA9IGN0eHQtPmRhdGE7 Ci0gICAgY29uc3Qgc3RydWN0IGZ1enpfY29ycHVzICpjID0gcy0+Y29ycHVzOwogICAgIHVuc2ln bmVkIGludCBpOwogICAgIGludCByYzsKIAotICAgIGlmICggcy0+ZGF0YV9pbmRleCArIGJ5dGVz ID4gcy0+ZGF0YV9udW0gKQorICAgIGlmICggIWRhdmFpbChzLCBieXRlcykgKQogICAgIHsKICAg ICAgICAgLyoKICAgICAgICAgICogRmFrZSB1cCBhIHNlZ21lbnQgbGltaXQgdmlvbGF0aW9uLiAg U3lzdGVtIHNlZ21lbnQgbGltaXQgdm9sYXRpb25zCkBAIC0xMjgsOCArMTQyLDcgQEAgc3RhdGlj IGludCBkYXRhX3JlYWQoc3RydWN0IHg4Nl9lbXVsYXRlX2N0eHQgKmN0eHQsCiAKICAgICBpZiAo IHJjID09IFg4NkVNVUxfT0tBWSApCiAgICAgewotICAgICAgICBtZW1jcHkoZHN0LCAmYy0+ZGF0 YVtzLT5kYXRhX2luZGV4XSwgYnl0ZXMpOwotICAgICAgICBzLT5kYXRhX2luZGV4ICs9IGJ5dGVz OworICAgICAgICBkcmVhZChzLCBkc3QsIGJ5dGVzKTsKIAogICAgICAgICBwcmludGYoIiVzOiAi LCB3aHkpOwogICAgICAgICBmb3IgKCBpID0gMDsgaSA8IGJ5dGVzOyBpKysgKQotLSAKMi4xNC4x CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRl dmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhl bi5vcmcveGVuLWRldmVsCg==