From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: [PATCH v3] x86/hvm: remove default ioreq server Date: Tue, 7 Aug 2018 16:42:01 +0100 Message-ID: <20180807154201.13943-1-paul.durrant@citrix.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 1fn47c-0006Fa-ES for xen-devel@lists.xenproject.org; Tue, 07 Aug 2018 15:42:08 +0000 List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Paul Durrant , Jan Beulich List-Id: xen-devel@lists.xenproject.org TXkgcmVjZW50IHBhdGNoIFsxXSB0byBxZW11LXhlbi10cmFkaXRpb25hbCByZW1vdmVzIHRoZSBs YXN0IHVzZSBvZiB0aGUKJ2RlZmF1bHQnIGlvcmVxIHNlcnZlciBpbiBYZW4uIChUaGlzIGlzIGEg Y2F0Y2gtYWxsIGlvcmVxIHNlcnZlciB0aGF0IGlzCnVzZWQgaWYgbm8gZXhwbGljaXRseSByZWdp c3RlcmVkIEkvTyByYW5nZSBpcyB0YXJnZXR0ZWQpLgoKVGhpcyBwYXRjaCBjYW4gYmUgYXBwbGll ZCBvbmNlIHRoYXQgcGF0Y2ggaXMgY29tbWl0dGVkLCB0byByZW1vdmUgdGhlCig+MTAwIGxpbmVz IG9mKSByZWR1bmRhbnQgY29kZSBpbiBYZW4uCgpOT1RFOiBUaGUgcmVtb3ZhbCBvZiB0aGUgc3Bl Y2lhbCBjYXNlIGZvciBIVk1fUEFSQU1fRE1fRE9NQUlOIGluCiAgICAgIGh2bV9hbGxvd19zZXRf cGFyYW0oKSBpcyBub3QgZGlyZWN0bHkgcmVsYXRlZCB0byByZW1vdmFsIG9mCiAgICAgIGRlZmF1 bHQgaW9yZXEgc2VydmVycy4gSXQgY291bGQgaGF2ZSBiZWVuIGNsZWFuZWQgdXAgYXQgYW55IHRp bWUKICAgICAgYWZ0ZXIgY29tbWl0IDlhNDIyYzAzICJ4ODYvaHZtOiBzdG9wIHBhc3NpbmcgZXhw bGljaXQgZG9taWQgdG8KICAgICAgaHZtX2NyZWF0ZV9pb3JlcV9zZXJ2ZXIoKSIuIEl0IGlzIG5v dyBhZGRlZCB0byB0aGUgbmV3CiAgICAgIGRlcHJlY2F0ZWQgc2V0cyBpbnRyb2R1Y2VkIGJ5IHRo aXMgcGF0Y2guCgpbMV0gaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9hcmNoaXZlcy9odG1s L3hlbi1kZXZlbC8yMDE4LTA4L21zZzAwMjcwLmh0bWwKClNpZ25lZC1vZmYtYnk6IFBhdWwgRHVy cmFudCA8cGF1bC5kdXJyYW50QGNpdHJpeC5jb20+CkFja2VkLWJ5OiBBbmRyZXcgQ29vcGVyIDxh bmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgotLS0KQ2M6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBz dXNlLmNvbT4KCnYzOgogLSBBZGQgSFZNX1BBUkFNX0RNX0RPTUFJTiB0byBkZXByZWNhdGVkIHNl dHMgYW5kICNpZmRlZiBpbiBwYXJhbXMuaC4KCnYyOgogLSBEaXNhbGxvdyByZWFkcyBvciB3cml0 ZXMgb2YgSFZNX1BBUkFNX0JVRklPUkVRX0VWVENITiBhbmQgbWFyayBpdCBhcwogICBkZXByZWNh dGVkIGluIHRoZSBoZWFkZXIuCiAtIFVwZGF0ZWQgY29tbWl0IGNvbW1lbnQgdy5yLnQuIEhWTV9Q QVJBTV9ETV9ET01BSU4gY2hhbmdlLgotLS0KIHhlbi9hcmNoL3g4Ni9odm0vZG0uYyAgICAgICAg ICAgIHwgICAyICstCiB4ZW4vYXJjaC94ODYvaHZtL2h2bS5jICAgICAgICAgICB8ICAzOCArKyst LS0tLS0tLS0KIHhlbi9hcmNoL3g4Ni9odm0vaW9yZXEuYyAgICAgICAgIHwgMTIzICsrKysrLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogeGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0v ZG9tYWluLmggfCAgIDEgLQogeGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vaW9yZXEuaCAgfCAgIDQg Ky0KIHhlbi9pbmNsdWRlL3B1YmxpYy9odm0vcGFyYW1zLmggIHwgICA5ICstLQogNiBmaWxlcyBj aGFuZ2VkLCAzMyBpbnNlcnRpb25zKCspLCAxNDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv eGVuL2FyY2gveDg2L2h2bS9kbS5jIGIveGVuL2FyY2gveDg2L2h2bS9kbS5jCmluZGV4IDY3NTVm M2ZkOTYuLjZhY2UzZGM3YzEgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vZG0uYworKysg Yi94ZW4vYXJjaC94ODYvaHZtL2RtLmMKQEAgLTQxMSw3ICs0MTEsNyBAQCBzdGF0aWMgaW50IGRt X29wKGNvbnN0IHN0cnVjdCBkbW9wX2FyZ3MgKm9wX2FyZ3MpCiAgICAgICAgIGlmICggZGF0YS0+ cGFkWzBdIHx8IGRhdGEtPnBhZFsxXSB8fCBkYXRhLT5wYWRbMl0gKQogICAgICAgICAgICAgYnJl YWs7CiAKLSAgICAgICAgcmMgPSBodm1fY3JlYXRlX2lvcmVxX3NlcnZlcihkLCBmYWxzZSwgZGF0 YS0+aGFuZGxlX2J1ZmlvcmVxLAorICAgICAgICByYyA9IGh2bV9jcmVhdGVfaW9yZXFfc2VydmVy KGQsIGRhdGEtPmhhbmRsZV9idWZpb3JlcSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAmZGF0YS0+aWQpOwogICAgICAgICBicmVhazsKICAgICB9CmRpZmYgLS1naXQgYS94 ZW4vYXJjaC94ODYvaHZtL2h2bS5jIGIveGVuL2FyY2gveDg2L2h2bS9odm0uYwppbmRleCA3MmM1 MWZhZWNiLi5jYmZkNmZjYTg4IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvaHZtL2h2bS5jCisr KyBiL3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMKQEAgLTQwOTMsMTIgKzQwOTMsMTYgQEAgc3RhdGlj IGludCBodm1fYWxsb3dfc2V0X3BhcmFtKHN0cnVjdCBkb21haW4gKmQsCiAgICAgY2FzZSBIVk1f UEFSQU1fQ09OU09MRV9FVlRDSE46CiAgICAgY2FzZSBIVk1fUEFSQU1fWDg3X0ZJUF9XSURUSDoK ICAgICAgICAgYnJlYWs7CisgICAgLyogVGhlIGZvbGxvd2luZyBwYXJhbWV0ZXJzIGFyZSBkZXBy ZWNhdGVkLiAqLworICAgIGNhc2UgSFZNX1BBUkFNX0RNX0RPTUFJTjoKKyAgICBjYXNlIEhWTV9Q QVJBTV9CVUZJT1JFUV9FVlRDSE46CisgICAgICAgIHJjID0gLUVQRVJNOworICAgICAgICBicmVh azsKICAgICAvKgogICAgICAqIFRoZSBmb2xsb3dpbmcgcGFyYW1ldGVycyBtdXN0IG5vdCBiZSBz ZXQgYnkgdGhlIGd1ZXN0CiAgICAgICogc2luY2UgdGhlIGRvbWFpbiBtYXkgbmVlZCB0byBiZSBw YXVzZWQuCiAgICAgICovCiAgICAgY2FzZSBIVk1fUEFSQU1fSURFTlRfUFQ6Ci0gICAgY2FzZSBI Vk1fUEFSQU1fRE1fRE9NQUlOOgogICAgIGNhc2UgSFZNX1BBUkFNX0FDUElfU19TVEFURToKICAg ICAvKiBUaGUgcmVtYWluaW5nIHBhcmFtZXRlcnMgc2hvdWxkIG5vdCBiZSBzZXQgYnkgdGhlIGd1 ZXN0LiAqLwogICAgIGRlZmF1bHQ6CkBAIC00MjYzLDkgKzQyNjcsNiBAQCBzdGF0aWMgaW50IGh2 bW9wX3NldF9wYXJhbSgKICAgICAgICAgICAgICBkLT5hcmNoLmh2bV9kb21haW4ucGFyYW1zW0hW TV9QQVJBTV9ORVNURURIVk1dICkKICAgICAgICAgICAgIHJjID0gLUVJTlZBTDsKICAgICAgICAg YnJlYWs7Ci0gICAgY2FzZSBIVk1fUEFSQU1fQlVGSU9SRVFfRVZUQ0hOOgotICAgICAgICByYyA9 IC1FSU5WQUw7Ci0gICAgICAgIGJyZWFrOwogICAgIGNhc2UgSFZNX1BBUkFNX1RSSVBMRV9GQVVM VF9SRUFTT046CiAgICAgICAgIGlmICggYS52YWx1ZSA+IFNIVVRET1dOX01BWCApCiAgICAgICAg ICAgICByYyA9IC1FSU5WQUw7CkBAIC00MzczLDEzICs0Mzc0LDExIEBAIHN0YXRpYyBpbnQgaHZt X2FsbG93X2dldF9wYXJhbShzdHJ1Y3QgZG9tYWluICpkLAogICAgIGNhc2UgSFZNX1BBUkFNX0FM VFAyTToKICAgICBjYXNlIEhWTV9QQVJBTV9YODdfRklQX1dJRFRIOgogICAgICAgICBicmVhazsK LSAgICAvKgotICAgICAqIFRoZSBmb2xsb3dpbmcgcGFyYW1ldGVycyBtdXN0IG5vdCBiZSByZWFk IGJ5IHRoZSBndWVzdAotICAgICAqIHNpbmNlIHRoZSBkb21haW4gbWF5IG5lZWQgdG8gYmUgcGF1 c2VkLgotICAgICAqLwotICAgIGNhc2UgSFZNX1BBUkFNX0lPUkVRX1BGTjoKLSAgICBjYXNlIEhW TV9QQVJBTV9CVUZJT1JFUV9QRk46CisgICAgLyogVGhlIGZvbGxvd2luZyBwYXJhbWV0ZXJzIGFy ZSBkZXByZWNhdGVkLiAqLworICAgIGNhc2UgSFZNX1BBUkFNX0RNX0RPTUFJTjoKICAgICBjYXNl IEhWTV9QQVJBTV9CVUZJT1JFUV9FVlRDSE46CisgICAgICAgIHJjID0gLUVOT0RBVEE7CisgICAg ICAgIGJyZWFrOwogICAgIC8qIFRoZSByZW1haW5pbmcgcGFyYW1ldGVycyBzaG91bGQgbm90IGJl IHJlYWQgYnkgdGhlIGd1ZXN0LiAqLwogICAgIGRlZmF1bHQ6CiAgICAgICAgIGlmICggZCA9PSBj dXJyZW50LT5kb21haW4gKQpAQCAtNDQzMywyNSArNDQzMiw2IEBAIHN0YXRpYyBpbnQgaHZtb3Bf Z2V0X3BhcmFtKAogICAgIGNhc2UgSFZNX1BBUkFNX1g4N19GSVBfV0lEVEg6CiAgICAgICAgIGEu dmFsdWUgPSBkLT5hcmNoLng4N19maXBfd2lkdGg7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2Ug SFZNX1BBUkFNX0lPUkVRX1BGTjoKLSAgICBjYXNlIEhWTV9QQVJBTV9CVUZJT1JFUV9QRk46Ci0g ICAgY2FzZSBIVk1fUEFSQU1fQlVGSU9SRVFfRVZUQ0hOOgotICAgICAgICAvKgotICAgICAgICAg KiBJdCBtYXkgYmUgbmVjZXNzYXJ5IHRvIGNyZWF0ZSBhIGRlZmF1bHQgaW9yZXEgc2VydmVyIGhl cmUsCi0gICAgICAgICAqIGJlY2F1c2UgbGVnYWN5IHZlcnNpb25zIG9mIFFFTVUgYXJlIG5vdCBh d2FyZSBvZiB0aGUgbmV3IEFQSSBmb3IKLSAgICAgICAgICogZXhwbGljaXQgaW9yZXEgc2VydmVy IGNyZWF0aW9uLiBIb3dldmVyLCBpZiB0aGUgZG9tYWluIGlzIG5vdAotICAgICAgICAgKiB1bmRl ciBjb25zdHJ1Y3Rpb24gdGhlbiBpdCB3aWxsIG5vdCBiZSBRRU1VIHF1ZXJ5aW5nIHRoZQotICAg ICAgICAgKiBwYXJhbWV0ZXJzIGFuZCB0aHVzIHRoZSBxdWVyeSBzaG91bGQgbm90IGhhdmUgdGhh dCBzaWRlLWVmZmVjdC4KLSAgICAgICAgICovCi0gICAgICAgIGlmICggIWQtPmNyZWF0aW9uX2Zp bmlzaGVkICkKLSAgICAgICAgewotICAgICAgICAgICAgcmMgPSBodm1fY3JlYXRlX2lvcmVxX3Nl cnZlcihkLCB0cnVlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBI Vk1fSU9SRVFTUlZfQlVGSU9SRVFfTEVHQUNZLCBOVUxMKTsKLSAgICAgICAgICAgIGlmICggcmMg IT0gMCAmJiByYyAhPSAtRUVYSVNUICkKLSAgICAgICAgICAgICAgICBnb3RvIG91dDsKLSAgICAg ICAgfQotCi0gICAgLypGQUxMVEhSVSovCiAgICAgZGVmYXVsdDoKICAgICAgICAgYS52YWx1ZSA9 IGQtPmFyY2guaHZtX2RvbWFpbi5wYXJhbXNbYS5pbmRleF07CiAgICAgICAgIGJyZWFrOwpkaWZm IC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2bS9pb3JlcS5jIGIveGVuL2FyY2gveDg2L2h2bS9pb3Jl cS5jCmluZGV4IDdjNTE1YjNlZjcuLjljYjM4MTljNmIgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4 Ni9odm0vaW9yZXEuYworKysgYi94ZW4vYXJjaC94ODYvaHZtL2lvcmVxLmMKQEAgLTU1LDkgKzU1 LDYgQEAgc3RhdGljIHN0cnVjdCBodm1faW9yZXFfc2VydmVyICpnZXRfaW9yZXFfc2VydmVyKGNv bnN0IHN0cnVjdCBkb21haW4gKmQsCiAgICAgcmV0dXJuIEdFVF9JT1JFUV9TRVJWRVIoZCwgaWQp OwogfQogCi0jZGVmaW5lIElTX0RFRkFVTFQocykgXAotICAgICgocykgJiYgKHMpID09IEdFVF9J T1JFUV9TRVJWRVIoKHMpLT50YXJnZXQsIERFRkFVTFRfSU9TRVJWSUQpKQotCiAvKgogICogSXRl cmF0ZSBvdmVyIGFsbCBwb3NzaWJsZSBpb3JlcSBzZXJ2ZXJzLgogICoKQEAgLTI0NSw4ICsyNDIs NiBAQCBzdGF0aWMgZ2ZuX3QgaHZtX2FsbG9jX2lvcmVxX2dmbihzdHJ1Y3QgaHZtX2lvcmVxX3Nl cnZlciAqcykKICAgICBzdHJ1Y3QgZG9tYWluICpkID0gcy0+dGFyZ2V0OwogICAgIHVuc2lnbmVk IGludCBpOwogCi0gICAgQVNTRVJUKCFJU19ERUZBVUxUKHMpKTsKLQogICAgIGZvciAoIGkgPSAw OyBpIDwgc2l6ZW9mKGQtPmFyY2guaHZtX2RvbWFpbi5pb3JlcV9nZm4ubWFzaykgKiA4OyBpKysg KQogICAgIHsKICAgICAgICAgaWYgKCB0ZXN0X2FuZF9jbGVhcl9iaXQoaSwgJmQtPmFyY2guaHZt X2RvbWFpbi5pb3JlcV9nZm4ubWFzaykgKQpAQCAtMjYxLDcgKzI1Niw2IEBAIHN0YXRpYyB2b2lk IGh2bV9mcmVlX2lvcmVxX2dmbihzdHJ1Y3QgaHZtX2lvcmVxX3NlcnZlciAqcywgZ2ZuX3QgZ2Zu KQogICAgIHN0cnVjdCBkb21haW4gKmQgPSBzLT50YXJnZXQ7CiAgICAgdW5zaWduZWQgaW50IGkg PSBnZm5feChnZm4pIC0gZC0+YXJjaC5odm1fZG9tYWluLmlvcmVxX2dmbi5iYXNlOwogCi0gICAg QVNTRVJUKCFJU19ERUZBVUxUKHMpKTsKICAgICBBU1NFUlQoIWdmbl9lcShnZm4sIElOVkFMSURf R0ZOKSk7CiAKICAgICBzZXRfYml0KGksICZkLT5hcmNoLmh2bV9kb21haW4uaW9yZXFfZ2ZuLm1h c2spOwpAQCAtMjc3LDkgKzI3MSw3IEBAIHN0YXRpYyB2b2lkIGh2bV91bm1hcF9pb3JlcV9nZm4o c3RydWN0IGh2bV9pb3JlcV9zZXJ2ZXIgKnMsIGJvb2wgYnVmKQogICAgIGRlc3Ryb3lfcmluZ19m b3JfaGVscGVyKCZpb3JwLT52YSwgaW9ycC0+cGFnZSk7CiAgICAgaW9ycC0+cGFnZSA9IE5VTEw7 CiAKLSAgICBpZiAoICFJU19ERUZBVUxUKHMpICkKLSAgICAgICAgaHZtX2ZyZWVfaW9yZXFfZ2Zu KHMsIGlvcnAtPmdmbik7Ci0KKyAgICBodm1fZnJlZV9pb3JlcV9nZm4ocywgaW9ycC0+Z2ZuKTsK ICAgICBpb3JwLT5nZm4gPSBJTlZBTElEX0dGTjsKIH0KIApAQCAtMzA1LDEzICsyOTcsNyBAQCBz dGF0aWMgaW50IGh2bV9tYXBfaW9yZXFfZ2ZuKHN0cnVjdCBodm1faW9yZXFfc2VydmVyICpzLCBi b29sIGJ1ZikKICAgICBpZiAoIGQtPmlzX2R5aW5nICkKICAgICAgICAgcmV0dXJuIC1FSU5WQUw7 CiAKLSAgICBpZiAoIElTX0RFRkFVTFQocykgKQotICAgICAgICBpb3JwLT5nZm4gPSBfZ2ZuKGJ1 ZiA/Ci0gICAgICAgICAgICAgICAgICAgICAgICAgZC0+YXJjaC5odm1fZG9tYWluLnBhcmFtc1tI Vk1fUEFSQU1fQlVGSU9SRVFfUEZOXSA6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgZC0+YXJj aC5odm1fZG9tYWluLnBhcmFtc1tIVk1fUEFSQU1fSU9SRVFfUEZOXSk7Ci0gICAgZWxzZQotICAg ICAgICBpb3JwLT5nZm4gPSBodm1fYWxsb2NfaW9yZXFfZ2ZuKHMpOwotCisgICAgaW9ycC0+Z2Zu ID0gaHZtX2FsbG9jX2lvcmVxX2dmbihzKTsKICAgICBpZiAoIGdmbl9lcShpb3JwLT5nZm4sIElO VkFMSURfR0ZOKSApCiAgICAgICAgIHJldHVybiAtRU5PTUVNOwogCkBAIC00MTYsNyArNDAyLDcg QEAgc3RhdGljIHZvaWQgaHZtX3JlbW92ZV9pb3JlcV9nZm4oc3RydWN0IGh2bV9pb3JlcV9zZXJ2 ZXIgKnMsIGJvb2wgYnVmKQogICAgIHN0cnVjdCBkb21haW4gKmQgPSBzLT50YXJnZXQ7CiAgICAg c3RydWN0IGh2bV9pb3JlcV9wYWdlICppb3JwID0gYnVmID8gJnMtPmJ1ZmlvcmVxIDogJnMtPmlv cmVxOwogCi0gICAgaWYgKCBJU19ERUZBVUxUKHMpIHx8IGdmbl9lcShpb3JwLT5nZm4sIElOVkFM SURfR0ZOKSApCisgICAgaWYgKCBnZm5fZXEoaW9ycC0+Z2ZuLCBJTlZBTElEX0dGTikgKQogICAg ICAgICByZXR1cm47CiAKICAgICBpZiAoIGd1ZXN0X3BoeXNtYXBfcmVtb3ZlX3BhZ2UoZCwgaW9y cC0+Z2ZuLApAQCAtNDMxLDcgKzQxNyw3IEBAIHN0YXRpYyBpbnQgaHZtX2FkZF9pb3JlcV9nZm4o c3RydWN0IGh2bV9pb3JlcV9zZXJ2ZXIgKnMsIGJvb2wgYnVmKQogICAgIHN0cnVjdCBodm1faW9y ZXFfcGFnZSAqaW9ycCA9IGJ1ZiA/ICZzLT5idWZpb3JlcSA6ICZzLT5pb3JlcTsKICAgICBpbnQg cmM7CiAKLSAgICBpZiAoIElTX0RFRkFVTFQocykgfHwgZ2ZuX2VxKGlvcnAtPmdmbiwgSU5WQUxJ RF9HRk4pICkKKyAgICBpZiAoIGdmbl9lcShpb3JwLT5nZm4sIElOVkFMSURfR0ZOKSApCiAgICAg ICAgIHJldHVybiAwOwogCiAgICAgY2xlYXJfcGFnZShpb3JwLT52YSk7CkBAIC00ODMsMTcgKzQ2 OSwxMiBAQCBzdGF0aWMgaW50IGh2bV9pb3JlcV9zZXJ2ZXJfYWRkX3ZjcHUoc3RydWN0IGh2bV9p b3JlcV9zZXJ2ZXIgKnMsCiAKICAgICBpZiAoIHYtPnZjcHVfaWQgPT0gMCAmJiBIQU5ETEVfQlVG SU9SRVEocykgKQogICAgIHsKLSAgICAgICAgc3RydWN0IGRvbWFpbiAqZCA9IHMtPnRhcmdldDsK LQogICAgICAgICByYyA9IGFsbG9jX3VuYm91bmRfeGVuX2V2ZW50X2NoYW5uZWwodi0+ZG9tYWlu LCAwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcy0+ZW11 bGF0b3ItPmRvbWFpbl9pZCwgTlVMTCk7CiAgICAgICAgIGlmICggcmMgPCAwICkKICAgICAgICAg ICAgIGdvdG8gZmFpbDM7CiAKICAgICAgICAgcy0+YnVmaW9yZXFfZXZ0Y2huID0gcmM7Ci0gICAg ICAgIGlmICggSVNfREVGQVVMVChzKSApCi0gICAgICAgICAgICBkLT5hcmNoLmh2bV9kb21haW4u cGFyYW1zW0hWTV9QQVJBTV9CVUZJT1JFUV9FVlRDSE5dID0KLSAgICAgICAgICAgICAgICBzLT5i dWZpb3JlcV9ldnRjaG47CiAgICAgfQogCiAgICAgc3YtPnZjcHUgPSB2OwpAQCAtNjE3LDkgKzU5 OCw2IEBAIHN0YXRpYyB2b2lkIGh2bV9pb3JlcV9zZXJ2ZXJfZnJlZV9yYW5nZXNldHMoc3RydWN0 IGh2bV9pb3JlcV9zZXJ2ZXIgKnMpCiB7CiAgICAgdW5zaWduZWQgaW50IGk7CiAKLSAgICBpZiAo IElTX0RFRkFVTFQocykgKQotICAgICAgICByZXR1cm47Ci0KICAgICBmb3IgKCBpID0gMDsgaSA8 IE5SX0lPX1JBTkdFX1RZUEVTOyBpKysgKQogICAgICAgICByYW5nZXNldF9kZXN0cm95KHMtPnJh bmdlW2ldKTsKIH0KQEAgLTYzMCwxMSArNjA4LDYgQEAgc3RhdGljIGludCBodm1faW9yZXFfc2Vy dmVyX2FsbG9jX3Jhbmdlc2V0cyhzdHJ1Y3QgaHZtX2lvcmVxX3NlcnZlciAqcywKICAgICB1bnNp Z25lZCBpbnQgaTsKICAgICBpbnQgcmM7CiAKLSAgICBpZiAoIGlkID09IERFRkFVTFRfSU9TRVJW SUQgKQotICAgICAgICBnb3RvIGRvbmU7Ci0KLSAgICBBU1NFUlQoIUlTX0RFRkFVTFQocykpOwot CiAgICAgZm9yICggaSA9IDA7IGkgPCBOUl9JT19SQU5HRV9UWVBFUzsgaSsrICkKICAgICB7CiAg ICAgICAgIGNoYXIgKm5hbWU7CkBAIC02NTksNyArNjMyLDYgQEAgc3RhdGljIGludCBodm1faW9y ZXFfc2VydmVyX2FsbG9jX3Jhbmdlc2V0cyhzdHJ1Y3QgaHZtX2lvcmVxX3NlcnZlciAqcywKICAg ICAgICAgcmFuZ2VzZXRfbGltaXQocy0+cmFuZ2VbaV0sIE1BWF9OUl9JT19SQU5HRVMpOwogICAg IH0KIAotIGRvbmU6CiAgICAgcmV0dXJuIDA7CiAKICBmYWlsOgpAQCAtNzMzLDEzICs3MDUsNiBA QCBzdGF0aWMgaW50IGh2bV9pb3JlcV9zZXJ2ZXJfaW5pdChzdHJ1Y3QgaHZtX2lvcmVxX3NlcnZl ciAqcywKIAogICAgIHMtPmJ1ZmlvcmVxX2hhbmRsaW5nID0gYnVmaW9yZXFfaGFuZGxpbmc7CiAK LSAgICBpZiAoIGlkID09IERFRkFVTFRfSU9TRVJWSUQgKQotICAgIHsKLSAgICAgICAgcmMgPSBo dm1faW9yZXFfc2VydmVyX21hcF9wYWdlcyhzKTsKLSAgICAgICAgaWYgKCByYyApCi0gICAgICAg ICAgICBnb3RvIGZhaWxfbWFwOwotICAgIH0KLQogICAgIGZvcl9lYWNoX3ZjcHUgKCBkLCB2ICkK ICAgICB7CiAgICAgICAgIHJjID0gaHZtX2lvcmVxX3NlcnZlcl9hZGRfdmNwdShzLCB2KTsKQEAg LTc1Myw3ICs3MTgsNiBAQCBzdGF0aWMgaW50IGh2bV9pb3JlcV9zZXJ2ZXJfaW5pdChzdHJ1Y3Qg aHZtX2lvcmVxX3NlcnZlciAqcywKICAgICBodm1faW9yZXFfc2VydmVyX3JlbW92ZV9hbGxfdmNw dXMocyk7CiAgICAgaHZtX2lvcmVxX3NlcnZlcl91bm1hcF9wYWdlcyhzKTsKIAotIGZhaWxfbWFw OgogICAgIGh2bV9pb3JlcV9zZXJ2ZXJfZnJlZV9yYW5nZXNldHMocyk7CiAKICAgICBwdXRfZG9t YWluKHMtPmVtdWxhdG9yKTsKQEAgLTc4Miw4ICs3NDYsOCBAQCBzdGF0aWMgdm9pZCBodm1faW9y ZXFfc2VydmVyX2RlaW5pdChzdHJ1Y3QgaHZtX2lvcmVxX3NlcnZlciAqcykKICAgICBwdXRfZG9t YWluKHMtPmVtdWxhdG9yKTsKIH0KIAotaW50IGh2bV9jcmVhdGVfaW9yZXFfc2VydmVyKHN0cnVj dCBkb21haW4gKmQsIGJvb2wgaXNfZGVmYXVsdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICBpbnQgYnVmaW9yZXFfaGFuZGxpbmcsIGlvc2VydmlkX3QgKmlkKQoraW50IGh2bV9jcmVhdGVf aW9yZXFfc2VydmVyKHN0cnVjdCBkb21haW4gKmQsIGludCBidWZpb3JlcV9oYW5kbGluZywKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICBpb3NlcnZpZF90ICppZCkKIHsKICAgICBzdHJ1Y3Qg aHZtX2lvcmVxX3NlcnZlciAqczsKICAgICB1bnNpZ25lZCBpbnQgaTsKQEAgLTc5OSwzMiArNzYz LDE5IEBAIGludCBodm1fY3JlYXRlX2lvcmVxX3NlcnZlcihzdHJ1Y3QgZG9tYWluICpkLCBib29s IGlzX2RlZmF1bHQsCiAgICAgZG9tYWluX3BhdXNlKGQpOwogICAgIHNwaW5fbG9ja19yZWN1cnNp dmUoJmQtPmFyY2guaHZtX2RvbWFpbi5pb3JlcV9zZXJ2ZXIubG9jayk7CiAKLSAgICBpZiAoIGlz X2RlZmF1bHQgKQorICAgIGZvciAoIGkgPSAwOyBpIDwgTUFYX05SX0lPUkVRX1NFUlZFUlM7IGkr KyApCiAgICAgewotICAgICAgICBpID0gREVGQVVMVF9JT1NFUlZJRDsKLQotICAgICAgICByYyA9 IC1FRVhJU1Q7Ci0gICAgICAgIGlmICggR0VUX0lPUkVRX1NFUlZFUihkLCBpKSApCi0gICAgICAg ICAgICBnb3RvIGZhaWw7CisgICAgICAgIGlmICggIUdFVF9JT1JFUV9TRVJWRVIoZCwgaSkgKQor ICAgICAgICAgICAgYnJlYWs7CiAgICAgfQotICAgIGVsc2UKLSAgICB7Ci0gICAgICAgIGZvciAo IGkgPSAwOyBpIDwgTUFYX05SX0lPUkVRX1NFUlZFUlM7IGkrKyApCi0gICAgICAgIHsKLSAgICAg ICAgICAgIGlmICggaSAhPSBERUZBVUxUX0lPU0VSVklEICYmICFHRVRfSU9SRVFfU0VSVkVSKGQs IGkpICkKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQogCi0gICAgICAgIHJjID0g LUVOT1NQQzsKLSAgICAgICAgaWYgKCBpID49IE1BWF9OUl9JT1JFUV9TRVJWRVJTICkKLSAgICAg ICAgICAgIGdvdG8gZmFpbDsKLSAgICB9CisgICAgcmMgPSAtRU5PU1BDOworICAgIGlmICggaSA+ PSBNQVhfTlJfSU9SRVFfU0VSVkVSUyApCisgICAgICAgIGdvdG8gZmFpbDsKIAogICAgIC8qCiAg ICAgICogSXQgaXMgc2FmZSB0byBjYWxsIHNldF9pb3JlcV9zZXJ2ZXIoKSBwcmlvciB0bwogICAg ICAqIGh2bV9pb3JlcV9zZXJ2ZXJfaW5pdCgpIHNpbmNlIHRoZSB0YXJnZXQgZG9tYWluIGlzIHBh dXNlZC4KLSAgICAgKiBJdCBpcyBuZWNlc3NhcnkgZm9yIHRoZSBjYWxscyB0byBiZSBvcmRlcmVk IHRodXMgb3RoZXJ3aXNlCi0gICAgICogdGhlIElTX0RFRkFVTFQoKSBtYWNybyB3b3VsZCBub3Qg ZXZhbHVhdGUgY29ycmVjdGx5LgogICAgICAqLwogICAgIHNldF9pb3JlcV9zZXJ2ZXIoZCwgaSwg cyk7CiAKQEAgLTgzNSw5ICs3ODYsNiBAQCBpbnQgaHZtX2NyZWF0ZV9pb3JlcV9zZXJ2ZXIoc3Ry dWN0IGRvbWFpbiAqZCwgYm9vbCBpc19kZWZhdWx0LAogICAgICAgICBnb3RvIGZhaWw7CiAgICAg fQogCi0gICAgaWYgKCBpID09IERFRkFVTFRfSU9TRVJWSUQgKQotICAgICAgICBodm1faW9yZXFf c2VydmVyX2VuYWJsZShzKTsKLQogICAgIGlmICggaWQgKQogICAgICAgICAqaWQgPSBpOwogCkBA IC04NTksOSArODA3LDYgQEAgaW50IGh2bV9kZXN0cm95X2lvcmVxX3NlcnZlcihzdHJ1Y3QgZG9t YWluICpkLCBpb3NlcnZpZF90IGlkKQogICAgIHN0cnVjdCBodm1faW9yZXFfc2VydmVyICpzOwog ICAgIGludCByYzsKIAotICAgIGlmICggaWQgPT0gREVGQVVMVF9JT1NFUlZJRCApCi0gICAgICAg IHJldHVybiAtRVBFUk07Ci0KICAgICBzcGluX2xvY2tfcmVjdXJzaXZlKCZkLT5hcmNoLmh2bV9k b21haW4uaW9yZXFfc2VydmVyLmxvY2spOwogCiAgICAgcyA9IGdldF9pb3JlcV9zZXJ2ZXIoZCwg aWQpOwpAQCAtODcwLDggKzgxNSw2IEBAIGludCBodm1fZGVzdHJveV9pb3JlcV9zZXJ2ZXIoc3Ry dWN0IGRvbWFpbiAqZCwgaW9zZXJ2aWRfdCBpZCkKICAgICBpZiAoICFzICkKICAgICAgICAgZ290 byBvdXQ7CiAKLSAgICBBU1NFUlQoIUlTX0RFRkFVTFQocykpOwotCiAgICAgcmMgPSAtRVBFUk07 CiAgICAgaWYgKCBzLT5lbXVsYXRvciAhPSBjdXJyZW50LT5kb21haW4gKQogICAgICAgICBnb3Rv IG91dDsKQEAgLTg4NCw5ICs4MjcsNyBAQCBpbnQgaHZtX2Rlc3Ryb3lfaW9yZXFfc2VydmVyKHN0 cnVjdCBkb21haW4gKmQsIGlvc2VydmlkX3QgaWQpCiAKICAgICAvKgogICAgICAqIEl0IGlzIHNh ZmUgdG8gY2FsbCBodm1faW9yZXFfc2VydmVyX2RlaW5pdCgpIHByaW9yIHRvCi0gICAgICogc2V0 X2lvcmVxX3NlcnZlcigpIHNpbmNlIHRoZSB0YXJnZXQgZG9tYWluIGlzIHBhdXNlZC4gSXQgaXMK LSAgICAgKiBuZWNlc3NhcnkgZm9yIHRoZSBjYWxscyB0byBiZSBvcmRlcmVkIHRodXMgb3RoZXJ3 aXNlIHRoZQotICAgICAqIElTX0RFRkFVTFQoKSBtYWNybyB3b3VsZCBub3QgZXZhbHVhdGUgY29y cmVjdGx5LgorICAgICAqIHNldF9pb3JlcV9zZXJ2ZXIoKSBzaW5jZSB0aGUgdGFyZ2V0IGRvbWFp biBpcyBwYXVzZWQuCiAgICAgICovCiAgICAgaHZtX2lvcmVxX3NlcnZlcl9kZWluaXQocyk7CiAg ICAgc2V0X2lvcmVxX3NlcnZlcihkLCBpZCwgTlVMTCk7CkBAIC05MTEsOSArODUyLDYgQEAgaW50 IGh2bV9nZXRfaW9yZXFfc2VydmVyX2luZm8oc3RydWN0IGRvbWFpbiAqZCwgaW9zZXJ2aWRfdCBp ZCwKICAgICBzdHJ1Y3QgaHZtX2lvcmVxX3NlcnZlciAqczsKICAgICBpbnQgcmM7CiAKLSAgICBp ZiAoIGlkID09IERFRkFVTFRfSU9TRVJWSUQgKQotICAgICAgICByZXR1cm4gLUVPUE5PVFNVUFA7 Ci0KICAgICBzcGluX2xvY2tfcmVjdXJzaXZlKCZkLT5hcmNoLmh2bV9kb21haW4uaW9yZXFfc2Vy dmVyLmxvY2spOwogCiAgICAgcyA9IGdldF9pb3JlcV9zZXJ2ZXIoZCwgaWQpOwpAQCAtOTIyLDgg Kzg2MCw2IEBAIGludCBodm1fZ2V0X2lvcmVxX3NlcnZlcl9pbmZvKHN0cnVjdCBkb21haW4gKmQs IGlvc2VydmlkX3QgaWQsCiAgICAgaWYgKCAhcyApCiAgICAgICAgIGdvdG8gb3V0OwogCi0gICAg QVNTRVJUKCFJU19ERUZBVUxUKHMpKTsKLQogICAgIHJjID0gLUVQRVJNOwogICAgIGlmICggcy0+ ZW11bGF0b3IgIT0gY3VycmVudC0+ZG9tYWluICkKICAgICAgICAgZ290byBvdXQ7CkBAIC05NjEs OSArODk3LDYgQEAgaW50IGh2bV9nZXRfaW9yZXFfc2VydmVyX2ZyYW1lKHN0cnVjdCBkb21haW4g KmQsIGlvc2VydmlkX3QgaWQsCiAgICAgc3RydWN0IGh2bV9pb3JlcV9zZXJ2ZXIgKnM7CiAgICAg aW50IHJjOwogCi0gICAgaWYgKCBpZCA9PSBERUZBVUxUX0lPU0VSVklEICkKLSAgICAgICAgcmV0 dXJuIC1FT1BOT1RTVVBQOwotCiAgICAgaWYgKCAhaXNfaHZtX2RvbWFpbihkKSApCiAgICAgICAg IHJldHVybiAtRUlOVkFMOwogCkBAIC05NzUsOCArOTA4LDYgQEAgaW50IGh2bV9nZXRfaW9yZXFf c2VydmVyX2ZyYW1lKHN0cnVjdCBkb21haW4gKmQsIGlvc2VydmlkX3QgaWQsCiAgICAgaWYgKCAh cyApCiAgICAgICAgIGdvdG8gb3V0OwogCi0gICAgQVNTRVJUKCFJU19ERUZBVUxUKHMpKTsKLQog ICAgIHJjID0gLUVQRVJNOwogICAgIGlmICggcy0+ZW11bGF0b3IgIT0gY3VycmVudC0+ZG9tYWlu ICkKICAgICAgICAgZ290byBvdXQ7CkBAIC0xMDIzLDkgKzk1NCw2IEBAIGludCBodm1fbWFwX2lv X3JhbmdlX3RvX2lvcmVxX3NlcnZlcihzdHJ1Y3QgZG9tYWluICpkLCBpb3NlcnZpZF90IGlkLAog ICAgIGlmICggc3RhcnQgPiBlbmQgKQogICAgICAgICByZXR1cm4gLUVJTlZBTDsKIAotICAgIGlm ICggaWQgPT0gREVGQVVMVF9JT1NFUlZJRCApCi0gICAgICAgIHJldHVybiAtRU9QTk9UU1VQUDsK LQogICAgIHNwaW5fbG9ja19yZWN1cnNpdmUoJmQtPmFyY2guaHZtX2RvbWFpbi5pb3JlcV9zZXJ2 ZXIubG9jayk7CiAKICAgICBzID0gZ2V0X2lvcmVxX3NlcnZlcihkLCBpZCk7CkBAIC0xMDM0LDgg Kzk2Miw2IEBAIGludCBodm1fbWFwX2lvX3JhbmdlX3RvX2lvcmVxX3NlcnZlcihzdHJ1Y3QgZG9t YWluICpkLCBpb3NlcnZpZF90IGlkLAogICAgIGlmICggIXMgKQogICAgICAgICBnb3RvIG91dDsK IAotICAgIEFTU0VSVCghSVNfREVGQVVMVChzKSk7Ci0KICAgICByYyA9IC1FUEVSTTsKICAgICBp ZiAoIHMtPmVtdWxhdG9yICE9IGN1cnJlbnQtPmRvbWFpbiApCiAgICAgICAgIGdvdG8gb3V0OwpA QCAtMTA4MCw5ICsxMDA2LDYgQEAgaW50IGh2bV91bm1hcF9pb19yYW5nZV9mcm9tX2lvcmVxX3Nl cnZlcihzdHJ1Y3QgZG9tYWluICpkLCBpb3NlcnZpZF90IGlkLAogICAgIGlmICggc3RhcnQgPiBl bmQgKQogICAgICAgICByZXR1cm4gLUVJTlZBTDsKIAotICAgIGlmICggaWQgPT0gREVGQVVMVF9J T1NFUlZJRCApCi0gICAgICAgIHJldHVybiAtRU9QTk9UU1VQUDsKLQogICAgIHNwaW5fbG9ja19y ZWN1cnNpdmUoJmQtPmFyY2guaHZtX2RvbWFpbi5pb3JlcV9zZXJ2ZXIubG9jayk7CiAKICAgICBz ID0gZ2V0X2lvcmVxX3NlcnZlcihkLCBpZCk7CkBAIC0xMDkxLDggKzEwMTQsNiBAQCBpbnQgaHZt X3VubWFwX2lvX3JhbmdlX2Zyb21faW9yZXFfc2VydmVyKHN0cnVjdCBkb21haW4gKmQsIGlvc2Vy dmlkX3QgaWQsCiAgICAgaWYgKCAhcyApCiAgICAgICAgIGdvdG8gb3V0OwogCi0gICAgQVNTRVJU KCFJU19ERUZBVUxUKHMpKTsKLQogICAgIHJjID0gLUVQRVJNOwogICAgIGlmICggcy0+ZW11bGF0 b3IgIT0gY3VycmVudC0+ZG9tYWluICkKICAgICAgICAgZ290byBvdXQ7CkBAIC0xMTQwLDkgKzEw NjEsNiBAQCBpbnQgaHZtX21hcF9tZW1fdHlwZV90b19pb3JlcV9zZXJ2ZXIoc3RydWN0IGRvbWFp biAqZCwgaW9zZXJ2aWRfdCBpZCwKICAgICBzdHJ1Y3QgaHZtX2lvcmVxX3NlcnZlciAqczsKICAg ICBpbnQgcmM7CiAKLSAgICBpZiAoIGlkID09IERFRkFVTFRfSU9TRVJWSUQgKQotICAgICAgICBy ZXR1cm4gLUVPUE5PVFNVUFA7Ci0KICAgICBpZiAoIHR5cGUgIT0gSFZNTUVNX2lvcmVxX3NlcnZl ciApCiAgICAgICAgIHJldHVybiAtRUlOVkFMOwogCkBAIC0xMTU3LDggKzEwNzUsNiBAQCBpbnQg aHZtX21hcF9tZW1fdHlwZV90b19pb3JlcV9zZXJ2ZXIoc3RydWN0IGRvbWFpbiAqZCwgaW9zZXJ2 aWRfdCBpZCwKICAgICBpZiAoICFzICkKICAgICAgICAgZ290byBvdXQ7CiAKLSAgICBBU1NFUlQo IUlTX0RFRkFVTFQocykpOwotCiAgICAgcmMgPSAtRVBFUk07CiAgICAgaWYgKCBzLT5lbXVsYXRv ciAhPSBjdXJyZW50LT5kb21haW4gKQogICAgICAgICBnb3RvIG91dDsKQEAgLTExODUsOSArMTEw MSw2IEBAIGludCBodm1fc2V0X2lvcmVxX3NlcnZlcl9zdGF0ZShzdHJ1Y3QgZG9tYWluICpkLCBp b3NlcnZpZF90IGlkLAogICAgIHN0cnVjdCBodm1faW9yZXFfc2VydmVyICpzOwogICAgIGludCBy YzsKIAotICAgIGlmICggaWQgPT0gREVGQVVMVF9JT1NFUlZJRCApCi0gICAgICAgIHJldHVybiAt RU9QTk9UU1VQUDsKLQogICAgIHNwaW5fbG9ja19yZWN1cnNpdmUoJmQtPmFyY2guaHZtX2RvbWFp bi5pb3JlcV9zZXJ2ZXIubG9jayk7CiAKICAgICBzID0gZ2V0X2lvcmVxX3NlcnZlcihkLCBpZCk7 CkBAIC0xMTk2LDggKzExMDksNiBAQCBpbnQgaHZtX3NldF9pb3JlcV9zZXJ2ZXJfc3RhdGUoc3Ry dWN0IGRvbWFpbiAqZCwgaW9zZXJ2aWRfdCBpZCwKICAgICBpZiAoICFzICkKICAgICAgICAgZ290 byBvdXQ7CiAKLSAgICBBU1NFUlQoIUlTX0RFRkFVTFQocykpOwotCiAgICAgcmMgPSAtRVBFUk07 CiAgICAgaWYgKCBzLT5lbXVsYXRvciAhPSBjdXJyZW50LT5kb21haW4gKQogICAgICAgICBnb3Rv IG91dDsKQEAgLTEyODIsOCArMTE5Myw2IEBAIHZvaWQgaHZtX2Rlc3Ryb3lfYWxsX2lvcmVxX3Nl cnZlcnMoc3RydWN0IGRvbWFpbiAqZCkKICAgICAgICAgLyoKICAgICAgICAgICogSXQgaXMgc2Fm ZSB0byBjYWxsIGh2bV9pb3JlcV9zZXJ2ZXJfZGVpbml0KCkgcHJpb3IgdG8KICAgICAgICAgICog c2V0X2lvcmVxX3NlcnZlcigpIHNpbmNlIHRoZSB0YXJnZXQgZG9tYWluIGlzIGJlaW5nIGRlc3Ry b3llZC4KLSAgICAgICAgICogSXQgaXMgbmVjZXNzYXJ5IGZvciB0aGUgY2FsbHMgdG8gYmUgb3Jk ZXJlZCB0aHVzIG90aGVyd2lzZSB0aGUKLSAgICAgICAgICogSVNfREVGQVVMVCgpIG1hY3JvIHdv dWxkIG5vdCBldmFsdWF0ZSBjb3JyZWN0bHkuCiAgICAgICAgICAqLwogICAgICAgICBodm1faW9y ZXFfc2VydmVyX2RlaW5pdChzKTsKICAgICAgICAgc2V0X2lvcmVxX3NlcnZlcihkLCBpZCwgTlVM TCk7CkBAIC0xMzA0LDcgKzEyMTMsNyBAQCBzdHJ1Y3QgaHZtX2lvcmVxX3NlcnZlciAqaHZtX3Nl bGVjdF9pb3JlcV9zZXJ2ZXIoc3RydWN0IGRvbWFpbiAqZCwKICAgICB1bnNpZ25lZCBpbnQgaWQ7 CiAKICAgICBpZiAoIHAtPnR5cGUgIT0gSU9SRVFfVFlQRV9DT1BZICYmIHAtPnR5cGUgIT0gSU9S RVFfVFlQRV9QSU8gKQotICAgICAgICByZXR1cm4gR0VUX0lPUkVRX1NFUlZFUihkLCBERUZBVUxU X0lPU0VSVklEKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CiAKICAgICBjZjggPSBkLT5hcmNoLmh2 bV9kb21haW4ucGNpX2NmODsKIApAQCAtMTM0Niw3ICsxMjU1LDcgQEAgc3RydWN0IGh2bV9pb3Jl cV9zZXJ2ZXIgKmh2bV9zZWxlY3RfaW9yZXFfc2VydmVyKHN0cnVjdCBkb21haW4gKmQsCiAgICAg ewogICAgICAgICBzdHJ1Y3QgcmFuZ2VzZXQgKnI7CiAKLSAgICAgICAgaWYgKCBJU19ERUZBVUxU KHMpIHx8ICFzLT5lbmFibGVkICkKKyAgICAgICAgaWYgKCAhcy0+ZW5hYmxlZCApCiAgICAgICAg ICAgICBjb250aW51ZTsKIAogICAgICAgICByID0gcy0+cmFuZ2VbdHlwZV07CkBAIC0xMzc5LDcg KzEyODgsNyBAQCBzdHJ1Y3QgaHZtX2lvcmVxX3NlcnZlciAqaHZtX3NlbGVjdF9pb3JlcV9zZXJ2 ZXIoc3RydWN0IGRvbWFpbiAqZCwKICAgICAgICAgfQogICAgIH0KIAotICAgIHJldHVybiBHRVRf SU9SRVFfU0VSVkVSKGQsIERFRkFVTFRfSU9TRVJWSUQpOworICAgIHJldHVybiBOVUxMOwogfQog CiBzdGF0aWMgaW50IGh2bV9zZW5kX2J1ZmZlcmVkX2lvcmVxKHN0cnVjdCBodm1faW9yZXFfc2Vy dmVyICpzLCBpb3JlcV90ICpwKQpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0v ZG9tYWluLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9kb21haW4uaAppbmRleCA1ODg1OTUw NTlkLi4yMzk4ODU4NDQyIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9kb21h aW4uaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9kb21haW4uaApAQCAtOTcsNyArOTcs NiBAQCBzdHJ1Y3QgaHZtX3BpX29wcyB7CiB9OwogCiAjZGVmaW5lIE1BWF9OUl9JT1JFUV9TRVJW RVJTIDgKLSNkZWZpbmUgREVGQVVMVF9JT1NFUlZJRCAwCiAKIHN0cnVjdCBodm1fZG9tYWluIHsK ICAgICAvKiBHdWVzdCBwYWdlIHJhbmdlIHVzZWQgZm9yIG5vbi1kZWZhdWx0IGlvcmVxIHNlcnZl cnMgKi8KZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL2lvcmVxLmggYi94ZW4v aW5jbHVkZS9hc20teDg2L2h2bS9pb3JlcS5oCmluZGV4IGJhYjQ3M2NmNDQuLmUyNTg4ZTkxMmYg MTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL2lvcmVxLmgKKysrIGIveGVuL2lu Y2x1ZGUvYXNtLXg4Ni9odm0vaW9yZXEuaApAQCAtMjMsOCArMjMsOCBAQCBib29sIGh2bV9pb19w ZW5kaW5nKHN0cnVjdCB2Y3B1ICp2KTsKIGJvb2wgaGFuZGxlX2h2bV9pb19jb21wbGV0aW9uKHN0 cnVjdCB2Y3B1ICp2KTsKIGJvb2wgaXNfaW9yZXFfc2VydmVyX3BhZ2Uoc3RydWN0IGRvbWFpbiAq ZCwgY29uc3Qgc3RydWN0IHBhZ2VfaW5mbyAqcGFnZSk7CiAKLWludCBodm1fY3JlYXRlX2lvcmVx X3NlcnZlcihzdHJ1Y3QgZG9tYWluICpkLCBib29sIGlzX2RlZmF1bHQsCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgaW50IGJ1ZmlvcmVxX2hhbmRsaW5nLCBpb3NlcnZpZF90ICppZCk7Citp bnQgaHZtX2NyZWF0ZV9pb3JlcV9zZXJ2ZXIoc3RydWN0IGRvbWFpbiAqZCwgaW50IGJ1ZmlvcmVx X2hhbmRsaW5nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlvc2VydmlkX3QgKmlkKTsK IGludCBodm1fZGVzdHJveV9pb3JlcV9zZXJ2ZXIoc3RydWN0IGRvbWFpbiAqZCwgaW9zZXJ2aWRf dCBpZCk7CiBpbnQgaHZtX2dldF9pb3JlcV9zZXJ2ZXJfaW5mbyhzdHJ1Y3QgZG9tYWluICpkLCBp b3NlcnZpZF90IGlkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9u ZyAqaW9yZXFfZ2ZuLApkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvcHVibGljL2h2bS9wYXJhbXMu aCBiL3hlbi9pbmNsdWRlL3B1YmxpYy9odm0vcGFyYW1zLmgKaW5kZXggMzk2OTc3YzJiYi4uYTI2 ZjRjODE0OCAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvcHVibGljL2h2bS9wYXJhbXMuaAorKysg Yi94ZW4vaW5jbHVkZS9wdWJsaWMvaHZtL3BhcmFtcy5oCkBAIC04MSw5ICs4MSwxMyBAQAogI2Rl ZmluZSBIVk1fUEFSQU1fUEFFX0VOQUJMRUQgIDQKIAogI2RlZmluZSBIVk1fUEFSQU1fSU9SRVFf UEZOICAgIDUKLQogI2RlZmluZSBIVk1fUEFSQU1fQlVGSU9SRVFfUEZOIDYKKworI2lmZGVmIF9f WEVOX18KKy8qIFRoZXNlIHBhcmFtZXRlcnMgaXMgZGVwcmVjYXRlZCBhbmQgaXRzIG1lYW5pbmcg aXMgdW5kZWZpbmVkICovCisjZGVmaW5lIEhWTV9QQVJBTV9ETV9ET01BSU4gMTMKICNkZWZpbmUg SFZNX1BBUkFNX0JVRklPUkVRX0VWVENITiAyNgorI2VuZGlmCiAKICNpZiBkZWZpbmVkKF9faTM4 Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pCiAKQEAgLTE4MSw5ICsxODUsNiBAQAogLyogSWRl bnRpdHktbWFwIHBhZ2UgZGlyZWN0b3J5IHVzZWQgYnkgSW50ZWwgRVBUIHdoZW4gQ1IwLlBHPTAu ICovCiAjZGVmaW5lIEhWTV9QQVJBTV9JREVOVF9QVCAgICAgMTIKIAotLyogRGV2aWNlIE1vZGVs IGRvbWFpbiwgZGVmYXVsdHMgdG8gMC4gKi8KLSNkZWZpbmUgSFZNX1BBUkFNX0RNX0RPTUFJTiAg ICAxMwotCiAvKiBBQ1BJIFMgc3RhdGU6IGN1cnJlbnRseSBzdXBwb3J0IFMwIGFuZCBTMyBvbiB4 ODYuICovCiAjZGVmaW5lIEhWTV9QQVJBTV9BQ1BJX1NfU1RBVEUgMTQKIAotLSAKMi4xMS4wCgoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVs IG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0 cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==