From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: [PATCH] x86emul/fuzz: add a state sanitization function Date: Fri, 29 Mar 2019 08:54:14 -0600 Message-ID: <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 all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1h9std-00021R-WB for xen-devel@lists.xenproject.org; Fri, 29 Mar 2019 14:54:18 +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+CgotLS0gYS90b29scy9mdXp6L3g4Nl9pbnN0 cnVjdGlvbl9lbXVsYXRvci9mdXp6LWVtdWwuYworKysgYi90b29scy9mdXp6L3g4Nl9pbnN0cnVj dGlvbl9lbXVsYXRvci9mdXp6LWVtdWwuYwpAQCAtNzYsNiArNzYsOCBAQCBzdGF0aWMgaW5saW5l IGJvb2wgaW5wdXRfcmVhZChzdHJ1Y3QgZnV6CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK3N0YXRp YyBib29sIHNhbml0aXplX3N0YXRlKHN0cnVjdCB4ODZfZW11bGF0ZV9jdHh0ICpjdHh0KTsKKwog c3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IHg4NmVtdWxfcmV0dXJuX3N0cmluZ1tdID0gewogICAg IFtYODZFTVVMX09LQVldID0gIlg4NkVNVUxfT0tBWSIsCiAgICAgW1g4NkVNVUxfVU5IQU5ETEVB QkxFXSA9ICJYODZFTVVMX1VOSEFORExFQUJMRSIsCkBAIC00MjQsOCArNDI2LDE5IEBAIHN0YXRp YyBpbnQgZnV6el93cml0ZV9zZWdtZW50KAogICAgIHJjID0gbWF5YmVfZmFpbChjdHh0LCAid3Jp dGVfc2VnbWVudCIsIHRydWUpOwogCiAgICAgaWYgKCByYyA9PSBYODZFTVVMX09LQVkgKQorICAg IHsKICAgICAgICAgYy0+c2VnbWVudHNbc2VnXSA9ICpyZWc7CiAKKyAgICAgICAgaWYgKCAhc2Fu aXRpemVfc3RhdGUoY3R4dCkgKQorICAgICAgICB7CisgICAgICAgICAgICBzdHJ1Y3Qgc2VnbWVu dF9yZWdpc3RlciBvbGQgPSBjLT5zZWdtZW50c1tzZWddOworCisgICAgICAgICAgICBjLT5zZWdt ZW50c1tzZWddID0gb2xkOworICAgICAgICAgICAgeDg2X2VtdWxfaHdfZXhjZXB0aW9uKDEzIC8q ICNHUCAqLywgMCwgY3R4dCk7CisgICAgICAgICAgICByYyA9IFg4NkVNVUxfRVhDRVBUSU9OOwor ICAgICAgICB9CisgICAgfQorCiAgICAgcmV0dXJuIHJjOwogfQogCkBAIC00NTIsNiArNDY1LDcg QEAgc3RhdGljIGludCBmdXp6X3dyaXRlX2NyKAogewogICAgIHN0cnVjdCBmdXp6X3N0YXRlICpz ID0gY3R4dC0+ZGF0YTsKICAgICBzdHJ1Y3QgZnV6el9jb3JwdXMgKmMgPSBzLT5jb3JwdXM7Cisg ICAgdW5zaWduZWQgbG9uZyBvbGQ7CiAgICAgaW50IHJjOwogCiAgICAgaWYgKCByZWcgPj0gQVJS QVlfU0laRShjLT5jcikgKQpAQCAtNDYxLDkgKzQ3NSwxNyBAQCBzdGF0aWMgaW50IGZ1enpfd3Jp dGVfY3IoCiAgICAgaWYgKCByYyAhPSBYODZFTVVMX09LQVkgKQogICAgICAgICByZXR1cm4gcmM7 CiAKKyAgICBvbGQgPSBjLT5jcltyZWddOwogICAgIGMtPmNyW3JlZ10gPSB2YWw7CiAKLSAgICBy ZXR1cm4gWDg2RU1VTF9PS0FZOworICAgIGlmICggIXNhbml0aXplX3N0YXRlKGN0eHQpICkKKyAg ICB7CisgICAgICAgIGMtPmNyW3JlZ10gPSBvbGQ7CisgICAgICAgIHg4Nl9lbXVsX2h3X2V4Y2Vw dGlvbigxMyAvKiAjR1AgKi8sIDAsIGN0eHQpOworICAgICAgICByYyA9IFg4NkVNVUxfRVhDRVBU SU9OOworICAgIH0KKworICAgIHJldHVybiByYzsKIH0KIAogI2RlZmluZSBmdXp6X3JlYWRfeGNy IGVtdWxfdGVzdF9yZWFkX3hjcgpAQCAtNTYxLDcgKzU4MywxNiBAQCBzdGF0aWMgaW50IGZ1enpf d3JpdGVfbXNyKAogICAgIHsKICAgICAgICAgaWYgKCBtc3JfaW5kZXhbaWR4XSA9PSByZWcgKQog ICAgICAgICB7CisgICAgICAgICAgICB1aW50NjRfdCBvbGQgPSBjLT5tc3JbaWR4XTsKKwogICAg ICAgICAgICAgYy0+bXNyW2lkeF0gPSB2YWw7CisKKyAgICAgICAgICAgIGlmICggIXNhbml0aXpl X3N0YXRlKGN0eHQpICkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBjLT5tc3JbaWR4 XSA9IG9sZDsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKwogICAgICAg ICAgICAgcmV0dXJuIFg4NkVNVUxfT0tBWTsKICAgICAgICAgfQogICAgIH0KQEAgLTgwOCw2ICs4 MzksMzAgQEAgc3RhdGljIHZvaWQgc2FuaXRpemVfaW5wdXQoc3RydWN0IHg4Nl9lbQogICAgIH0K IH0KIAorLyoKKyAqIENhbGwgdGhpcyBmdW5jdGlvbiBmcm9tIGhvb2tzIHBvdGVudGlhbGx5IGFs dGVyaW5nIG1hY2hpbmUgc3RhdGUgaW50bworICogc29tZXRoaW5nIHRoYXQncyBub3QgYXJjaGl0 ZWN0dXJhbGx5IHZhbGlkLCB5ZXQgd2hpY2ggLSBhcyBwZXIgYWJvdmUgLQorICogdGhlIGVtdWxh dG9yIHJlbGllcyBvbi4KKyAqLworc3RhdGljIGJvb2wgc2FuaXRpemVfc3RhdGUoc3RydWN0IHg4 Nl9lbXVsYXRlX2N0eHQgKmN0eHQpCit7CisgICAgY29uc3Qgc3RydWN0IGZ1enpfc3RhdGUgKnMg PSBjdHh0LT5kYXRhOworICAgIGNvbnN0IHN0cnVjdCBmdXp6X2NvcnB1cyAqYyA9IHMtPmNvcnB1 czsKKyAgICBjb25zdCBzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncyA9ICZjLT5yZWdzOworCisg ICAgaWYgKCBsb25nX21vZGVfYWN0aXZlKGN0eHQpICYmICEoYy0+Y3JbMF0gJiBYODZfQ1IwX1BH KSApCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmICggKGMtPmNyWzBdICYgWDg2X0NS MF9QRykgJiYgIShjLT5jclswXSAmIFg4Nl9DUjBfUEUpICkKKyAgICAgICAgcmV0dXJuIGZhbHNl OworCisgICAgaWYgKCAocmVncy0+cmZsYWdzICYgWDg2X0VGTEFHU19WTSkgJiYKKyAgICAgICAg IChjLT5zZWdtZW50c1t4ODZfc2VnX2NzXS5kYiB8fCBjLT5zZWdtZW50c1t4ODZfc2VnX3NzXS5k YikgKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogaW50 IExMVk1GdXp6ZXJJbml0aWFsaXplKGludCAqYXJnYywgY2hhciAqKiphcmd2KQogewogICAgIGlm ICggIWVtdWxfdGVzdF9pbml0KCkgKQoKCgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3Rz LnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0 aW5mby94ZW4tZGV2ZWw=