From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: [PATCH v2 REPOST 07/12] x86/hvm/ioreq: use bool rather than bool_t Date: Tue, 22 Aug 2017 15:51:01 +0100 Message-ID: <20170822145107.6877-8-paul.durrant@citrix.com> References: <20170822145107.6877-1-paul.durrant@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 1dkAWS-0002DF-Qe for xen-devel@lists.xenproject.org; Tue, 22 Aug 2017 14:51:17 +0000 In-Reply-To: <20170822145107.6877-1-paul.durrant@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: Andrew Cooper , Paul Durrant , Jan Beulich List-Id: xen-devel@lists.xenproject.org VGhpcyBwYXRjaCBjaGFuZ2VzIHVzZSBvZiBib29sX3QgdG8gYm9vbCBpbiB0aGUgSU9SRVEgc2Vy dmVyIGNvZGUuIEl0IGFsc28KZml4ZXMgYW4gaW5jb3JyZWN0IGluZGVudGF0aW9uIGluIGEgY29u dGludWF0aW9uIGxpbmUuCgpUaGlzIHBhdGNoIGlzIHB1cmVseSBjb3NtZXRpYy4gTm8gc2VtYW50 aWMgb3IgZnVuY3Rpb25hbCBjaGFuZ2UuCgpTaWduZWQtb2ZmLWJ5OiBQYXVsIER1cnJhbnQgPHBh dWwuZHVycmFudEBjaXRyaXguY29tPgotLS0KQ2M6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNl LmNvbT4KQ2M6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+Ci0tLQog eGVuL2FyY2gveDg2L2h2bS9kbS5jICAgICAgICAgICAgfCAgIDIgKy0KIHhlbi9hcmNoL3g4Ni9o dm0vaHZtLmMgICAgICAgICAgIHwgICAyICstCiB4ZW4vYXJjaC94ODYvaHZtL2lvLmMgICAgICAg ICAgICB8ICAgNCArLQogeGVuL2FyY2gveDg2L2h2bS9pb3JlcS5jICAgICAgICAgfCAxMDAgKysr KysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tCiB4ZW4vaW5jbHVkZS9hc20teDg2 L2h2bS9kb21haW4uaCB8ICAgNiArLS0KIHhlbi9pbmNsdWRlL2FzbS14ODYvaHZtL2lvcmVxLmgg IHwgIDE0ICsrKy0tLQogNiBmaWxlcyBjaGFuZ2VkLCA2NCBpbnNlcnRpb25zKCspLCA2NCBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvaHZtL2RtLmMgYi94ZW4vYXJjaC94 ODYvaHZtL2RtLmMKaW5kZXggZjdjYjg4M2ZlYy4uODdlZjRiNmNhOSAxMDA2NDQKLS0tIGEveGVu L2FyY2gveDg2L2h2bS9kbS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vZG0uYwpAQCAtNDA5LDcg KzQwOSw3IEBAIHN0YXRpYyBpbnQgZG1fb3AoY29uc3Qgc3RydWN0IGRtb3BfYXJncyAqb3BfYXJn cykKICAgICAgICAgaWYgKCBkYXRhLT5wYWRbMF0gfHwgZGF0YS0+cGFkWzFdIHx8IGRhdGEtPnBh ZFsyXSApCiAgICAgICAgICAgICBicmVhazsKIAotICAgICAgICByYyA9IGh2bV9jcmVhdGVfaW9y ZXFfc2VydmVyKGQsIGN1cnJfZC0+ZG9tYWluX2lkLCAwLAorICAgICAgICByYyA9IGh2bV9jcmVh dGVfaW9yZXFfc2VydmVyKGQsIGN1cnJfZC0+ZG9tYWluX2lkLCBmYWxzZSwKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLT5oYW5kbGVfYnVmaW9yZXEsICZkYXRhLT5p ZCk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0v aHZtLmMgYi94ZW4vYXJjaC94ODYvaHZtL2h2bS5jCmluZGV4IDU4YjRhZmExZDEuLjAzMWQwN2Jh ZjAgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMKKysrIGIveGVuL2FyY2gveDg2 L2h2bS9odm0uYwpAQCAtNDM2MSw3ICs0MzYxLDcgQEAgc3RhdGljIGludCBodm1vcF9nZXRfcGFy YW0oCiAgICAgICAgIHsKICAgICAgICAgICAgIGRvbWlkX3QgZG9taWQgPSBkLT5hcmNoLmh2bV9k b21haW4ucGFyYW1zW0hWTV9QQVJBTV9ETV9ET01BSU5dOwogCi0gICAgICAgICAgICByYyA9IGh2 bV9jcmVhdGVfaW9yZXFfc2VydmVyKGQsIGRvbWlkLCAxLAorICAgICAgICAgICAgcmMgPSBodm1f Y3JlYXRlX2lvcmVxX3NlcnZlcihkLCBkb21pZCwgdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgSFZNX0lPUkVRU1JWX0JVRklPUkVRX0xFR0FDWSwgTlVMTCk7 CiAgICAgICAgICAgICBpZiAoIHJjICE9IDAgJiYgcmMgIT0gLUVFWElTVCApCiAgICAgICAgICAg ICAgICAgZ290byBvdXQ7CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvaHZtL2lvLmMgYi94ZW4v YXJjaC94ODYvaHZtL2lvLmMKaW5kZXggMjE0YWIzMDdjNC4uYmZhYzk5MzIyMyAxMDA2NDQKLS0t IGEveGVuL2FyY2gveDg2L2h2bS9pby5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vaW8uYwpAQCAt NTksNyArNTksNyBAQCB2b2lkIHNlbmRfdGltZW9mZnNldF9yZXEodW5zaWduZWQgbG9uZyB0aW1l b2ZmKQogICAgIGlmICggdGltZW9mZiA9PSAwICkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYg KCBodm1fYnJvYWRjYXN0X2lvcmVxKCZwLCAxKSAhPSAwICkKKyAgICBpZiAoIGh2bV9icm9hZGNh c3RfaW9yZXEoJnAsIHRydWUpICE9IDAgKQogICAgICAgICBncHJpbnRrKFhFTkxPR19FUlIsICJV bnN1Y2Nlc3NmdWwgdGltZW9mZnNldCB1cGRhdGVcbiIpOwogfQogCkBAIC03Myw3ICs3Myw3IEBA IHZvaWQgc2VuZF9pbnZhbGlkYXRlX3JlcSh2b2lkKQogICAgICAgICAuZGF0YSA9IH4wVUwsIC8q IGZsdXNoIGFsbCAqLwogICAgIH07CiAKLSAgICBpZiAoIGh2bV9icm9hZGNhc3RfaW9yZXEoJnAs IDApICE9IDAgKQorICAgIGlmICggaHZtX2Jyb2FkY2FzdF9pb3JlcSgmcCwgZmFsc2UpICE9IDAg KQogICAgICAgICBncHJpbnRrKFhFTkxPR19FUlIsICJVbnN1Y2Nlc3NmdWwgbWFwLWNhY2hlIGlu dmFsaWRhdGVcbiIpOwogfQogCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvaHZtL2lvcmVxLmMg Yi94ZW4vYXJjaC94ODYvaHZtL2lvcmVxLmMKaW5kZXggM2U3NTNiYTIyNC4uNWUwMWUxYTZkMiAx MDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2h2bS9pb3JlcS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9o dm0vaW9yZXEuYwpAQCAtNDMsNyArNDMsNyBAQCBzdGF0aWMgaW9yZXFfdCAqZ2V0X2lvcmVxKHN0 cnVjdCBodm1faW9yZXFfc2VydmVyICpzLCBzdHJ1Y3QgdmNwdSAqdikKICAgICByZXR1cm4gJnAt PnZjcHVfaW9yZXFbdi0+dmNwdV9pZF07CiB9CiAKLWJvb2xfdCBodm1faW9fcGVuZGluZyhzdHJ1 Y3QgdmNwdSAqdikKK2Jvb2wgaHZtX2lvX3BlbmRpbmcoc3RydWN0IHZjcHUgKnYpCiB7CiAgICAg c3RydWN0IGRvbWFpbiAqZCA9IHYtPmRvbWFpbjsKICAgICBzdHJ1Y3QgaHZtX2lvcmVxX3NlcnZl ciAqczsKQEAgLTU5LDExICs1OSwxMSBAQCBib29sX3QgaHZtX2lvX3BlbmRpbmcoc3RydWN0IHZj cHUgKnYpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0X2VudHJ5ICkKICAgICAg ICAgewogICAgICAgICAgICAgaWYgKCBzdi0+dmNwdSA9PSB2ICYmIHN2LT5wZW5kaW5nICkKLSAg ICAgICAgICAgICAgICByZXR1cm4gMTsKKyAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAg ICAgICAgfQogICAgIH0KIAotICAgIHJldHVybiAwOworICAgIHJldHVybiBmYWxzZTsKIH0KIAog c3RhdGljIHZvaWQgaHZtX2lvX2Fzc2lzdChzdHJ1Y3QgaHZtX2lvcmVxX3ZjcHUgKnN2LCB1aW50 NjRfdCBkYXRhKQpAQCAtODIsMTAgKzgyLDEwIEBAIHN0YXRpYyB2b2lkIGh2bV9pb19hc3Npc3Qo c3RydWN0IGh2bV9pb3JlcV92Y3B1ICpzdiwgdWludDY0X3QgZGF0YSkKICAgICBtc2l4X3dyaXRl X2NvbXBsZXRpb24odik7CiAgICAgdmNwdV9lbmRfc2h1dGRvd25fZGVmZXJyYWwodik7CiAKLSAg ICBzdi0+cGVuZGluZyA9IDA7CisgICAgc3YtPnBlbmRpbmcgPSBmYWxzZTsKIH0KIAotc3RhdGlj IGJvb2xfdCBodm1fd2FpdF9mb3JfaW8oc3RydWN0IGh2bV9pb3JlcV92Y3B1ICpzdiwgaW9yZXFf dCAqcCkKK3N0YXRpYyBib29sIGh2bV93YWl0X2Zvcl9pbyhzdHJ1Y3QgaHZtX2lvcmVxX3ZjcHUg KnN2LCBpb3JlcV90ICpwKQogewogICAgIHdoaWxlICggc3YtPnBlbmRpbmcgKQogICAgIHsKQEAg LTExMiwxNiArMTEyLDE2IEBAIHN0YXRpYyBib29sX3QgaHZtX3dhaXRfZm9yX2lvKHN0cnVjdCBo dm1faW9yZXFfdmNwdSAqc3YsIGlvcmVxX3QgKnApCiAgICAgICAgICAgICBicmVhazsKICAgICAg ICAgZGVmYXVsdDoKICAgICAgICAgICAgIGdkcHJpbnRrKFhFTkxPR19FUlIsICJXZWlyZCBIVk0g aW9yZXF1ZXN0IHN0YXRlICV1XG4iLCBzdGF0ZSk7Ci0gICAgICAgICAgICBzdi0+cGVuZGluZyA9 IDA7CisgICAgICAgICAgICBzdi0+cGVuZGluZyA9IGZhbHNlOwogICAgICAgICAgICAgZG9tYWlu X2NyYXNoKHN2LT52Y3B1LT5kb21haW4pOwotICAgICAgICAgICAgcmV0dXJuIDA7IC8qIGJhaWwg Ki8KKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsgLyogYmFpbCAqLwogICAgICAgICB9CiAgICAg fQogCi0gICAgcmV0dXJuIDE7CisgICAgcmV0dXJuIHRydWU7CiB9CiAKLWJvb2xfdCBoYW5kbGVf aHZtX2lvX2NvbXBsZXRpb24oc3RydWN0IHZjcHUgKnYpCitib29sIGhhbmRsZV9odm1faW9fY29t cGxldGlvbihzdHJ1Y3QgdmNwdSAqdikKIHsKICAgICBzdHJ1Y3QgZG9tYWluICpkID0gdi0+ZG9t YWluOwogICAgIHN0cnVjdCBodm1fdmNwdV9pbyAqdmlvID0gJnYtPmFyY2guaHZtX3ZjcHUuaHZt X2lvOwpAQCAtMTQxLDcgKzE0MSw3IEBAIGJvb2xfdCBoYW5kbGVfaHZtX2lvX2NvbXBsZXRpb24o c3RydWN0IHZjcHUgKnYpCiAgICAgICAgICAgICBpZiAoIHN2LT52Y3B1ID09IHYgJiYgc3YtPnBl bmRpbmcgKQogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIGlmICggIWh2bV93YWl0X2Zv cl9pbyhzdiwgZ2V0X2lvcmVxKHMsIHYpKSApCi0gICAgICAgICAgICAgICAgICAgIHJldHVybiAw OworICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICAgICAgICAgICAgICBi cmVhazsKICAgICAgICAgICAgIH0KQEAgLTE3OCw3ICsxNzgsNyBAQCBib29sX3QgaGFuZGxlX2h2 bV9pb19jb21wbGV0aW9uKHN0cnVjdCB2Y3B1ICp2KQogICAgICAgICBicmVhazsKICAgICB9CiAK LSAgICByZXR1cm4gMTsKKyAgICByZXR1cm4gdHJ1ZTsKIH0KIAogc3RhdGljIGludCBodm1fYWxs b2NfaW9yZXFfZ2ZuKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGxvbmcgKmdmbikKQEAgLTIw OCw3ICsyMDgsNyBAQCBzdGF0aWMgdm9pZCBodm1fZnJlZV9pb3JlcV9nZm4oc3RydWN0IGRvbWFp biAqZCwgdW5zaWduZWQgbG9uZyBnZm4pCiAgICAgICAgIHNldF9iaXQoaSwgJmQtPmFyY2guaHZt X2RvbWFpbi5pb3JlcV9nZm4ubWFzayk7CiB9CiAKLXN0YXRpYyB2b2lkIGh2bV91bm1hcF9pb3Jl cV9wYWdlKHN0cnVjdCBodm1faW9yZXFfc2VydmVyICpzLCBib29sX3QgYnVmKQorc3RhdGljIHZv aWQgaHZtX3VubWFwX2lvcmVxX3BhZ2Uoc3RydWN0IGh2bV9pb3JlcV9zZXJ2ZXIgKnMsIGJvb2wg YnVmKQogewogICAgIHN0cnVjdCBodm1faW9yZXFfcGFnZSAqaW9ycCA9IGJ1ZiA/ICZzLT5idWZp b3JlcSA6ICZzLT5pb3JlcTsKIApAQCAtMjE2LDcgKzIxNiw3IEBAIHN0YXRpYyB2b2lkIGh2bV91 bm1hcF9pb3JlcV9wYWdlKHN0cnVjdCBodm1faW9yZXFfc2VydmVyICpzLCBib29sX3QgYnVmKQog fQogCiBzdGF0aWMgaW50IGh2bV9tYXBfaW9yZXFfcGFnZSgKLSAgICBzdHJ1Y3QgaHZtX2lvcmVx X3NlcnZlciAqcywgYm9vbF90IGJ1ZiwgdW5zaWduZWQgbG9uZyBnZm4pCisgICAgc3RydWN0IGh2 bV9pb3JlcV9zZXJ2ZXIgKnMsIGJvb2wgYnVmLCB1bnNpZ25lZCBsb25nIGdmbikKIHsKICAgICBz dHJ1Y3QgZG9tYWluICpkID0gcy0+ZG9tYWluOwogICAgIHN0cnVjdCBodm1faW9yZXFfcGFnZSAq aW9ycCA9IGJ1ZiA/ICZzLT5idWZpb3JlcSA6ICZzLT5pb3JlcTsKQEAgLTI0MCwxMCArMjQwLDEw IEBAIHN0YXRpYyBpbnQgaHZtX21hcF9pb3JlcV9wYWdlKAogICAgIHJldHVybiAwOwogfQogCi1i b29sX3QgaXNfaW9yZXFfc2VydmVyX3BhZ2Uoc3RydWN0IGRvbWFpbiAqZCwgY29uc3Qgc3RydWN0 IHBhZ2VfaW5mbyAqcGFnZSkKK2Jvb2wgaXNfaW9yZXFfc2VydmVyX3BhZ2Uoc3RydWN0IGRvbWFp biAqZCwgY29uc3Qgc3RydWN0IHBhZ2VfaW5mbyAqcGFnZSkKIHsKICAgICBjb25zdCBzdHJ1Y3Qg aHZtX2lvcmVxX3NlcnZlciAqczsKLSAgICBib29sX3QgZm91bmQgPSAwOworICAgIGJvb2wgZm91 bmQgPSBmYWxzZTsKIAogICAgIHNwaW5fbG9ja19yZWN1cnNpdmUoJmQtPmFyY2guaHZtX2RvbWFp bi5pb3JlcV9zZXJ2ZXIubG9jayk7CiAKQEAgLTI1NCw3ICsyNTQsNyBAQCBib29sX3QgaXNfaW9y ZXFfc2VydmVyX3BhZ2Uoc3RydWN0IGRvbWFpbiAqZCwgY29uc3Qgc3RydWN0IHBhZ2VfaW5mbyAq cGFnZSkKICAgICAgICAgaWYgKCAocy0+aW9yZXEudmEgJiYgcy0+aW9yZXEucGFnZSA9PSBwYWdl KSB8fAogICAgICAgICAgICAgIChzLT5idWZpb3JlcS52YSAmJiBzLT5idWZpb3JlcS5wYWdlID09 IHBhZ2UpICkKICAgICAgICAgewotICAgICAgICAgICAgZm91bmQgPSAxOworICAgICAgICAgICAg Zm91bmQgPSB0cnVlOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICB9CkBAIC0z MDIsNyArMzAyLDcgQEAgc3RhdGljIHZvaWQgaHZtX3VwZGF0ZV9pb3JlcV9ldnRjaG4oc3RydWN0 IGh2bV9pb3JlcV9zZXJ2ZXIgKnMsCiB9CiAKIHN0YXRpYyBpbnQgaHZtX2lvcmVxX3NlcnZlcl9h ZGRfdmNwdShzdHJ1Y3QgaHZtX2lvcmVxX3NlcnZlciAqcywKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBib29sX3QgaXNfZGVmYXVsdCwgc3RydWN0IHZjcHUgKnYpCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBpc19kZWZhdWx0LCBzdHJ1Y3Qg dmNwdSAqdikKIHsKICAgICBzdHJ1Y3QgaHZtX2lvcmVxX3ZjcHUgKnN2OwogICAgIGludCByYzsK QEAgLTQxNywyMiArNDE3LDIyIEBAIHN0YXRpYyBpbnQgaHZtX2lvcmVxX3NlcnZlcl9tYXBfcGFn ZXMoc3RydWN0IGh2bV9pb3JlcV9zZXJ2ZXIgKnMsCiB7CiAgICAgaW50IHJjOwogCi0gICAgcmMg PSBodm1fbWFwX2lvcmVxX3BhZ2UocywgMCwgaW9yZXFfZ2ZuKTsKKyAgICByYyA9IGh2bV9tYXBf aW9yZXFfcGFnZShzLCBmYWxzZSwgaW9yZXFfZ2ZuKTsKICAgICBpZiAoIHJjICkKICAgICAgICAg cmV0dXJuIHJjOwogCiAgICAgaWYgKCBidWZpb3JlcV9nZm4gIT0gZ2ZuX3goSU5WQUxJRF9HRk4p ICkKLSAgICAgICAgcmMgPSBodm1fbWFwX2lvcmVxX3BhZ2UocywgMSwgYnVmaW9yZXFfZ2ZuKTsK KyAgICAgICAgcmMgPSBodm1fbWFwX2lvcmVxX3BhZ2UocywgdHJ1ZSwgYnVmaW9yZXFfZ2ZuKTsK IAogICAgIGlmICggcmMgKQotICAgICAgICBodm1fdW5tYXBfaW9yZXFfcGFnZShzLCAwKTsKKyAg ICAgICAgaHZtX3VubWFwX2lvcmVxX3BhZ2UocywgZmFsc2UpOwogCiAgICAgcmV0dXJuIHJjOwog fQogCiBzdGF0aWMgaW50IGh2bV9pb3JlcV9zZXJ2ZXJfc2V0dXBfcGFnZXMoc3RydWN0IGh2bV9p b3JlcV9zZXJ2ZXIgKnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Ym9vbF90IGlzX2RlZmF1bHQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgYm9vbF90IGhhbmRsZV9idWZpb3JlcSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBib29sIGlzX2RlZmF1bHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgYm9vbCBoYW5kbGVfYnVmaW9yZXEpCiB7CiAgICAgc3RydWN0IGRvbWFpbiAq ZCA9IHMtPmRvbWFpbjsKICAgICB1bnNpZ25lZCBsb25nIGlvcmVxX2dmbiA9IGdmbl94KElOVkFM SURfR0ZOKTsKQEAgLTQ2OSwxNSArNDY5LDE1IEBAIHN0YXRpYyBpbnQgaHZtX2lvcmVxX3NlcnZl cl9zZXR1cF9wYWdlcyhzdHJ1Y3QgaHZtX2lvcmVxX3NlcnZlciAqcywKIH0KIAogc3RhdGljIHZv aWQgaHZtX2lvcmVxX3NlcnZlcl91bm1hcF9wYWdlcyhzdHJ1Y3QgaHZtX2lvcmVxX3NlcnZlciAq cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbF90IGlzX2Rl ZmF1bHQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgaXNf ZGVmYXVsdCkKIHsKICAgICBzdHJ1Y3QgZG9tYWluICpkID0gcy0+ZG9tYWluOwotICAgIGJvb2xf dCBoYW5kbGVfYnVmaW9yZXEgPSAoIHMtPmJ1ZmlvcmVxLnZhICE9IE5VTEwgKTsKKyAgICBib29s IGhhbmRsZV9idWZpb3JlcSA9ICEhcy0+YnVmaW9yZXEudmE7CiAKICAgICBpZiAoIGhhbmRsZV9i dWZpb3JlcSApCi0gICAgICAgIGh2bV91bm1hcF9pb3JlcV9wYWdlKHMsIDEpOworICAgICAgICBo dm1fdW5tYXBfaW9yZXFfcGFnZShzLCB0cnVlKTsKIAotICAgIGh2bV91bm1hcF9pb3JlcV9wYWdl KHMsIDApOworICAgIGh2bV91bm1hcF9pb3JlcV9wYWdlKHMsIGZhbHNlKTsKIAogICAgIGlmICgg IWlzX2RlZmF1bHQgKQogICAgIHsKQEAgLTQ4OSw3ICs0ODksNyBAQCBzdGF0aWMgdm9pZCBodm1f aW9yZXFfc2VydmVyX3VubWFwX3BhZ2VzKHN0cnVjdCBodm1faW9yZXFfc2VydmVyICpzLAogfQog CiBzdGF0aWMgdm9pZCBodm1faW9yZXFfc2VydmVyX2ZyZWVfcmFuZ2VzZXRzKHN0cnVjdCBodm1f aW9yZXFfc2VydmVyICpzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBib29sX3QgaXNfZGVmYXVsdCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgYm9vbCBpc19kZWZhdWx0KQogewogICAgIHVuc2lnbmVkIGludCBpOwogCkBA IC01MDEsNyArNTAxLDcgQEAgc3RhdGljIHZvaWQgaHZtX2lvcmVxX3NlcnZlcl9mcmVlX3Jhbmdl c2V0cyhzdHJ1Y3QgaHZtX2lvcmVxX3NlcnZlciAqcywKIH0KIAogc3RhdGljIGludCBodm1faW9y ZXFfc2VydmVyX2FsbG9jX3Jhbmdlc2V0cyhzdHJ1Y3QgaHZtX2lvcmVxX3NlcnZlciAqcywKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbF90IGlzX2RlZmF1 bHQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgaXNf ZGVmYXVsdCkKIHsKICAgICB1bnNpZ25lZCBpbnQgaTsKICAgICBpbnQgcmM7CkBAIC01MzcsMTcg KzUzNywxNyBAQCBzdGF0aWMgaW50IGh2bV9pb3JlcV9zZXJ2ZXJfYWxsb2NfcmFuZ2VzZXRzKHN0 cnVjdCBodm1faW9yZXFfc2VydmVyICpzLAogICAgIHJldHVybiAwOwogCiAgZmFpbDoKLSAgICBo dm1faW9yZXFfc2VydmVyX2ZyZWVfcmFuZ2VzZXRzKHMsIDApOworICAgIGh2bV9pb3JlcV9zZXJ2 ZXJfZnJlZV9yYW5nZXNldHMocywgZmFsc2UpOwogCiAgICAgcmV0dXJuIHJjOwogfQogCiBzdGF0 aWMgdm9pZCBodm1faW9yZXFfc2VydmVyX2VuYWJsZShzdHJ1Y3QgaHZtX2lvcmVxX3NlcnZlciAq cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2xfdCBpc19kZWZhdWx0 KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBpc19kZWZhdWx0KQog ewogICAgIHN0cnVjdCBkb21haW4gKmQgPSBzLT5kb21haW47CiAgICAgc3RydWN0IGh2bV9pb3Jl cV92Y3B1ICpzdjsKLSAgICBib29sX3QgaGFuZGxlX2J1ZmlvcmVxID0gKCBzLT5idWZpb3JlcS52 YSAhPSBOVUxMICk7CisgICAgYm9vbCBoYW5kbGVfYnVmaW9yZXEgPSAhIXMtPmJ1ZmlvcmVxLnZh OwogCiAgICAgc3Bpbl9sb2NrKCZzLT5sb2NrKTsKIApAQCAtNTYyLDcgKzU2Miw3IEBAIHN0YXRp YyB2b2lkIGh2bV9pb3JlcV9zZXJ2ZXJfZW5hYmxlKHN0cnVjdCBodm1faW9yZXFfc2VydmVyICpz LAogICAgICAgICAgICAgaHZtX3JlbW92ZV9pb3JlcV9nZm4oZCwgJnMtPmJ1ZmlvcmVxKTsKICAg ICB9CiAKLSAgICBzLT5lbmFibGVkID0gMTsKKyAgICBzLT5lbmFibGVkID0gdHJ1ZTsKIAogICAg IGxpc3RfZm9yX2VhY2hfZW50cnkgKCBzdiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgJnMt PmlvcmVxX3ZjcHVfbGlzdCwKQEAgLTU3NCwxMCArNTc0LDEwIEBAIHN0YXRpYyB2b2lkIGh2bV9p b3JlcV9zZXJ2ZXJfZW5hYmxlKHN0cnVjdCBodm1faW9yZXFfc2VydmVyICpzLAogfQogCiBzdGF0 aWMgdm9pZCBodm1faW9yZXFfc2VydmVyX2Rpc2FibGUoc3RydWN0IGh2bV9pb3JlcV9zZXJ2ZXIg KnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sX3QgaXNfZGVmYXVs dCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGlzX2RlZmF1bHQp CiB7CiAgICAgc3RydWN0IGRvbWFpbiAqZCA9IHMtPmRvbWFpbjsKLSAgICBib29sX3QgaGFuZGxl X2J1ZmlvcmVxID0gKCBzLT5idWZpb3JlcS52YSAhPSBOVUxMICk7CisgICAgYm9vbCBoYW5kbGVf YnVmaW9yZXEgPSAhIXMtPmJ1ZmlvcmVxLnZhOwogCiAgICAgc3Bpbl9sb2NrKCZzLT5sb2NrKTsK IApAQCAtNTkyLDcgKzU5Miw3IEBAIHN0YXRpYyB2b2lkIGh2bV9pb3JlcV9zZXJ2ZXJfZGlzYWJs ZShzdHJ1Y3QgaHZtX2lvcmVxX3NlcnZlciAqcywKICAgICAgICAgaHZtX2FkZF9pb3JlcV9nZm4o ZCwgJnMtPmlvcmVxKTsKICAgICB9CiAKLSAgICBzLT5lbmFibGVkID0gMDsKKyAgICBzLT5lbmFi bGVkID0gZmFsc2U7CiAKICBkb25lOgogICAgIHNwaW5fdW5sb2NrKCZzLT5sb2NrKTsKQEAgLTYw MCw3ICs2MDAsNyBAQCBzdGF0aWMgdm9pZCBodm1faW9yZXFfc2VydmVyX2Rpc2FibGUoc3RydWN0 IGh2bV9pb3JlcV9zZXJ2ZXIgKnMsCiAKIHN0YXRpYyBpbnQgaHZtX2lvcmVxX3NlcnZlcl9pbml0 KHN0cnVjdCBodm1faW9yZXFfc2VydmVyICpzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgc3RydWN0IGRvbWFpbiAqZCwgZG9taWRfdCBkb21pZCwKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGJvb2xfdCBpc19kZWZhdWx0LCBpbnQgYnVmaW9yZXFfaGFuZGxpbmcs CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGlzX2RlZmF1bHQsIGludCBi dWZpb3JlcV9oYW5kbGluZywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlvc2Vy dmlkX3QgaWQpCiB7CiAgICAgc3RydWN0IHZjcHUgKnY7CkBAIC02MTksNyArNjE5LDcgQEAgc3Rh dGljIGludCBodm1faW9yZXFfc2VydmVyX2luaXQoc3RydWN0IGh2bV9pb3JlcV9zZXJ2ZXIgKnMs CiAgICAgICAgIHJldHVybiByYzsKIAogICAgIGlmICggYnVmaW9yZXFfaGFuZGxpbmcgPT0gSFZN X0lPUkVRU1JWX0JVRklPUkVRX0FUT01JQyApCi0gICAgICAgIHMtPmJ1ZmlvcmVxX2F0b21pYyA9 IDE7CisgICAgICAgIHMtPmJ1ZmlvcmVxX2F0b21pYyA9IHRydWU7CiAKICAgICByYyA9IGh2bV9p b3JlcV9zZXJ2ZXJfc2V0dXBfcGFnZXMoCiAgICAgICAgICAgICAgcywgaXNfZGVmYXVsdCwgYnVm aW9yZXFfaGFuZGxpbmcgIT0gSFZNX0lPUkVRU1JWX0JVRklPUkVRX09GRik7CkBAIC02NDYsNyAr NjQ2LDcgQEAgc3RhdGljIGludCBodm1faW9yZXFfc2VydmVyX2luaXQoc3RydWN0IGh2bV9pb3Jl cV9zZXJ2ZXIgKnMsCiB9CiAKIHN0YXRpYyB2b2lkIGh2bV9pb3JlcV9zZXJ2ZXJfZGVpbml0KHN0 cnVjdCBodm1faW9yZXFfc2VydmVyICpzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgYm9vbF90IGlzX2RlZmF1bHQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBib29sIGlzX2RlZmF1bHQpCiB7CiAgICAgQVNTRVJUKCFzLT5lbmFibGVkKTsKICAgICBo dm1faW9yZXFfc2VydmVyX3JlbW92ZV9hbGxfdmNwdXMocyk7CkBAIC02ODEsNyArNjgxLDcgQEAg c3RhdGljIGlvc2VydmlkX3QgbmV4dF9pb3NlcnZpZChzdHJ1Y3QgZG9tYWluICpkKQogfQogCiBp bnQgaHZtX2NyZWF0ZV9pb3JlcV9zZXJ2ZXIoc3RydWN0IGRvbWFpbiAqZCwgZG9taWRfdCBkb21p ZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sX3QgaXNfZGVmYXVsdCwgaW50IGJ1 ZmlvcmVxX2hhbmRsaW5nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgaXNfZGVm YXVsdCwgaW50IGJ1ZmlvcmVxX2hhbmRsaW5nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg IGlvc2VydmlkX3QgKmlkKQogewogICAgIHN0cnVjdCBodm1faW9yZXFfc2VydmVyICpzOwpAQCAt NzEzLDcgKzcxMyw3IEBAIGludCBodm1fY3JlYXRlX2lvcmVxX3NlcnZlcihzdHJ1Y3QgZG9tYWlu ICpkLCBkb21pZF90IGRvbWlkLAogICAgIGlmICggaXNfZGVmYXVsdCApCiAgICAgewogICAgICAg ICBkLT5hcmNoLmh2bV9kb21haW4uZGVmYXVsdF9pb3JlcV9zZXJ2ZXIgPSBzOwotICAgICAgICBo dm1faW9yZXFfc2VydmVyX2VuYWJsZShzLCAxKTsKKyAgICAgICAgaHZtX2lvcmVxX3NlcnZlcl9l bmFibGUocywgdHJ1ZSk7CiAgICAgfQogCiAgICAgaWYgKCBpZCApCkBAIC03NTYsMTEgKzc1Niwx MSBAQCBpbnQgaHZtX2Rlc3Ryb3lfaW9yZXFfc2VydmVyKHN0cnVjdCBkb21haW4gKmQsIGlvc2Vy dmlkX3QgaWQpCiAKICAgICAgICAgcDJtX3NldF9pb3JlcV9zZXJ2ZXIoZCwgMCwgcyk7CiAKLSAg ICAgICAgaHZtX2lvcmVxX3NlcnZlcl9kaXNhYmxlKHMsIDApOworICAgICAgICBodm1faW9yZXFf c2VydmVyX2Rpc2FibGUocywgZmFsc2UpOwogCiAgICAgICAgIGxpc3RfZGVsKCZzLT5saXN0X2Vu dHJ5KTsKIAotICAgICAgICBodm1faW9yZXFfc2VydmVyX2RlaW5pdChzLCAwKTsKKyAgICAgICAg aHZtX2lvcmVxX3NlcnZlcl9kZWluaXQocywgZmFsc2UpOwogCiAgICAgICAgIGRvbWFpbl91bnBh dXNlKGQpOwogCkBAIC05NjgsNyArOTY4LDcgQEAgaW50IGh2bV9tYXBfbWVtX3R5cGVfdG9faW9y ZXFfc2VydmVyKHN0cnVjdCBkb21haW4gKmQsIGlvc2VydmlkX3QgaWQsCiB9CiAKIGludCBodm1f c2V0X2lvcmVxX3NlcnZlcl9zdGF0ZShzdHJ1Y3QgZG9tYWluICpkLCBpb3NlcnZpZF90IGlkLAot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2xfdCBlbmFibGVkKQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGJvb2wgZW5hYmxlZCkKIHsKICAgICBzdHJ1Y3QgbGlzdF9o ZWFkICplbnRyeTsKICAgICBpbnQgcmM7CkBAIC05OTIsOSArOTkyLDkgQEAgaW50IGh2bV9zZXRf aW9yZXFfc2VydmVyX3N0YXRlKHN0cnVjdCBkb21haW4gKmQsIGlvc2VydmlkX3QgaWQsCiAgICAg ICAgIGRvbWFpbl9wYXVzZShkKTsKIAogICAgICAgICBpZiAoIGVuYWJsZWQgKQotICAgICAgICAg ICAgaHZtX2lvcmVxX3NlcnZlcl9lbmFibGUocywgMCk7CisgICAgICAgICAgICBodm1faW9yZXFf c2VydmVyX2VuYWJsZShzLCBmYWxzZSk7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIGh2bV9p b3JlcV9zZXJ2ZXJfZGlzYWJsZShzLCAwKTsKKyAgICAgICAgICAgIGh2bV9pb3JlcV9zZXJ2ZXJf ZGlzYWJsZShzLCBmYWxzZSk7CiAKICAgICAgICAgZG9tYWluX3VucGF1c2UoZCk7CiAKQEAgLTEw MTcsNyArMTAxNyw3IEBAIGludCBodm1fYWxsX2lvcmVxX3NlcnZlcnNfYWRkX3ZjcHUoc3RydWN0 IGRvbWFpbiAqZCwgc3RydWN0IHZjcHUgKnYpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICZk LT5hcmNoLmh2bV9kb21haW4uaW9yZXFfc2VydmVyLmxpc3QsCiAgICAgICAgICAgICAgICAgICAg ICAgICAgIGxpc3RfZW50cnkgKQogICAgIHsKLSAgICAgICAgYm9vbF90IGlzX2RlZmF1bHQgPSAo cyA9PSBkLT5hcmNoLmh2bV9kb21haW4uZGVmYXVsdF9pb3JlcV9zZXJ2ZXIpOworICAgICAgICBi b29sIGlzX2RlZmF1bHQgPSAocyA9PSBkLT5hcmNoLmh2bV9kb21haW4uZGVmYXVsdF9pb3JlcV9z ZXJ2ZXIpOwogCiAgICAgICAgIHJjID0gaHZtX2lvcmVxX3NlcnZlcl9hZGRfdmNwdShzLCBpc19k ZWZhdWx0LCB2KTsKICAgICAgICAgaWYgKCByYyApCkBAIC0xMDY2LDcgKzEwNjYsNyBAQCB2b2lk IGh2bV9kZXN0cm95X2FsbF9pb3JlcV9zZXJ2ZXJzKHN0cnVjdCBkb21haW4gKmQpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgJmQtPmFyY2guaHZtX2RvbWFpbi5pb3JlcV9zZXJ2ZXIu bGlzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0X2VudHJ5ICkKICAgICB7 Ci0gICAgICAgIGJvb2xfdCBpc19kZWZhdWx0ID0gKHMgPT0gZC0+YXJjaC5odm1fZG9tYWluLmRl ZmF1bHRfaW9yZXFfc2VydmVyKTsKKyAgICAgICAgYm9vbCBpc19kZWZhdWx0ID0gKHMgPT0gZC0+ YXJjaC5odm1fZG9tYWluLmRlZmF1bHRfaW9yZXFfc2VydmVyKTsKIAogICAgICAgICBodm1faW9y ZXFfc2VydmVyX2Rpc2FibGUocywgaXNfZGVmYXVsdCk7CiAKQEAgLTEzNDksNyArMTM0OSw3IEBA IHN0YXRpYyBpbnQgaHZtX3NlbmRfYnVmZmVyZWRfaW9yZXEoc3RydWN0IGh2bV9pb3JlcV9zZXJ2 ZXIgKnMsIGlvcmVxX3QgKnApCiB9CiAKIGludCBodm1fc2VuZF9pb3JlcShzdHJ1Y3QgaHZtX2lv cmVxX3NlcnZlciAqcywgaW9yZXFfdCAqcHJvdG9fcCwKLSAgICAgICAgICAgICAgICAgICBib29s X3QgYnVmZmVyZWQpCisgICAgICAgICAgICAgICAgICAgYm9vbCBidWZmZXJlZCkKIHsKICAgICBz dHJ1Y3QgdmNwdSAqY3VyciA9IGN1cnJlbnQ7CiAgICAgc3RydWN0IGRvbWFpbiAqZCA9IGN1cnIt PmRvbWFpbjsKQEAgLTE0MDAsNyArMTQwMCw3IEBAIGludCBodm1fc2VuZF9pb3JlcShzdHJ1Y3Qg aHZtX2lvcmVxX3NlcnZlciAqcywgaW9yZXFfdCAqcHJvdG9fcCwKICAgICAgICAgICAgIHAtPnN0 YXRlID0gU1RBVEVfSU9SRVFfUkVBRFk7CiAgICAgICAgICAgICBub3RpZnlfdmlhX3hlbl9ldmVu dF9jaGFubmVsKGQsIHBvcnQpOwogCi0gICAgICAgICAgICBzdi0+cGVuZGluZyA9IDE7CisgICAg ICAgICAgICBzdi0+cGVuZGluZyA9IHRydWU7CiAgICAgICAgICAgICByZXR1cm4gWDg2RU1VTF9S RVRSWTsKICAgICAgICAgfQogICAgIH0KQEAgLTE0MDgsNyArMTQwOCw3IEBAIGludCBodm1fc2Vu ZF9pb3JlcShzdHJ1Y3QgaHZtX2lvcmVxX3NlcnZlciAqcywgaW9yZXFfdCAqcHJvdG9fcCwKICAg ICByZXR1cm4gWDg2RU1VTF9VTkhBTkRMRUFCTEU7CiB9CiAKLXVuc2lnbmVkIGludCBodm1fYnJv YWRjYXN0X2lvcmVxKGlvcmVxX3QgKnAsIGJvb2xfdCBidWZmZXJlZCkKK3Vuc2lnbmVkIGludCBo dm1fYnJvYWRjYXN0X2lvcmVxKGlvcmVxX3QgKnAsIGJvb2wgYnVmZmVyZWQpCiB7CiAgICAgc3Ry dWN0IGRvbWFpbiAqZCA9IGN1cnJlbnQtPmRvbWFpbjsKICAgICBzdHJ1Y3QgaHZtX2lvcmVxX3Nl cnZlciAqczsKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL2RvbWFpbi5oIGIv eGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vZG9tYWluLmgKaW5kZXggY2U1MzZmNzVlZi4uN2YxMjhj MDVmZiAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vZG9tYWluLmgKKysrIGIv eGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vZG9tYWluLmgKQEAgLTQ1LDcgKzQ1LDcgQEAgc3RydWN0 IGh2bV9pb3JlcV92Y3B1IHsKICAgICBzdHJ1Y3QgbGlzdF9oZWFkIGxpc3RfZW50cnk7CiAgICAg c3RydWN0IHZjcHUgICAgICAqdmNwdTsKICAgICBldnRjaG5fcG9ydF90ICAgIGlvcmVxX2V2dGNo bjsKLSAgICBib29sX3QgICAgICAgICAgIHBlbmRpbmc7CisgICAgYm9vbCAgICAgICAgICAgICBw ZW5kaW5nOwogfTsKIAogI2RlZmluZSBOUl9JT19SQU5HRV9UWVBFUyAoWEVOX0RNT1BfSU9fUkFO R0VfUENJICsgMSkKQEAgLTY5LDggKzY5LDggQEAgc3RydWN0IGh2bV9pb3JlcV9zZXJ2ZXIgewog ICAgIHNwaW5sb2NrX3QgICAgICAgICAgICAgYnVmaW9yZXFfbG9jazsKICAgICBldnRjaG5fcG9y dF90ICAgICAgICAgIGJ1ZmlvcmVxX2V2dGNobjsKICAgICBzdHJ1Y3QgcmFuZ2VzZXQgICAgICAg ICpyYW5nZVtOUl9JT19SQU5HRV9UWVBFU107Ci0gICAgYm9vbF90ICAgICAgICAgICAgICAgICBl bmFibGVkOwotICAgIGJvb2xfdCAgICAgICAgICAgICAgICAgYnVmaW9yZXFfYXRvbWljOworICAg IGJvb2wgICAgICAgICAgICAgICAgICAgZW5hYmxlZDsKKyAgICBib29sICAgICAgICAgICAgICAg ICAgIGJ1ZmlvcmVxX2F0b21pYzsKIH07CiAKIC8qCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9h c20teDg2L2h2bS9pb3JlcS5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vaW9yZXEuaAppbmRl eCA0M2ZiZTExNWRjLi4xODI5ZmNmNDNlIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2 L2h2bS9pb3JlcS5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL2lvcmVxLmgKQEAgLTE5 LDEyICsxOSwxMiBAQAogI2lmbmRlZiBfX0FTTV9YODZfSFZNX0lPUkVRX0hfXwogI2RlZmluZSBf X0FTTV9YODZfSFZNX0lPUkVRX0hfXwogCi1ib29sX3QgaHZtX2lvX3BlbmRpbmcoc3RydWN0IHZj cHUgKnYpOwotYm9vbF90IGhhbmRsZV9odm1faW9fY29tcGxldGlvbihzdHJ1Y3QgdmNwdSAqdik7 Ci1ib29sX3QgaXNfaW9yZXFfc2VydmVyX3BhZ2Uoc3RydWN0IGRvbWFpbiAqZCwgY29uc3Qgc3Ry dWN0IHBhZ2VfaW5mbyAqcGFnZSk7Citib29sIGh2bV9pb19wZW5kaW5nKHN0cnVjdCB2Y3B1ICp2 KTsKK2Jvb2wgaGFuZGxlX2h2bV9pb19jb21wbGV0aW9uKHN0cnVjdCB2Y3B1ICp2KTsKK2Jvb2wg aXNfaW9yZXFfc2VydmVyX3BhZ2Uoc3RydWN0IGRvbWFpbiAqZCwgY29uc3Qgc3RydWN0IHBhZ2Vf aW5mbyAqcGFnZSk7CiAKIGludCBodm1fY3JlYXRlX2lvcmVxX3NlcnZlcihzdHJ1Y3QgZG9tYWlu ICpkLCBkb21pZF90IGRvbWlkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2xfdCBp c19kZWZhdWx0LCBpbnQgYnVmaW9yZXFfaGFuZGxpbmcsCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgYm9vbCBpc19kZWZhdWx0LCBpbnQgYnVmaW9yZXFfaGFuZGxpbmcsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgaW9zZXJ2aWRfdCAqaWQpOwogaW50IGh2bV9kZXN0cm95X2lvcmVx X3NlcnZlcihzdHJ1Y3QgZG9tYWluICpkLCBpb3NlcnZpZF90IGlkKTsKIGludCBodm1fZ2V0X2lv cmVxX3NlcnZlcl9pbmZvKHN0cnVjdCBkb21haW4gKmQsIGlvc2VydmlkX3QgaWQsCkBAIC00MCw3 ICs0MCw3IEBAIGludCBodm1fdW5tYXBfaW9fcmFuZ2VfZnJvbV9pb3JlcV9zZXJ2ZXIoc3RydWN0 IGRvbWFpbiAqZCwgaW9zZXJ2aWRfdCBpZCwKIGludCBodm1fbWFwX21lbV90eXBlX3RvX2lvcmVx X3NlcnZlcihzdHJ1Y3QgZG9tYWluICpkLCBpb3NlcnZpZF90IGlkLAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHR5cGUsIHVpbnQzMl90IGZsYWdzKTsKIGlu dCBodm1fc2V0X2lvcmVxX3NlcnZlcl9zdGF0ZShzdHJ1Y3QgZG9tYWluICpkLCBpb3NlcnZpZF90 IGlkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2xfdCBlbmFibGVkKTsKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGVuYWJsZWQpOwogCiBpbnQgaHZtX2Fs bF9pb3JlcV9zZXJ2ZXJzX2FkZF92Y3B1KHN0cnVjdCBkb21haW4gKmQsIHN0cnVjdCB2Y3B1ICp2 KTsKIHZvaWQgaHZtX2FsbF9pb3JlcV9zZXJ2ZXJzX3JlbW92ZV92Y3B1KHN0cnVjdCBkb21haW4g KmQsIHN0cnVjdCB2Y3B1ICp2KTsKQEAgLTUxLDggKzUxLDggQEAgaW50IGh2bV9zZXRfZG1fZG9t YWluKHN0cnVjdCBkb21haW4gKmQsIGRvbWlkX3QgZG9taWQpOwogc3RydWN0IGh2bV9pb3JlcV9z ZXJ2ZXIgKmh2bV9zZWxlY3RfaW9yZXFfc2VydmVyKHN0cnVjdCBkb21haW4gKmQsCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW9yZXFfdCAqcCk7CiBp bnQgaHZtX3NlbmRfaW9yZXEoc3RydWN0IGh2bV9pb3JlcV9zZXJ2ZXIgKnMsIGlvcmVxX3QgKnBy b3RvX3AsCi0gICAgICAgICAgICAgICAgICAgYm9vbF90IGJ1ZmZlcmVkKTsKLXVuc2lnbmVkIGlu dCBodm1fYnJvYWRjYXN0X2lvcmVxKGlvcmVxX3QgKnAsIGJvb2xfdCBidWZmZXJlZCk7CisgICAg ICAgICAgICAgICAgICAgYm9vbCBidWZmZXJlZCk7Cit1bnNpZ25lZCBpbnQgaHZtX2Jyb2FkY2Fz dF9pb3JlcShpb3JlcV90ICpwLCBib29sIGJ1ZmZlcmVkKTsKIAogdm9pZCBodm1faW9yZXFfaW5p dChzdHJ1Y3QgZG9tYWluICpkKTsKIAotLSAKMi4xMS4wCgoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2 ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==