From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: [PATCH v3 07/12] x86/hvm/ioreq: use bool rather than bool_t Date: Thu, 31 Aug 2017 10:36:00 +0100 Message-ID: <20170831093605.2757-8-paul.durrant@citrix.com> References: <20170831093605.2757-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 1dnLtZ-00066r-5q for xen-devel@lists.xenproject.org; Thu, 31 Aug 2017 09:36:17 +0000 In-Reply-To: <20170831093605.2757-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 VGhpcyBwYXRjaCBjaGFuZ2VzIHVzZSBvZiBib29sX3QgdG8gYm9vbCBpbiB0aGUgaW9yZXEgc2Vy dmVyIGNvZGUuIEl0IGFsc28KZml4ZXMgYW4gaW5jb3JyZWN0IGluZGVudGF0aW9uIGluIGEgY29u dGludWF0aW9uIGxpbmUuCgpUaGlzIHBhdGNoIGlzIHB1cmVseSBjb3NtZXRpYy4gTm8gc2VtYW50 aWMgb3IgZnVuY3Rpb25hbCBjaGFuZ2UuCgpTaWduZWQtb2ZmLWJ5OiBQYXVsIER1cnJhbnQgPHBh dWwuZHVycmFudEBjaXRyaXguY29tPgpSZXZpZXdlZC1ieTogUm9nZXIgUGF1IE1vbm7DqSA8cm9n ZXIucGF1QGNpdHJpeC5jb20+Ci0tLQpDYzogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29t PgpDYzogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KLS0tCiB4ZW4v YXJjaC94ODYvaHZtL2RtLmMgICAgICAgICAgICB8ICAgMiArLQogeGVuL2FyY2gveDg2L2h2bS9o dm0uYyAgICAgICAgICAgfCAgIDIgKy0KIHhlbi9hcmNoL3g4Ni9odm0vaW8uYyAgICAgICAgICAg IHwgICA0ICstCiB4ZW4vYXJjaC94ODYvaHZtL2lvcmVxLmMgICAgICAgICB8IDEwMCArKysrKysr KysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0KIHhlbi9pbmNsdWRlL2FzbS14ODYvaHZt L2RvbWFpbi5oIHwgICA2ICstLQogeGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vaW9yZXEuaCAgfCAg MTQgKysrLS0tCiA2IGZpbGVzIGNoYW5nZWQsIDY0IGluc2VydGlvbnMoKyksIDY0IGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vZG0uYyBiL3hlbi9hcmNoL3g4Ni9o dm0vZG0uYwppbmRleCBmN2NiODgzZmVjLi44N2VmNGI2Y2E5IDEwMDY0NAotLS0gYS94ZW4vYXJj aC94ODYvaHZtL2RtLmMKKysrIGIveGVuL2FyY2gveDg2L2h2bS9kbS5jCkBAIC00MDksNyArNDA5 LDcgQEAgc3RhdGljIGludCBkbV9vcChjb25zdCBzdHJ1Y3QgZG1vcF9hcmdzICpvcF9hcmdzKQog ICAgICAgICBpZiAoIGRhdGEtPnBhZFswXSB8fCBkYXRhLT5wYWRbMV0gfHwgZGF0YS0+cGFkWzJd ICkKICAgICAgICAgICAgIGJyZWFrOwogCi0gICAgICAgIHJjID0gaHZtX2NyZWF0ZV9pb3JlcV9z ZXJ2ZXIoZCwgY3Vycl9kLT5kb21haW5faWQsIDAsCisgICAgICAgIHJjID0gaHZtX2NyZWF0ZV9p b3JlcV9zZXJ2ZXIoZCwgY3Vycl9kLT5kb21haW5faWQsIGZhbHNlLAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGRhdGEtPmhhbmRsZV9idWZpb3JlcSwgJmRhdGEtPmlkKTsK ICAgICAgICAgYnJlYWs7CiAgICAgfQpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2bS9odm0u YyBiL3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMKaW5kZXggNThiNGFmYTFkMS4uMDMxZDA3YmFmMCAx MDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2h2bS9odm0uYworKysgYi94ZW4vYXJjaC94ODYvaHZt L2h2bS5jCkBAIC00MzYxLDcgKzQzNjEsNyBAQCBzdGF0aWMgaW50IGh2bW9wX2dldF9wYXJhbSgK ICAgICAgICAgewogICAgICAgICAgICAgZG9taWRfdCBkb21pZCA9IGQtPmFyY2guaHZtX2RvbWFp bi5wYXJhbXNbSFZNX1BBUkFNX0RNX0RPTUFJTl07CiAKLSAgICAgICAgICAgIHJjID0gaHZtX2Ny ZWF0ZV9pb3JlcV9zZXJ2ZXIoZCwgZG9taWQsIDEsCisgICAgICAgICAgICByYyA9IGh2bV9jcmVh dGVfaW9yZXFfc2VydmVyKGQsIGRvbWlkLCB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBIVk1fSU9SRVFTUlZfQlVGSU9SRVFfTEVHQUNZLCBOVUxMKTsKICAg ICAgICAgICAgIGlmICggcmMgIT0gMCAmJiByYyAhPSAtRUVYSVNUICkKICAgICAgICAgICAgICAg ICBnb3RvIG91dDsKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vaW8uYyBiL3hlbi9hcmNo L3g4Ni9odm0vaW8uYwppbmRleCAyMTRhYjMwN2M0Li5iZmFjOTkzMjIzIDEwMDY0NAotLS0gYS94 ZW4vYXJjaC94ODYvaHZtL2lvLmMKKysrIGIveGVuL2FyY2gveDg2L2h2bS9pby5jCkBAIC01OSw3 ICs1OSw3IEBAIHZvaWQgc2VuZF90aW1lb2Zmc2V0X3JlcSh1bnNpZ25lZCBsb25nIHRpbWVvZmYp CiAgICAgaWYgKCB0aW1lb2ZmID09IDAgKQogICAgICAgICByZXR1cm47CiAKLSAgICBpZiAoIGh2 bV9icm9hZGNhc3RfaW9yZXEoJnAsIDEpICE9IDAgKQorICAgIGlmICggaHZtX2Jyb2FkY2FzdF9p b3JlcSgmcCwgdHJ1ZSkgIT0gMCApCiAgICAgICAgIGdwcmludGsoWEVOTE9HX0VSUiwgIlVuc3Vj Y2Vzc2Z1bCB0aW1lb2Zmc2V0IHVwZGF0ZVxuIik7CiB9CiAKQEAgLTczLDcgKzczLDcgQEAgdm9p ZCBzZW5kX2ludmFsaWRhdGVfcmVxKHZvaWQpCiAgICAgICAgIC5kYXRhID0gfjBVTCwgLyogZmx1 c2ggYWxsICovCiAgICAgfTsKIAotICAgIGlmICggaHZtX2Jyb2FkY2FzdF9pb3JlcSgmcCwgMCkg IT0gMCApCisgICAgaWYgKCBodm1fYnJvYWRjYXN0X2lvcmVxKCZwLCBmYWxzZSkgIT0gMCApCiAg ICAgICAgIGdwcmludGsoWEVOTE9HX0VSUiwgIlVuc3VjY2Vzc2Z1bCBtYXAtY2FjaGUgaW52YWxp ZGF0ZVxuIik7CiB9CiAKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vaW9yZXEuYyBiL3hl bi9hcmNoL3g4Ni9odm0vaW9yZXEuYwppbmRleCAzZTc1M2JhMjI0Li41ZTAxZTFhNmQyIDEwMDY0 NAotLS0gYS94ZW4vYXJjaC94ODYvaHZtL2lvcmVxLmMKKysrIGIveGVuL2FyY2gveDg2L2h2bS9p b3JlcS5jCkBAIC00Myw3ICs0Myw3IEBAIHN0YXRpYyBpb3JlcV90ICpnZXRfaW9yZXEoc3RydWN0 IGh2bV9pb3JlcV9zZXJ2ZXIgKnMsIHN0cnVjdCB2Y3B1ICp2KQogICAgIHJldHVybiAmcC0+dmNw dV9pb3JlcVt2LT52Y3B1X2lkXTsKIH0KIAotYm9vbF90IGh2bV9pb19wZW5kaW5nKHN0cnVjdCB2 Y3B1ICp2KQorYm9vbCBodm1faW9fcGVuZGluZyhzdHJ1Y3QgdmNwdSAqdikKIHsKICAgICBzdHJ1 Y3QgZG9tYWluICpkID0gdi0+ZG9tYWluOwogICAgIHN0cnVjdCBodm1faW9yZXFfc2VydmVyICpz OwpAQCAtNTksMTEgKzU5LDExIEBAIGJvb2xfdCBodm1faW9fcGVuZGluZyhzdHJ1Y3QgdmNwdSAq dikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3RfZW50cnkgKQogICAgICAgICB7 CiAgICAgICAgICAgICBpZiAoIHN2LT52Y3B1ID09IHYgJiYgc3YtPnBlbmRpbmcgKQotICAgICAg ICAgICAgICAgIHJldHVybiAxOworICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAg ICB9CiAgICAgfQogCi0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIGZhbHNlOwogfQogCiBzdGF0 aWMgdm9pZCBodm1faW9fYXNzaXN0KHN0cnVjdCBodm1faW9yZXFfdmNwdSAqc3YsIHVpbnQ2NF90 IGRhdGEpCkBAIC04MiwxMCArODIsMTAgQEAgc3RhdGljIHZvaWQgaHZtX2lvX2Fzc2lzdChzdHJ1 Y3QgaHZtX2lvcmVxX3ZjcHUgKnN2LCB1aW50NjRfdCBkYXRhKQogICAgIG1zaXhfd3JpdGVfY29t cGxldGlvbih2KTsKICAgICB2Y3B1X2VuZF9zaHV0ZG93bl9kZWZlcnJhbCh2KTsKIAotICAgIHN2 LT5wZW5kaW5nID0gMDsKKyAgICBzdi0+cGVuZGluZyA9IGZhbHNlOwogfQogCi1zdGF0aWMgYm9v bF90IGh2bV93YWl0X2Zvcl9pbyhzdHJ1Y3QgaHZtX2lvcmVxX3ZjcHUgKnN2LCBpb3JlcV90ICpw KQorc3RhdGljIGJvb2wgaHZtX3dhaXRfZm9yX2lvKHN0cnVjdCBodm1faW9yZXFfdmNwdSAqc3Ys IGlvcmVxX3QgKnApCiB7CiAgICAgd2hpbGUgKCBzdi0+cGVuZGluZyApCiAgICAgewpAQCAtMTEy LDE2ICsxMTIsMTYgQEAgc3RhdGljIGJvb2xfdCBodm1fd2FpdF9mb3JfaW8oc3RydWN0IGh2bV9p b3JlcV92Y3B1ICpzdiwgaW9yZXFfdCAqcCkKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBk ZWZhdWx0OgogICAgICAgICAgICAgZ2RwcmludGsoWEVOTE9HX0VSUiwgIldlaXJkIEhWTSBpb3Jl cXVlc3Qgc3RhdGUgJXVcbiIsIHN0YXRlKTsKLSAgICAgICAgICAgIHN2LT5wZW5kaW5nID0gMDsK KyAgICAgICAgICAgIHN2LT5wZW5kaW5nID0gZmFsc2U7CiAgICAgICAgICAgICBkb21haW5fY3Jh c2goc3YtPnZjcHUtPmRvbWFpbik7Ci0gICAgICAgICAgICByZXR1cm4gMDsgLyogYmFpbCAqLwor ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOyAvKiBiYWlsICovCiAgICAgICAgIH0KICAgICB9CiAK LSAgICByZXR1cm4gMTsKKyAgICByZXR1cm4gdHJ1ZTsKIH0KIAotYm9vbF90IGhhbmRsZV9odm1f aW9fY29tcGxldGlvbihzdHJ1Y3QgdmNwdSAqdikKK2Jvb2wgaGFuZGxlX2h2bV9pb19jb21wbGV0 aW9uKHN0cnVjdCB2Y3B1ICp2KQogewogICAgIHN0cnVjdCBkb21haW4gKmQgPSB2LT5kb21haW47 CiAgICAgc3RydWN0IGh2bV92Y3B1X2lvICp2aW8gPSAmdi0+YXJjaC5odm1fdmNwdS5odm1faW87 CkBAIC0xNDEsNyArMTQxLDcgQEAgYm9vbF90IGhhbmRsZV9odm1faW9fY29tcGxldGlvbihzdHJ1 Y3QgdmNwdSAqdikKICAgICAgICAgICAgIGlmICggc3YtPnZjcHUgPT0gdiAmJiBzdi0+cGVuZGlu ZyApCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgaWYgKCAhaHZtX3dhaXRfZm9yX2lv KHN2LCBnZXRfaW9yZXEocywgdikpICkKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7Cisg ICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgICAgICAgICAgICAgIGJyZWFr OwogICAgICAgICAgICAgfQpAQCAtMTc4LDcgKzE3OCw3IEBAIGJvb2xfdCBoYW5kbGVfaHZtX2lv X2NvbXBsZXRpb24oc3RydWN0IHZjcHUgKnYpCiAgICAgICAgIGJyZWFrOwogICAgIH0KIAotICAg IHJldHVybiAxOworICAgIHJldHVybiB0cnVlOwogfQogCiBzdGF0aWMgaW50IGh2bV9hbGxvY19p b3JlcV9nZm4oc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgbG9uZyAqZ2ZuKQpAQCAtMjA4LDcg KzIwOCw3IEBAIHN0YXRpYyB2b2lkIGh2bV9mcmVlX2lvcmVxX2dmbihzdHJ1Y3QgZG9tYWluICpk LCB1bnNpZ25lZCBsb25nIGdmbikKICAgICAgICAgc2V0X2JpdChpLCAmZC0+YXJjaC5odm1fZG9t YWluLmlvcmVxX2dmbi5tYXNrKTsKIH0KIAotc3RhdGljIHZvaWQgaHZtX3VubWFwX2lvcmVxX3Bh Z2Uoc3RydWN0IGh2bV9pb3JlcV9zZXJ2ZXIgKnMsIGJvb2xfdCBidWYpCitzdGF0aWMgdm9pZCBo dm1fdW5tYXBfaW9yZXFfcGFnZShzdHJ1Y3QgaHZtX2lvcmVxX3NlcnZlciAqcywgYm9vbCBidWYp CiB7CiAgICAgc3RydWN0IGh2bV9pb3JlcV9wYWdlICppb3JwID0gYnVmID8gJnMtPmJ1ZmlvcmVx IDogJnMtPmlvcmVxOwogCkBAIC0yMTYsNyArMjE2LDcgQEAgc3RhdGljIHZvaWQgaHZtX3VubWFw X2lvcmVxX3BhZ2Uoc3RydWN0IGh2bV9pb3JlcV9zZXJ2ZXIgKnMsIGJvb2xfdCBidWYpCiB9CiAK IHN0YXRpYyBpbnQgaHZtX21hcF9pb3JlcV9wYWdlKAotICAgIHN0cnVjdCBodm1faW9yZXFfc2Vy dmVyICpzLCBib29sX3QgYnVmLCB1bnNpZ25lZCBsb25nIGdmbikKKyAgICBzdHJ1Y3QgaHZtX2lv cmVxX3NlcnZlciAqcywgYm9vbCBidWYsIHVuc2lnbmVkIGxvbmcgZ2ZuKQogewogICAgIHN0cnVj dCBkb21haW4gKmQgPSBzLT5kb21haW47CiAgICAgc3RydWN0IGh2bV9pb3JlcV9wYWdlICppb3Jw ID0gYnVmID8gJnMtPmJ1ZmlvcmVxIDogJnMtPmlvcmVxOwpAQCAtMjQwLDEwICsyNDAsMTAgQEAg c3RhdGljIGludCBodm1fbWFwX2lvcmVxX3BhZ2UoCiAgICAgcmV0dXJuIDA7CiB9CiAKLWJvb2xf dCBpc19pb3JlcV9zZXJ2ZXJfcGFnZShzdHJ1Y3QgZG9tYWluICpkLCBjb25zdCBzdHJ1Y3QgcGFn ZV9pbmZvICpwYWdlKQorYm9vbCBpc19pb3JlcV9zZXJ2ZXJfcGFnZShzdHJ1Y3QgZG9tYWluICpk LCBjb25zdCBzdHJ1Y3QgcGFnZV9pbmZvICpwYWdlKQogewogICAgIGNvbnN0IHN0cnVjdCBodm1f aW9yZXFfc2VydmVyICpzOwotICAgIGJvb2xfdCBmb3VuZCA9IDA7CisgICAgYm9vbCBmb3VuZCA9 IGZhbHNlOwogCiAgICAgc3Bpbl9sb2NrX3JlY3Vyc2l2ZSgmZC0+YXJjaC5odm1fZG9tYWluLmlv cmVxX3NlcnZlci5sb2NrKTsKIApAQCAtMjU0LDcgKzI1NCw3IEBAIGJvb2xfdCBpc19pb3JlcV9z ZXJ2ZXJfcGFnZShzdHJ1Y3QgZG9tYWluICpkLCBjb25zdCBzdHJ1Y3QgcGFnZV9pbmZvICpwYWdl KQogICAgICAgICBpZiAoIChzLT5pb3JlcS52YSAmJiBzLT5pb3JlcS5wYWdlID09IHBhZ2UpIHx8 CiAgICAgICAgICAgICAgKHMtPmJ1ZmlvcmVxLnZhICYmIHMtPmJ1ZmlvcmVxLnBhZ2UgPT0gcGFn ZSkgKQogICAgICAgICB7Ci0gICAgICAgICAgICBmb3VuZCA9IDE7CisgICAgICAgICAgICBmb3Vu ZCA9IHRydWU7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgIH0KQEAgLTMwMiw3 ICszMDIsNyBAQCBzdGF0aWMgdm9pZCBodm1fdXBkYXRlX2lvcmVxX2V2dGNobihzdHJ1Y3QgaHZt X2lvcmVxX3NlcnZlciAqcywKIH0KIAogc3RhdGljIGludCBodm1faW9yZXFfc2VydmVyX2FkZF92 Y3B1KHN0cnVjdCBodm1faW9yZXFfc2VydmVyICpzLAotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGJvb2xfdCBpc19kZWZhdWx0LCBzdHJ1Y3QgdmNwdSAqdikKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGlzX2RlZmF1bHQsIHN0cnVjdCB2Y3B1 ICp2KQogewogICAgIHN0cnVjdCBodm1faW9yZXFfdmNwdSAqc3Y7CiAgICAgaW50IHJjOwpAQCAt NDE3LDIyICs0MTcsMjIgQEAgc3RhdGljIGludCBodm1faW9yZXFfc2VydmVyX21hcF9wYWdlcyhz dHJ1Y3QgaHZtX2lvcmVxX3NlcnZlciAqcywKIHsKICAgICBpbnQgcmM7CiAKLSAgICByYyA9IGh2 bV9tYXBfaW9yZXFfcGFnZShzLCAwLCBpb3JlcV9nZm4pOworICAgIHJjID0gaHZtX21hcF9pb3Jl cV9wYWdlKHMsIGZhbHNlLCBpb3JlcV9nZm4pOwogICAgIGlmICggcmMgKQogICAgICAgICByZXR1 cm4gcmM7CiAKICAgICBpZiAoIGJ1ZmlvcmVxX2dmbiAhPSBnZm5feChJTlZBTElEX0dGTikgKQot ICAgICAgICByYyA9IGh2bV9tYXBfaW9yZXFfcGFnZShzLCAxLCBidWZpb3JlcV9nZm4pOworICAg ICAgICByYyA9IGh2bV9tYXBfaW9yZXFfcGFnZShzLCB0cnVlLCBidWZpb3JlcV9nZm4pOwogCiAg ICAgaWYgKCByYyApCi0gICAgICAgIGh2bV91bm1hcF9pb3JlcV9wYWdlKHMsIDApOworICAgICAg ICBodm1fdW5tYXBfaW9yZXFfcGFnZShzLCBmYWxzZSk7CiAKICAgICByZXR1cm4gcmM7CiB9CiAK IHN0YXRpYyBpbnQgaHZtX2lvcmVxX3NlcnZlcl9zZXR1cF9wYWdlcyhzdHJ1Y3QgaHZtX2lvcmVx X3NlcnZlciAqcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29s X3QgaXNfZGVmYXVsdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBi b29sX3QgaGFuZGxlX2J1ZmlvcmVxKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGJvb2wgaXNfZGVmYXVsdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBib29sIGhhbmRsZV9idWZpb3JlcSkKIHsKICAgICBzdHJ1Y3QgZG9tYWluICpkID0g cy0+ZG9tYWluOwogICAgIHVuc2lnbmVkIGxvbmcgaW9yZXFfZ2ZuID0gZ2ZuX3goSU5WQUxJRF9H Rk4pOwpAQCAtNDY5LDE1ICs0NjksMTUgQEAgc3RhdGljIGludCBodm1faW9yZXFfc2VydmVyX3Nl dHVwX3BhZ2VzKHN0cnVjdCBodm1faW9yZXFfc2VydmVyICpzLAogfQogCiBzdGF0aWMgdm9pZCBo dm1faW9yZXFfc2VydmVyX3VubWFwX3BhZ2VzKHN0cnVjdCBodm1faW9yZXFfc2VydmVyICpzLAot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sX3QgaXNfZGVmYXVs dCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBpc19kZWZh dWx0KQogewogICAgIHN0cnVjdCBkb21haW4gKmQgPSBzLT5kb21haW47Ci0gICAgYm9vbF90IGhh bmRsZV9idWZpb3JlcSA9ICggcy0+YnVmaW9yZXEudmEgIT0gTlVMTCApOworICAgIGJvb2wgaGFu ZGxlX2J1ZmlvcmVxID0gISFzLT5idWZpb3JlcS52YTsKIAogICAgIGlmICggaGFuZGxlX2J1Zmlv cmVxICkKLSAgICAgICAgaHZtX3VubWFwX2lvcmVxX3BhZ2UocywgMSk7CisgICAgICAgIGh2bV91 bm1hcF9pb3JlcV9wYWdlKHMsIHRydWUpOwogCi0gICAgaHZtX3VubWFwX2lvcmVxX3BhZ2Uocywg MCk7CisgICAgaHZtX3VubWFwX2lvcmVxX3BhZ2UocywgZmFsc2UpOwogCiAgICAgaWYgKCAhaXNf ZGVmYXVsdCApCiAgICAgewpAQCAtNDg5LDcgKzQ4OSw3IEBAIHN0YXRpYyB2b2lkIGh2bV9pb3Jl cV9zZXJ2ZXJfdW5tYXBfcGFnZXMoc3RydWN0IGh2bV9pb3JlcV9zZXJ2ZXIgKnMsCiB9CiAKIHN0 YXRpYyB2b2lkIGh2bV9pb3JlcV9zZXJ2ZXJfZnJlZV9yYW5nZXNldHMoc3RydWN0IGh2bV9pb3Jl cV9zZXJ2ZXIgKnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGJvb2xfdCBpc19kZWZhdWx0KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBib29sIGlzX2RlZmF1bHQpCiB7CiAgICAgdW5zaWduZWQgaW50IGk7CiAKQEAgLTUw MSw3ICs1MDEsNyBAQCBzdGF0aWMgdm9pZCBodm1faW9yZXFfc2VydmVyX2ZyZWVfcmFuZ2VzZXRz KHN0cnVjdCBodm1faW9yZXFfc2VydmVyICpzLAogfQogCiBzdGF0aWMgaW50IGh2bV9pb3JlcV9z ZXJ2ZXJfYWxsb2NfcmFuZ2VzZXRzKHN0cnVjdCBodm1faW9yZXFfc2VydmVyICpzLAotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sX3QgaXNfZGVmYXVsdCkK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBpc19kZWZh dWx0KQogewogICAgIHVuc2lnbmVkIGludCBpOwogICAgIGludCByYzsKQEAgLTUzNywxNyArNTM3 LDE3IEBAIHN0YXRpYyBpbnQgaHZtX2lvcmVxX3NlcnZlcl9hbGxvY19yYW5nZXNldHMoc3RydWN0 IGh2bV9pb3JlcV9zZXJ2ZXIgKnMsCiAgICAgcmV0dXJuIDA7CiAKICBmYWlsOgotICAgIGh2bV9p b3JlcV9zZXJ2ZXJfZnJlZV9yYW5nZXNldHMocywgMCk7CisgICAgaHZtX2lvcmVxX3NlcnZlcl9m cmVlX3Jhbmdlc2V0cyhzLCBmYWxzZSk7CiAKICAgICByZXR1cm4gcmM7CiB9CiAKIHN0YXRpYyB2 b2lkIGh2bV9pb3JlcV9zZXJ2ZXJfZW5hYmxlKHN0cnVjdCBodm1faW9yZXFfc2VydmVyICpzLAot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbF90IGlzX2RlZmF1bHQpCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGlzX2RlZmF1bHQpCiB7CiAg ICAgc3RydWN0IGRvbWFpbiAqZCA9IHMtPmRvbWFpbjsKICAgICBzdHJ1Y3QgaHZtX2lvcmVxX3Zj cHUgKnN2OwotICAgIGJvb2xfdCBoYW5kbGVfYnVmaW9yZXEgPSAoIHMtPmJ1ZmlvcmVxLnZhICE9 IE5VTEwgKTsKKyAgICBib29sIGhhbmRsZV9idWZpb3JlcSA9ICEhcy0+YnVmaW9yZXEudmE7CiAK ICAgICBzcGluX2xvY2soJnMtPmxvY2spOwogCkBAIC01NjIsNyArNTYyLDcgQEAgc3RhdGljIHZv aWQgaHZtX2lvcmVxX3NlcnZlcl9lbmFibGUoc3RydWN0IGh2bV9pb3JlcV9zZXJ2ZXIgKnMsCiAg ICAgICAgICAgICBodm1fcmVtb3ZlX2lvcmVxX2dmbihkLCAmcy0+YnVmaW9yZXEpOwogICAgIH0K IAotICAgIHMtPmVuYWJsZWQgPSAxOworICAgIHMtPmVuYWJsZWQgPSB0cnVlOwogCiAgICAgbGlz dF9mb3JfZWFjaF9lbnRyeSAoIHN2LAogICAgICAgICAgICAgICAgICAgICAgICAgICAmcy0+aW9y ZXFfdmNwdV9saXN0LApAQCAtNTc0LDEwICs1NzQsMTAgQEAgc3RhdGljIHZvaWQgaHZtX2lvcmVx X3NlcnZlcl9lbmFibGUoc3RydWN0IGh2bV9pb3JlcV9zZXJ2ZXIgKnMsCiB9CiAKIHN0YXRpYyB2 b2lkIGh2bV9pb3JlcV9zZXJ2ZXJfZGlzYWJsZShzdHJ1Y3QgaHZtX2lvcmVxX3NlcnZlciAqcywK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2xfdCBpc19kZWZhdWx0KQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgaXNfZGVmYXVsdCkKIHsK ICAgICBzdHJ1Y3QgZG9tYWluICpkID0gcy0+ZG9tYWluOwotICAgIGJvb2xfdCBoYW5kbGVfYnVm aW9yZXEgPSAoIHMtPmJ1ZmlvcmVxLnZhICE9IE5VTEwgKTsKKyAgICBib29sIGhhbmRsZV9idWZp b3JlcSA9ICEhcy0+YnVmaW9yZXEudmE7CiAKICAgICBzcGluX2xvY2soJnMtPmxvY2spOwogCkBA IC01OTIsNyArNTkyLDcgQEAgc3RhdGljIHZvaWQgaHZtX2lvcmVxX3NlcnZlcl9kaXNhYmxlKHN0 cnVjdCBodm1faW9yZXFfc2VydmVyICpzLAogICAgICAgICBodm1fYWRkX2lvcmVxX2dmbihkLCAm cy0+aW9yZXEpOwogICAgIH0KIAotICAgIHMtPmVuYWJsZWQgPSAwOworICAgIHMtPmVuYWJsZWQg PSBmYWxzZTsKIAogIGRvbmU6CiAgICAgc3Bpbl91bmxvY2soJnMtPmxvY2spOwpAQCAtNjAwLDcg KzYwMCw3IEBAIHN0YXRpYyB2b2lkIGh2bV9pb3JlcV9zZXJ2ZXJfZGlzYWJsZShzdHJ1Y3QgaHZt X2lvcmVxX3NlcnZlciAqcywKIAogc3RhdGljIGludCBodm1faW9yZXFfc2VydmVyX2luaXQoc3Ry dWN0IGh2bV9pb3JlcV9zZXJ2ZXIgKnMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzdHJ1Y3QgZG9tYWluICpkLCBkb21pZF90IGRvbWlkLAotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgYm9vbF90IGlzX2RlZmF1bHQsIGludCBidWZpb3JlcV9oYW5kbGluZywKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgaXNfZGVmYXVsdCwgaW50IGJ1Zmlv cmVxX2hhbmRsaW5nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW9zZXJ2aWRf dCBpZCkKIHsKICAgICBzdHJ1Y3QgdmNwdSAqdjsKQEAgLTYxOSw3ICs2MTksNyBAQCBzdGF0aWMg aW50IGh2bV9pb3JlcV9zZXJ2ZXJfaW5pdChzdHJ1Y3QgaHZtX2lvcmVxX3NlcnZlciAqcywKICAg ICAgICAgcmV0dXJuIHJjOwogCiAgICAgaWYgKCBidWZpb3JlcV9oYW5kbGluZyA9PSBIVk1fSU9S RVFTUlZfQlVGSU9SRVFfQVRPTUlDICkKLSAgICAgICAgcy0+YnVmaW9yZXFfYXRvbWljID0gMTsK KyAgICAgICAgcy0+YnVmaW9yZXFfYXRvbWljID0gdHJ1ZTsKIAogICAgIHJjID0gaHZtX2lvcmVx X3NlcnZlcl9zZXR1cF9wYWdlcygKICAgICAgICAgICAgICBzLCBpc19kZWZhdWx0LCBidWZpb3Jl cV9oYW5kbGluZyAhPSBIVk1fSU9SRVFTUlZfQlVGSU9SRVFfT0ZGKTsKQEAgLTY0Niw3ICs2NDYs NyBAQCBzdGF0aWMgaW50IGh2bV9pb3JlcV9zZXJ2ZXJfaW5pdChzdHJ1Y3QgaHZtX2lvcmVxX3Nl cnZlciAqcywKIH0KIAogc3RhdGljIHZvaWQgaHZtX2lvcmVxX3NlcnZlcl9kZWluaXQoc3RydWN0 IGh2bV9pb3JlcV9zZXJ2ZXIgKnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBib29sX3QgaXNfZGVmYXVsdCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGJvb2wgaXNfZGVmYXVsdCkKIHsKICAgICBBU1NFUlQoIXMtPmVuYWJsZWQpOwogICAgIGh2bV9p b3JlcV9zZXJ2ZXJfcmVtb3ZlX2FsbF92Y3B1cyhzKTsKQEAgLTY4MSw3ICs2ODEsNyBAQCBzdGF0 aWMgaW9zZXJ2aWRfdCBuZXh0X2lvc2VydmlkKHN0cnVjdCBkb21haW4gKmQpCiB9CiAKIGludCBo dm1fY3JlYXRlX2lvcmVxX3NlcnZlcihzdHJ1Y3QgZG9tYWluICpkLCBkb21pZF90IGRvbWlkLAot ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2xfdCBpc19kZWZhdWx0LCBpbnQgYnVmaW9y ZXFfaGFuZGxpbmcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBpc19kZWZhdWx0 LCBpbnQgYnVmaW9yZXFfaGFuZGxpbmcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW9z ZXJ2aWRfdCAqaWQpCiB7CiAgICAgc3RydWN0IGh2bV9pb3JlcV9zZXJ2ZXIgKnM7CkBAIC03MTMs NyArNzEzLDcgQEAgaW50IGh2bV9jcmVhdGVfaW9yZXFfc2VydmVyKHN0cnVjdCBkb21haW4gKmQs IGRvbWlkX3QgZG9taWQsCiAgICAgaWYgKCBpc19kZWZhdWx0ICkKICAgICB7CiAgICAgICAgIGQt PmFyY2guaHZtX2RvbWFpbi5kZWZhdWx0X2lvcmVxX3NlcnZlciA9IHM7Ci0gICAgICAgIGh2bV9p b3JlcV9zZXJ2ZXJfZW5hYmxlKHMsIDEpOworICAgICAgICBodm1faW9yZXFfc2VydmVyX2VuYWJs ZShzLCB0cnVlKTsKICAgICB9CiAKICAgICBpZiAoIGlkICkKQEAgLTc1NiwxMSArNzU2LDExIEBA IGludCBodm1fZGVzdHJveV9pb3JlcV9zZXJ2ZXIoc3RydWN0IGRvbWFpbiAqZCwgaW9zZXJ2aWRf dCBpZCkKIAogICAgICAgICBwMm1fc2V0X2lvcmVxX3NlcnZlcihkLCAwLCBzKTsKIAotICAgICAg ICBodm1faW9yZXFfc2VydmVyX2Rpc2FibGUocywgMCk7CisgICAgICAgIGh2bV9pb3JlcV9zZXJ2 ZXJfZGlzYWJsZShzLCBmYWxzZSk7CiAKICAgICAgICAgbGlzdF9kZWwoJnMtPmxpc3RfZW50cnkp OwogCi0gICAgICAgIGh2bV9pb3JlcV9zZXJ2ZXJfZGVpbml0KHMsIDApOworICAgICAgICBodm1f aW9yZXFfc2VydmVyX2RlaW5pdChzLCBmYWxzZSk7CiAKICAgICAgICAgZG9tYWluX3VucGF1c2Uo ZCk7CiAKQEAgLTk2OCw3ICs5NjgsNyBAQCBpbnQgaHZtX21hcF9tZW1fdHlwZV90b19pb3JlcV9z ZXJ2ZXIoc3RydWN0IGRvbWFpbiAqZCwgaW9zZXJ2aWRfdCBpZCwKIH0KIAogaW50IGh2bV9zZXRf aW9yZXFfc2VydmVyX3N0YXRlKHN0cnVjdCBkb21haW4gKmQsIGlvc2VydmlkX3QgaWQsCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbF90IGVuYWJsZWQpCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgYm9vbCBlbmFibGVkKQogewogICAgIHN0cnVjdCBsaXN0X2hlYWQg KmVudHJ5OwogICAgIGludCByYzsKQEAgLTk5Miw5ICs5OTIsOSBAQCBpbnQgaHZtX3NldF9pb3Jl cV9zZXJ2ZXJfc3RhdGUoc3RydWN0IGRvbWFpbiAqZCwgaW9zZXJ2aWRfdCBpZCwKICAgICAgICAg ZG9tYWluX3BhdXNlKGQpOwogCiAgICAgICAgIGlmICggZW5hYmxlZCApCi0gICAgICAgICAgICBo dm1faW9yZXFfc2VydmVyX2VuYWJsZShzLCAwKTsKKyAgICAgICAgICAgIGh2bV9pb3JlcV9zZXJ2 ZXJfZW5hYmxlKHMsIGZhbHNlKTsKICAgICAgICAgZWxzZQotICAgICAgICAgICAgaHZtX2lvcmVx X3NlcnZlcl9kaXNhYmxlKHMsIDApOworICAgICAgICAgICAgaHZtX2lvcmVxX3NlcnZlcl9kaXNh YmxlKHMsIGZhbHNlKTsKIAogICAgICAgICBkb21haW5fdW5wYXVzZShkKTsKIApAQCAtMTAxNyw3 ICsxMDE3LDcgQEAgaW50IGh2bV9hbGxfaW9yZXFfc2VydmVyc19hZGRfdmNwdShzdHJ1Y3QgZG9t YWluICpkLCBzdHJ1Y3QgdmNwdSAqdikKICAgICAgICAgICAgICAgICAgICAgICAgICAgJmQtPmFy Y2guaHZtX2RvbWFpbi5pb3JlcV9zZXJ2ZXIubGlzdCwKICAgICAgICAgICAgICAgICAgICAgICAg ICAgbGlzdF9lbnRyeSApCiAgICAgewotICAgICAgICBib29sX3QgaXNfZGVmYXVsdCA9IChzID09 IGQtPmFyY2guaHZtX2RvbWFpbi5kZWZhdWx0X2lvcmVxX3NlcnZlcik7CisgICAgICAgIGJvb2wg aXNfZGVmYXVsdCA9IChzID09IGQtPmFyY2guaHZtX2RvbWFpbi5kZWZhdWx0X2lvcmVxX3NlcnZl cik7CiAKICAgICAgICAgcmMgPSBodm1faW9yZXFfc2VydmVyX2FkZF92Y3B1KHMsIGlzX2RlZmF1 bHQsIHYpOwogICAgICAgICBpZiAoIHJjICkKQEAgLTEwNjYsNyArMTA2Niw3IEBAIHZvaWQgaHZt X2Rlc3Ryb3lfYWxsX2lvcmVxX3NlcnZlcnMoc3RydWN0IGRvbWFpbiAqZCkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAmZC0+YXJjaC5odm1fZG9tYWluLmlvcmVxX3NlcnZlci5saXN0 LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3RfZW50cnkgKQogICAgIHsKLSAg ICAgICAgYm9vbF90IGlzX2RlZmF1bHQgPSAocyA9PSBkLT5hcmNoLmh2bV9kb21haW4uZGVmYXVs dF9pb3JlcV9zZXJ2ZXIpOworICAgICAgICBib29sIGlzX2RlZmF1bHQgPSAocyA9PSBkLT5hcmNo Lmh2bV9kb21haW4uZGVmYXVsdF9pb3JlcV9zZXJ2ZXIpOwogCiAgICAgICAgIGh2bV9pb3JlcV9z ZXJ2ZXJfZGlzYWJsZShzLCBpc19kZWZhdWx0KTsKIApAQCAtMTM0OSw3ICsxMzQ5LDcgQEAgc3Rh dGljIGludCBodm1fc2VuZF9idWZmZXJlZF9pb3JlcShzdHJ1Y3QgaHZtX2lvcmVxX3NlcnZlciAq cywgaW9yZXFfdCAqcCkKIH0KIAogaW50IGh2bV9zZW5kX2lvcmVxKHN0cnVjdCBodm1faW9yZXFf c2VydmVyICpzLCBpb3JlcV90ICpwcm90b19wLAotICAgICAgICAgICAgICAgICAgIGJvb2xfdCBi dWZmZXJlZCkKKyAgICAgICAgICAgICAgICAgICBib29sIGJ1ZmZlcmVkKQogewogICAgIHN0cnVj dCB2Y3B1ICpjdXJyID0gY3VycmVudDsKICAgICBzdHJ1Y3QgZG9tYWluICpkID0gY3Vyci0+ZG9t YWluOwpAQCAtMTQwMCw3ICsxNDAwLDcgQEAgaW50IGh2bV9zZW5kX2lvcmVxKHN0cnVjdCBodm1f aW9yZXFfc2VydmVyICpzLCBpb3JlcV90ICpwcm90b19wLAogICAgICAgICAgICAgcC0+c3RhdGUg PSBTVEFURV9JT1JFUV9SRUFEWTsKICAgICAgICAgICAgIG5vdGlmeV92aWFfeGVuX2V2ZW50X2No YW5uZWwoZCwgcG9ydCk7CiAKLSAgICAgICAgICAgIHN2LT5wZW5kaW5nID0gMTsKKyAgICAgICAg ICAgIHN2LT5wZW5kaW5nID0gdHJ1ZTsKICAgICAgICAgICAgIHJldHVybiBYODZFTVVMX1JFVFJZ OwogICAgICAgICB9CiAgICAgfQpAQCAtMTQwOCw3ICsxNDA4LDcgQEAgaW50IGh2bV9zZW5kX2lv cmVxKHN0cnVjdCBodm1faW9yZXFfc2VydmVyICpzLCBpb3JlcV90ICpwcm90b19wLAogICAgIHJl dHVybiBYODZFTVVMX1VOSEFORExFQUJMRTsKIH0KIAotdW5zaWduZWQgaW50IGh2bV9icm9hZGNh c3RfaW9yZXEoaW9yZXFfdCAqcCwgYm9vbF90IGJ1ZmZlcmVkKQordW5zaWduZWQgaW50IGh2bV9i cm9hZGNhc3RfaW9yZXEoaW9yZXFfdCAqcCwgYm9vbCBidWZmZXJlZCkKIHsKICAgICBzdHJ1Y3Qg ZG9tYWluICpkID0gY3VycmVudC0+ZG9tYWluOwogICAgIHN0cnVjdCBodm1faW9yZXFfc2VydmVy ICpzOwpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vZG9tYWluLmggYi94ZW4v aW5jbHVkZS9hc20teDg2L2h2bS9kb21haW4uaAppbmRleCBjZTUzNmY3NWVmLi43ZjEyOGMwNWZm IDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9kb21haW4uaAorKysgYi94ZW4v aW5jbHVkZS9hc20teDg2L2h2bS9kb21haW4uaApAQCAtNDUsNyArNDUsNyBAQCBzdHJ1Y3QgaHZt X2lvcmVxX3ZjcHUgewogICAgIHN0cnVjdCBsaXN0X2hlYWQgbGlzdF9lbnRyeTsKICAgICBzdHJ1 Y3QgdmNwdSAgICAgICp2Y3B1OwogICAgIGV2dGNobl9wb3J0X3QgICAgaW9yZXFfZXZ0Y2huOwot ICAgIGJvb2xfdCAgICAgICAgICAgcGVuZGluZzsKKyAgICBib29sICAgICAgICAgICAgIHBlbmRp bmc7CiB9OwogCiAjZGVmaW5lIE5SX0lPX1JBTkdFX1RZUEVTIChYRU5fRE1PUF9JT19SQU5HRV9Q Q0kgKyAxKQpAQCAtNjksOCArNjksOCBAQCBzdHJ1Y3QgaHZtX2lvcmVxX3NlcnZlciB7CiAgICAg c3BpbmxvY2tfdCAgICAgICAgICAgICBidWZpb3JlcV9sb2NrOwogICAgIGV2dGNobl9wb3J0X3Qg ICAgICAgICAgYnVmaW9yZXFfZXZ0Y2huOwogICAgIHN0cnVjdCByYW5nZXNldCAgICAgICAgKnJh bmdlW05SX0lPX1JBTkdFX1RZUEVTXTsKLSAgICBib29sX3QgICAgICAgICAgICAgICAgIGVuYWJs ZWQ7Ci0gICAgYm9vbF90ICAgICAgICAgICAgICAgICBidWZpb3JlcV9hdG9taWM7CisgICAgYm9v bCAgICAgICAgICAgICAgICAgICBlbmFibGVkOworICAgIGJvb2wgICAgICAgICAgICAgICAgICAg YnVmaW9yZXFfYXRvbWljOwogfTsKIAogLyoKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14 ODYvaHZtL2lvcmVxLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9pb3JlcS5oCmluZGV4IDQz ZmJlMTE1ZGMuLjE4MjlmY2Y0M2UgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZt L2lvcmVxLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vaW9yZXEuaApAQCAtMTksMTIg KzE5LDEyIEBACiAjaWZuZGVmIF9fQVNNX1g4Nl9IVk1fSU9SRVFfSF9fCiAjZGVmaW5lIF9fQVNN X1g4Nl9IVk1fSU9SRVFfSF9fCiAKLWJvb2xfdCBodm1faW9fcGVuZGluZyhzdHJ1Y3QgdmNwdSAq dik7Ci1ib29sX3QgaGFuZGxlX2h2bV9pb19jb21wbGV0aW9uKHN0cnVjdCB2Y3B1ICp2KTsKLWJv b2xfdCBpc19pb3JlcV9zZXJ2ZXJfcGFnZShzdHJ1Y3QgZG9tYWluICpkLCBjb25zdCBzdHJ1Y3Qg cGFnZV9pbmZvICpwYWdlKTsKK2Jvb2wgaHZtX2lvX3BlbmRpbmcoc3RydWN0IHZjcHUgKnYpOwor Ym9vbCBoYW5kbGVfaHZtX2lvX2NvbXBsZXRpb24oc3RydWN0IHZjcHUgKnYpOworYm9vbCBpc19p b3JlcV9zZXJ2ZXJfcGFnZShzdHJ1Y3QgZG9tYWluICpkLCBjb25zdCBzdHJ1Y3QgcGFnZV9pbmZv ICpwYWdlKTsKIAogaW50IGh2bV9jcmVhdGVfaW9yZXFfc2VydmVyKHN0cnVjdCBkb21haW4gKmQs IGRvbWlkX3QgZG9taWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbF90IGlzX2Rl ZmF1bHQsIGludCBidWZpb3JlcV9oYW5kbGluZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICBib29sIGlzX2RlZmF1bHQsIGludCBidWZpb3JlcV9oYW5kbGluZywKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBpb3NlcnZpZF90ICppZCk7CiBpbnQgaHZtX2Rlc3Ryb3lfaW9yZXFfc2Vy dmVyKHN0cnVjdCBkb21haW4gKmQsIGlvc2VydmlkX3QgaWQpOwogaW50IGh2bV9nZXRfaW9yZXFf c2VydmVyX2luZm8oc3RydWN0IGRvbWFpbiAqZCwgaW9zZXJ2aWRfdCBpZCwKQEAgLTQwLDcgKzQw LDcgQEAgaW50IGh2bV91bm1hcF9pb19yYW5nZV9mcm9tX2lvcmVxX3NlcnZlcihzdHJ1Y3QgZG9t YWluICpkLCBpb3NlcnZpZF90IGlkLAogaW50IGh2bV9tYXBfbWVtX3R5cGVfdG9faW9yZXFfc2Vy dmVyKHN0cnVjdCBkb21haW4gKmQsIGlvc2VydmlkX3QgaWQsCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgdWludDMyX3QgdHlwZSwgdWludDMyX3QgZmxhZ3MpOwogaW50IGh2 bV9zZXRfaW9yZXFfc2VydmVyX3N0YXRlKHN0cnVjdCBkb21haW4gKmQsIGlvc2VydmlkX3QgaWQs Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbF90IGVuYWJsZWQpOworICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgZW5hYmxlZCk7CiAKIGludCBodm1fYWxsX2lv cmVxX3NlcnZlcnNfYWRkX3ZjcHUoc3RydWN0IGRvbWFpbiAqZCwgc3RydWN0IHZjcHUgKnYpOwog dm9pZCBodm1fYWxsX2lvcmVxX3NlcnZlcnNfcmVtb3ZlX3ZjcHUoc3RydWN0IGRvbWFpbiAqZCwg c3RydWN0IHZjcHUgKnYpOwpAQCAtNTEsOCArNTEsOCBAQCBpbnQgaHZtX3NldF9kbV9kb21haW4o c3RydWN0IGRvbWFpbiAqZCwgZG9taWRfdCBkb21pZCk7CiBzdHJ1Y3QgaHZtX2lvcmVxX3NlcnZl ciAqaHZtX3NlbGVjdF9pb3JlcV9zZXJ2ZXIoc3RydWN0IGRvbWFpbiAqZCwKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpb3JlcV90ICpwKTsKIGludCBo dm1fc2VuZF9pb3JlcShzdHJ1Y3QgaHZtX2lvcmVxX3NlcnZlciAqcywgaW9yZXFfdCAqcHJvdG9f cCwKLSAgICAgICAgICAgICAgICAgICBib29sX3QgYnVmZmVyZWQpOwotdW5zaWduZWQgaW50IGh2 bV9icm9hZGNhc3RfaW9yZXEoaW9yZXFfdCAqcCwgYm9vbF90IGJ1ZmZlcmVkKTsKKyAgICAgICAg ICAgICAgICAgICBib29sIGJ1ZmZlcmVkKTsKK3Vuc2lnbmVkIGludCBodm1fYnJvYWRjYXN0X2lv cmVxKGlvcmVxX3QgKnAsIGJvb2wgYnVmZmVyZWQpOwogCiB2b2lkIGh2bV9pb3JlcV9pbml0KHN0 cnVjdCBkb21haW4gKmQpOwogCi0tIAoyLjExLjAKCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBs aXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK