From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: [PATCH v2] x86emul/fuzz: add a state sanitization function Date: Mon, 01 Apr 2019 01:46:22 -0600 Message-ID: <5CA1C1CE02000078002236C0@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 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 1hAreG-0006Kj-Up for xen-devel@lists.xenproject.org; Mon, 01 Apr 2019 07:46:28 +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+Ci0tLQp2MjogQ29ycmVjdCBwbGFjZW1lbnQg b2YgbmV3IGRlY2xhcmF0aW9uIGluIGZ1enpfd3JpdGVfc2VnbWVudCgpLgoKLS0tIGEvdG9vbHMv ZnV6ei94ODZfaW5zdHJ1Y3Rpb25fZW11bGF0b3IvZnV6ei1lbXVsLmMKKysrIGIvdG9vbHMvZnV6 ei94ODZfaW5zdHJ1Y3Rpb25fZW11bGF0b3IvZnV6ei1lbXVsLmMKQEAgLTc2LDYgKzc2LDggQEAg c3RhdGljIGlubGluZSBib29sIGlucHV0X3JlYWQoc3RydWN0IGZ1egogICAgIHJldHVybiB0cnVl OwogfQogCitzdGF0aWMgYm9vbCBzYW5pdGl6ZV9zdGF0ZShzdHJ1Y3QgeDg2X2VtdWxhdGVfY3R4 dCAqY3R4dCk7CisKIHN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCB4ODZlbXVsX3JldHVybl9zdHJp bmdbXSA9IHsKICAgICBbWDg2RU1VTF9PS0FZXSA9ICJYODZFTVVMX09LQVkiLAogICAgIFtYODZF TVVMX1VOSEFORExFQUJMRV0gPSAiWDg2RU1VTF9VTkhBTkRMRUFCTEUiLApAQCAtNDI0LDggKzQy NiwxOSBAQCBzdGF0aWMgaW50IGZ1enpfd3JpdGVfc2VnbWVudCgKICAgICByYyA9IG1heWJlX2Zh aWwoY3R4dCwgIndyaXRlX3NlZ21lbnQiLCB0cnVlKTsKIAogICAgIGlmICggcmMgPT0gWDg2RU1V TF9PS0FZICkKKyAgICB7CisgICAgICAgIHN0cnVjdCBzZWdtZW50X3JlZ2lzdGVyIG9sZCA9IGMt PnNlZ21lbnRzW3NlZ107CisKICAgICAgICAgYy0+c2VnbWVudHNbc2VnXSA9ICpyZWc7CiAKKyAg ICAgICAgaWYgKCAhc2FuaXRpemVfc3RhdGUoY3R4dCkgKQorICAgICAgICB7CisgICAgICAgICAg ICBjLT5zZWdtZW50c1tzZWddID0gb2xkOworICAgICAgICAgICAgeDg2X2VtdWxfaHdfZXhjZXB0 aW9uKDEzIC8qICNHUCAqLywgMCwgY3R4dCk7CisgICAgICAgICAgICByYyA9IFg4NkVNVUxfRVhD RVBUSU9OOworICAgICAgICB9CisgICAgfQorCiAgICAgcmV0dXJuIHJjOwogfQogCkBAIC00NTIs NiArNDY1LDcgQEAgc3RhdGljIGludCBmdXp6X3dyaXRlX2NyKAogewogICAgIHN0cnVjdCBmdXp6 X3N0YXRlICpzID0gY3R4dC0+ZGF0YTsKICAgICBzdHJ1Y3QgZnV6el9jb3JwdXMgKmMgPSBzLT5j b3JwdXM7CisgICAgdW5zaWduZWQgbG9uZyBvbGQ7CiAgICAgaW50IHJjOwogCiAgICAgaWYgKCBy ZWcgPj0gQVJSQVlfU0laRShjLT5jcikgKQpAQCAtNDYxLDkgKzQ3NSwxNyBAQCBzdGF0aWMgaW50 IGZ1enpfd3JpdGVfY3IoCiAgICAgaWYgKCByYyAhPSBYODZFTVVMX09LQVkgKQogICAgICAgICBy ZXR1cm4gcmM7CiAKKyAgICBvbGQgPSBjLT5jcltyZWddOwogICAgIGMtPmNyW3JlZ10gPSB2YWw7 CiAKLSAgICByZXR1cm4gWDg2RU1VTF9PS0FZOworICAgIGlmICggIXNhbml0aXplX3N0YXRlKGN0 eHQpICkKKyAgICB7CisgICAgICAgIGMtPmNyW3JlZ10gPSBvbGQ7CisgICAgICAgIHg4Nl9lbXVs X2h3X2V4Y2VwdGlvbigxMyAvKiAjR1AgKi8sIDAsIGN0eHQpOworICAgICAgICByYyA9IFg4NkVN VUxfRVhDRVBUSU9OOworICAgIH0KKworICAgIHJldHVybiByYzsKIH0KIAogI2RlZmluZSBmdXp6 X3JlYWRfeGNyIGVtdWxfdGVzdF9yZWFkX3hjcgpAQCAtNTYxLDcgKzU4MywxNiBAQCBzdGF0aWMg aW50IGZ1enpfd3JpdGVfbXNyKAogICAgIHsKICAgICAgICAgaWYgKCBtc3JfaW5kZXhbaWR4XSA9 PSByZWcgKQogICAgICAgICB7CisgICAgICAgICAgICB1aW50NjRfdCBvbGQgPSBjLT5tc3JbaWR4 XTsKKwogICAgICAgICAgICAgYy0+bXNyW2lkeF0gPSB2YWw7CisKKyAgICAgICAgICAgIGlmICgg IXNhbml0aXplX3N0YXRlKGN0eHQpICkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBj LT5tc3JbaWR4XSA9IG9sZDsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0K KwogICAgICAgICAgICAgcmV0dXJuIFg4NkVNVUxfT0tBWTsKICAgICAgICAgfQogICAgIH0KQEAg LTgwOCw2ICs4MzksMzAgQEAgc3RhdGljIHZvaWQgc2FuaXRpemVfaW5wdXQoc3RydWN0IHg4Nl9l bQogICAgIH0KIH0KIAorLyoKKyAqIENhbGwgdGhpcyBmdW5jdGlvbiBmcm9tIGhvb2tzIHBvdGVu dGlhbGx5IGFsdGVyaW5nIG1hY2hpbmUgc3RhdGUgaW50bworICogc29tZXRoaW5nIHRoYXQncyBu b3QgYXJjaGl0ZWN0dXJhbGx5IHZhbGlkLCB5ZXQgd2hpY2ggLSBhcyBwZXIgYWJvdmUgLQorICog dGhlIGVtdWxhdG9yIHJlbGllcyBvbi4KKyAqLworc3RhdGljIGJvb2wgc2FuaXRpemVfc3RhdGUo c3RydWN0IHg4Nl9lbXVsYXRlX2N0eHQgKmN0eHQpCit7CisgICAgY29uc3Qgc3RydWN0IGZ1enpf c3RhdGUgKnMgPSBjdHh0LT5kYXRhOworICAgIGNvbnN0IHN0cnVjdCBmdXp6X2NvcnB1cyAqYyA9 IHMtPmNvcnB1czsKKyAgICBjb25zdCBzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncyA9ICZjLT5y ZWdzOworCisgICAgaWYgKCBsb25nX21vZGVfYWN0aXZlKGN0eHQpICYmICEoYy0+Y3JbMF0gJiBY ODZfQ1IwX1BHKSApCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmICggKGMtPmNyWzBd ICYgWDg2X0NSMF9QRykgJiYgIShjLT5jclswXSAmIFg4Nl9DUjBfUEUpICkKKyAgICAgICAgcmV0 dXJuIGZhbHNlOworCisgICAgaWYgKCAocmVncy0+cmZsYWdzICYgWDg2X0VGTEFHU19WTSkgJiYK KyAgICAgICAgIChjLT5zZWdtZW50c1t4ODZfc2VnX2NzXS5kYiB8fCBjLT5zZWdtZW50c1t4ODZf c2VnX3NzXS5kYikgKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICByZXR1cm4gdHJ1ZTsK K30KKwogaW50IExMVk1GdXp6ZXJJbml0aWFsaXplKGludCAqYXJnYywgY2hhciAqKiphcmd2KQog ewogICAgIGlmICggIWVtdWxfdGVzdF9pbml0KCkgKQoKCgoKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRl dmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFp bG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=