From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: [PATCH v3] x86emul/fuzz: add a state sanity checking function Date: Tue, 02 Apr 2019 07:01:07 -0600 Message-ID: <5CA35D130200007800223E53@prv1-mh.provo.novell.com> References: <5C9E31960200007800222DDF@prv1-mh.provo.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hBJ2R-0007in-Sn for xen-devel@lists.xenproject.org; Tue, 02 Apr 2019 13:01:15 +0000 Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel Cc: George Dunlap , Andrew Cooper , Wei Liu , Roger Pau Monne List-Id: xen-devel@lists.xenproject.org VGhpcyBpcyB0byBhY2NvbXBhbnkgc2FuaXRpemVfaW5wdXQoKS4gSnVzdCBsaWtlIGZvciBpbml0 aWFsIHN0YXRlIHdlCndhbnQgdG8gaGF2ZSBzdGF0ZSBiZXR3ZWVuIHR3byBlbXVsYXRlZCBpbnNu cyBzYW5lLCBhdCBsZWFzdCBhcyBmYXIgYXMKYXNzdW1wdGlvbnMgaW4gdGhlIG1haW4gZW11bGF0 b3IgZ28uIERvIG1pbmltYWwgY2hlY2tpbmcgYWZ0ZXIgc2VnbWVudApyZWdpc3RlciwgQ1IsIGFu ZCBNU1Igd3JpdGVzLCBhbmQgcm9sbCBiYWNrIHRvIHRoZSBvbGQgdmFsdWUgaW4gY2FzZSBvZgpm YWlsdXJlIChyYWlzaW5nICNHUCgwKSBhdCB0aGUgc2FtZSB0aW1lKS4KCkluIHRoZSBwYXJ0aWN1 bGFyIGNhc2Ugb2JzZXJ2ZWQsIGEgQ1IwIHdyaXRlIGNsZWFyaW5nIENSMC5QRSB3YXMKZm9sbG93 ZWQgYnkgYSBWRVgtZW5jb2RlZCBpbnNuLCB3aGljaCB0aGUgZGVjb2RlciBhY2NlcHRzIGJhc2Vk IG9uCmd1ZXN0IGFkZHJlc3Mgc2l6ZSwgcmVzdHJpY3RpbmcgdGhpbmdzIGp1c3Qgb3V0c2lkZSBv ZiB0aGUgNjQtYml0IGNhc2UKKHJlYWwgYW5kIHZpcnR1YWwgbW9kZXMgZG9uJ3QgYWxsb3cgVkVY LWVuY29kZWQgaW5zbnMpLiBTdWJzZXF1ZW50bHkKX2dldF9mcHUoKSB3b3VsZCB0aGVuIGFzc2Vy dCB0aGF0IENSMC5QRSBtdXN0IGJlIHNldCAoYW5kIEVGTEFHUy5WTQpjbGVhcikgd2hlbiB0cnlp bmcgdG8gaW52b2tlIFlNTSwgWk1NLCBvciBPUE1BU0sgc3RhdGUuCgpTaWduZWQtb2ZmLWJ5OiBK YW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+Ci0tLQp2MzogUmVuYW1lIGhlbHBlciBmdW5j dGlvbiB0byBjaGVja19zdGF0ZSgpLgp2MjogQ29ycmVjdCBwbGFjZW1lbnQgb2YgbmV3IGRlY2xh cmF0aW9uIGluIGZ1enpfd3JpdGVfc2VnbWVudCgpLgoKLS0tIGEvdG9vbHMvZnV6ei94ODZfaW5z dHJ1Y3Rpb25fZW11bGF0b3IvZnV6ei1lbXVsLmMKKysrIGIvdG9vbHMvZnV6ei94ODZfaW5zdHJ1 Y3Rpb25fZW11bGF0b3IvZnV6ei1lbXVsLmMKQEAgLTc2LDYgKzc2LDggQEAgc3RhdGljIGlubGlu ZSBib29sIGlucHV0X3JlYWQoc3RydWN0IGZ1egogICAgIHJldHVybiB0cnVlOwogfQogCitzdGF0 aWMgYm9vbCBjaGVja19zdGF0ZShzdHJ1Y3QgeDg2X2VtdWxhdGVfY3R4dCAqY3R4dCk7CisKIHN0 YXRpYyBjb25zdCBjaGFyKiBjb25zdCB4ODZlbXVsX3JldHVybl9zdHJpbmdbXSA9IHsKICAgICBb WDg2RU1VTF9PS0FZXSA9ICJYODZFTVVMX09LQVkiLAogICAgIFtYODZFTVVMX1VOSEFORExFQUJM RV0gPSAiWDg2RU1VTF9VTkhBTkRMRUFCTEUiLApAQCAtNDI0LDggKzQyNiwxOSBAQCBzdGF0aWMg aW50IGZ1enpfd3JpdGVfc2VnbWVudCgKICAgICByYyA9IG1heWJlX2ZhaWwoY3R4dCwgIndyaXRl X3NlZ21lbnQiLCB0cnVlKTsKIAogICAgIGlmICggcmMgPT0gWDg2RU1VTF9PS0FZICkKKyAgICB7 CisgICAgICAgIHN0cnVjdCBzZWdtZW50X3JlZ2lzdGVyIG9sZCA9IGMtPnNlZ21lbnRzW3NlZ107 CisKICAgICAgICAgYy0+c2VnbWVudHNbc2VnXSA9ICpyZWc7CiAKKyAgICAgICAgaWYgKCAhY2hl Y2tfc3RhdGUoY3R4dCkgKQorICAgICAgICB7CisgICAgICAgICAgICBjLT5zZWdtZW50c1tzZWdd ID0gb2xkOworICAgICAgICAgICAgeDg2X2VtdWxfaHdfZXhjZXB0aW9uKDEzIC8qICNHUCAqLywg MCwgY3R4dCk7CisgICAgICAgICAgICByYyA9IFg4NkVNVUxfRVhDRVBUSU9OOworICAgICAgICB9 CisgICAgfQorCiAgICAgcmV0dXJuIHJjOwogfQogCkBAIC00NTIsNiArNDY1LDcgQEAgc3RhdGlj IGludCBmdXp6X3dyaXRlX2NyKAogewogICAgIHN0cnVjdCBmdXp6X3N0YXRlICpzID0gY3R4dC0+ ZGF0YTsKICAgICBzdHJ1Y3QgZnV6el9jb3JwdXMgKmMgPSBzLT5jb3JwdXM7CisgICAgdW5zaWdu ZWQgbG9uZyBvbGQ7CiAgICAgaW50IHJjOwogCiAgICAgaWYgKCByZWcgPj0gQVJSQVlfU0laRShj LT5jcikgKQpAQCAtNDYxLDkgKzQ3NSwxNyBAQCBzdGF0aWMgaW50IGZ1enpfd3JpdGVfY3IoCiAg ICAgaWYgKCByYyAhPSBYODZFTVVMX09LQVkgKQogICAgICAgICByZXR1cm4gcmM7CiAKKyAgICBv bGQgPSBjLT5jcltyZWddOwogICAgIGMtPmNyW3JlZ10gPSB2YWw7CiAKLSAgICByZXR1cm4gWDg2 RU1VTF9PS0FZOworICAgIGlmICggIWNoZWNrX3N0YXRlKGN0eHQpICkKKyAgICB7CisgICAgICAg IGMtPmNyW3JlZ10gPSBvbGQ7CisgICAgICAgIHg4Nl9lbXVsX2h3X2V4Y2VwdGlvbigxMyAvKiAj R1AgKi8sIDAsIGN0eHQpOworICAgICAgICByYyA9IFg4NkVNVUxfRVhDRVBUSU9OOworICAgIH0K KworICAgIHJldHVybiByYzsKIH0KIAogI2RlZmluZSBmdXp6X3JlYWRfeGNyIGVtdWxfdGVzdF9y ZWFkX3hjcgpAQCAtNTYxLDcgKzU4MywxNiBAQCBzdGF0aWMgaW50IGZ1enpfd3JpdGVfbXNyKAog ICAgIHsKICAgICAgICAgaWYgKCBtc3JfaW5kZXhbaWR4XSA9PSByZWcgKQogICAgICAgICB7Cisg ICAgICAgICAgICB1aW50NjRfdCBvbGQgPSBjLT5tc3JbaWR4XTsKKwogICAgICAgICAgICAgYy0+ bXNyW2lkeF0gPSB2YWw7CisKKyAgICAgICAgICAgIGlmICggIWNoZWNrX3N0YXRlKGN0eHQpICkK KyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBjLT5tc3JbaWR4XSA9IG9sZDsKKyAgICAg ICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKwogICAgICAgICAgICAgcmV0dXJuIFg4 NkVNVUxfT0tBWTsKICAgICAgICAgfQogICAgIH0KQEAgLTgxMSw2ICs4NDIsMzAgQEAgc3RhdGlj IHZvaWQgc2FuaXRpemVfaW5wdXQoc3RydWN0IHg4Nl9lbQogICAgIH0KIH0KIAorLyoKKyAqIENh bGwgdGhpcyBmdW5jdGlvbiBmcm9tIGhvb2tzIHBvdGVudGlhbGx5IGFsdGVyaW5nIG1hY2hpbmUg c3RhdGUgaW50bworICogc29tZXRoaW5nIHRoYXQncyBub3QgYXJjaGl0ZWN0dXJhbGx5IHZhbGlk LCB5ZXQgd2hpY2ggLSBhcyBwZXIgYWJvdmUgLQorICogdGhlIGVtdWxhdG9yIHJlbGllcyBvbi4K KyAqLworc3RhdGljIGJvb2wgY2hlY2tfc3RhdGUoc3RydWN0IHg4Nl9lbXVsYXRlX2N0eHQgKmN0 eHQpCit7CisgICAgY29uc3Qgc3RydWN0IGZ1enpfc3RhdGUgKnMgPSBjdHh0LT5kYXRhOworICAg IGNvbnN0IHN0cnVjdCBmdXp6X2NvcnB1cyAqYyA9IHMtPmNvcnB1czsKKyAgICBjb25zdCBzdHJ1 Y3QgY3B1X3VzZXJfcmVncyAqcmVncyA9ICZjLT5yZWdzOworCisgICAgaWYgKCBsb25nX21vZGVf YWN0aXZlKGN0eHQpICYmICEoYy0+Y3JbMF0gJiBYODZfQ1IwX1BHKSApCisgICAgICAgIHJldHVy biBmYWxzZTsKKworICAgIGlmICggKGMtPmNyWzBdICYgWDg2X0NSMF9QRykgJiYgIShjLT5jclsw XSAmIFg4Nl9DUjBfUEUpICkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKCAocmVn cy0+cmZsYWdzICYgWDg2X0VGTEFHU19WTSkgJiYKKyAgICAgICAgIChjLT5zZWdtZW50c1t4ODZf c2VnX2NzXS5kYiB8fCBjLT5zZWdtZW50c1t4ODZfc2VnX3NzXS5kYikgKQorICAgICAgICByZXR1 cm4gZmFsc2U7CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogaW50IExMVk1GdXp6ZXJJbml0aWFs aXplKGludCAqYXJnYywgY2hhciAqKiphcmd2KQogewogICAgIGlmICggIWVtdWxfdGVzdF9pbml0 KCkgKQoKCgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Clhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0 dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=