From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: [PATCH v2] x86/hvm: remove default ioreq server Date: Tue, 7 Aug 2018 15:02:20 +0100 Message-ID: <20180807140220.13703-1-paul.durrant@citrix.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]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1fn2ZY-0003tq-4l for xen-devel@lists.xenproject.org; Tue, 07 Aug 2018 14:02:52 +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 bGljaXQgZG9taWQgdG8KICAgICAgaHZtX2NyZWF0ZV9pb3JlcV9zZXJ2ZXIoKSIuCgpbMV0gaHR0 cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9hcmNoaXZlcy9odG1sL3hlbi1kZXZlbC8yMDE4LTA4 L21zZzAwMjcwLmh0bWwKClNpZ25lZC1vZmYtYnk6IFBhdWwgRHVycmFudCA8cGF1bC5kdXJyYW50 QGNpdHJpeC5jb20+CkFja2VkLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRy aXguY29tPgotLS0KQ2M6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KCnYyOgogLSBE aXNhbGxvdyByZWFkcyBvciB3cml0ZXMgb2YgSFZNX1BBUkFNX0JVRklPUkVRX0VWVENITiBhbmQg bWFyayBpdCBhcwogICBkZXByZWNhdGVkIGluIHRoZSBoZWFkZXIuCiAtIFVwZGF0ZWQgY29tbWl0 IGNvbW1lbnQgdy5yLnQuIEhWTV9QQVJBTV9ETV9ET01BSU4gY2hhbmdlLgotLS0KIHhlbi9hcmNo L3g4Ni9odm0vZG0uYyAgICAgICAgICAgIHwgICAyICstCiB4ZW4vYXJjaC94ODYvaHZtL2h2bS5j ICAgICAgICAgICB8ICAzNiArKystLS0tLS0tLS0KIHhlbi9hcmNoL3g4Ni9odm0vaW9yZXEuYyAg ICAgICAgIHwgMTIzICsrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogeGVu L2luY2x1ZGUvYXNtLXg4Ni9odm0vZG9tYWluLmggfCAgIDEgLQogeGVuL2luY2x1ZGUvYXNtLXg4 Ni9odm0vaW9yZXEuaCAgfCAgIDQgKy0KIHhlbi9pbmNsdWRlL3B1YmxpYy9odm0vcGFyYW1zLmgg IHwgICA1ICstCiA2IGZpbGVzIGNoYW5nZWQsIDMwIGluc2VydGlvbnMoKyksIDE0MSBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvaHZtL2RtLmMgYi94ZW4vYXJjaC94ODYv aHZtL2RtLmMKaW5kZXggNjc1NWYzZmQ5Ni4uNmFjZTNkYzdjMSAxMDA2NDQKLS0tIGEveGVuL2Fy Y2gveDg2L2h2bS9kbS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vZG0uYwpAQCAtNDExLDcgKzQx MSw3IEBAIHN0YXRpYyBpbnQgZG1fb3AoY29uc3Qgc3RydWN0IGRtb3BfYXJncyAqb3BfYXJncykK ICAgICAgICAgaWYgKCBkYXRhLT5wYWRbMF0gfHwgZGF0YS0+cGFkWzFdIHx8IGRhdGEtPnBhZFsy XSApCiAgICAgICAgICAgICBicmVhazsKIAotICAgICAgICByYyA9IGh2bV9jcmVhdGVfaW9yZXFf c2VydmVyKGQsIGZhbHNlLCBkYXRhLT5oYW5kbGVfYnVmaW9yZXEsCisgICAgICAgIHJjID0gaHZt X2NyZWF0ZV9pb3JlcV9zZXJ2ZXIoZCwgZGF0YS0+aGFuZGxlX2J1ZmlvcmVxLAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICZkYXRhLT5pZCk7CiAgICAgICAgIGJyZWFrOwog ICAgIH0KZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMgYi94ZW4vYXJjaC94ODYv aHZtL2h2bS5jCmluZGV4IDcyYzUxZmFlY2IuLmE3OTdmYzIxYzQgMTAwNjQ0Ci0tLSBhL3hlbi9h cmNoL3g4Ni9odm0vaHZtLmMKKysrIGIveGVuL2FyY2gveDg2L2h2bS9odm0uYwpAQCAtNDA5Mywx MiArNDA5MywxNSBAQCBzdGF0aWMgaW50IGh2bV9hbGxvd19zZXRfcGFyYW0oc3RydWN0IGRvbWFp biAqZCwKICAgICBjYXNlIEhWTV9QQVJBTV9DT05TT0xFX0VWVENITjoKICAgICBjYXNlIEhWTV9Q QVJBTV9YODdfRklQX1dJRFRIOgogICAgICAgICBicmVhazsKKyAgICAvKiBUaGUgZm9sbG93aW5n IHBhcmFtZXRlcnMgYXJlIGRlcHJlY2F0ZWQuICovCisgICAgY2FzZSBIVk1fUEFSQU1fQlVGSU9S RVFfRVZUQ0hOOgorICAgICAgICByYyA9IC1FUEVSTTsKKyAgICAgICAgYnJlYWs7CiAgICAgLyoK ICAgICAgKiBUaGUgZm9sbG93aW5nIHBhcmFtZXRlcnMgbXVzdCBub3QgYmUgc2V0IGJ5IHRoZSBn dWVzdAogICAgICAqIHNpbmNlIHRoZSBkb21haW4gbWF5IG5lZWQgdG8gYmUgcGF1c2VkLgogICAg ICAqLwogICAgIGNhc2UgSFZNX1BBUkFNX0lERU5UX1BUOgotICAgIGNhc2UgSFZNX1BBUkFNX0RN X0RPTUFJTjoKICAgICBjYXNlIEhWTV9QQVJBTV9BQ1BJX1NfU1RBVEU6CiAgICAgLyogVGhlIHJl bWFpbmluZyBwYXJhbWV0ZXJzIHNob3VsZCBub3QgYmUgc2V0IGJ5IHRoZSBndWVzdC4gKi8KICAg ICBkZWZhdWx0OgpAQCAtNDI2Myw5ICs0MjY2LDYgQEAgc3RhdGljIGludCBodm1vcF9zZXRfcGFy YW0oCiAgICAgICAgICAgICAgZC0+YXJjaC5odm1fZG9tYWluLnBhcmFtc1tIVk1fUEFSQU1fTkVT VEVESFZNXSApCiAgICAgICAgICAgICByYyA9IC1FSU5WQUw7CiAgICAgICAgIGJyZWFrOwotICAg IGNhc2UgSFZNX1BBUkFNX0JVRklPUkVRX0VWVENITjoKLSAgICAgICAgcmMgPSAtRUlOVkFMOwot ICAgICAgICBicmVhazsKICAgICBjYXNlIEhWTV9QQVJBTV9UUklQTEVfRkFVTFRfUkVBU09OOgog ICAgICAgICBpZiAoIGEudmFsdWUgPiBTSFVURE9XTl9NQVggKQogICAgICAgICAgICAgcmMgPSAt RUlOVkFMOwpAQCAtNDM3MywxMyArNDM3MywxMCBAQCBzdGF0aWMgaW50IGh2bV9hbGxvd19nZXRf cGFyYW0oc3RydWN0IGRvbWFpbiAqZCwKICAgICBjYXNlIEhWTV9QQVJBTV9BTFRQMk06CiAgICAg Y2FzZSBIVk1fUEFSQU1fWDg3X0ZJUF9XSURUSDoKICAgICAgICAgYnJlYWs7Ci0gICAgLyoKLSAg ICAgKiBUaGUgZm9sbG93aW5nIHBhcmFtZXRlcnMgbXVzdCBub3QgYmUgcmVhZCBieSB0aGUgZ3Vl c3QKLSAgICAgKiBzaW5jZSB0aGUgZG9tYWluIG1heSBuZWVkIHRvIGJlIHBhdXNlZC4KLSAgICAg Ki8KLSAgICBjYXNlIEhWTV9QQVJBTV9JT1JFUV9QRk46Ci0gICAgY2FzZSBIVk1fUEFSQU1fQlVG SU9SRVFfUEZOOgorICAgIC8qIFRoZSBmb2xsb3dpbmcgcGFyYW1ldGVycyBhcmUgZGVwcmVjYXRl ZC4gKi8KICAgICBjYXNlIEhWTV9QQVJBTV9CVUZJT1JFUV9FVlRDSE46CisgICAgICAgIHJjID0g LUVOT0RBVEE7CisgICAgICAgIGJyZWFrOwogICAgIC8qIFRoZSByZW1haW5pbmcgcGFyYW1ldGVy cyBzaG91bGQgbm90IGJlIHJlYWQgYnkgdGhlIGd1ZXN0LiAqLwogICAgIGRlZmF1bHQ6CiAgICAg ICAgIGlmICggZCA9PSBjdXJyZW50LT5kb21haW4gKQpAQCAtNDQzMywyNSArNDQzMCw2IEBAIHN0 YXRpYyBpbnQgaHZtb3BfZ2V0X3BhcmFtKAogICAgIGNhc2UgSFZNX1BBUkFNX1g4N19GSVBfV0lE VEg6CiAgICAgICAgIGEudmFsdWUgPSBkLT5hcmNoLng4N19maXBfd2lkdGg7CiAgICAgICAgIGJy ZWFrOwotICAgIGNhc2UgSFZNX1BBUkFNX0lPUkVRX1BGTjoKLSAgICBjYXNlIEhWTV9QQVJBTV9C VUZJT1JFUV9QRk46Ci0gICAgY2FzZSBIVk1fUEFSQU1fQlVGSU9SRVFfRVZUQ0hOOgotICAgICAg ICAvKgotICAgICAgICAgKiBJdCBtYXkgYmUgbmVjZXNzYXJ5IHRvIGNyZWF0ZSBhIGRlZmF1bHQg aW9yZXEgc2VydmVyIGhlcmUsCi0gICAgICAgICAqIGJlY2F1c2UgbGVnYWN5IHZlcnNpb25zIG9m IFFFTVUgYXJlIG5vdCBhd2FyZSBvZiB0aGUgbmV3IEFQSSBmb3IKLSAgICAgICAgICogZXhwbGlj aXQgaW9yZXEgc2VydmVyIGNyZWF0aW9uLiBIb3dldmVyLCBpZiB0aGUgZG9tYWluIGlzIG5vdAot ICAgICAgICAgKiB1bmRlciBjb25zdHJ1Y3Rpb24gdGhlbiBpdCB3aWxsIG5vdCBiZSBRRU1VIHF1 ZXJ5aW5nIHRoZQotICAgICAgICAgKiBwYXJhbWV0ZXJzIGFuZCB0aHVzIHRoZSBxdWVyeSBzaG91 bGQgbm90IGhhdmUgdGhhdCBzaWRlLWVmZmVjdC4KLSAgICAgICAgICovCi0gICAgICAgIGlmICgg IWQtPmNyZWF0aW9uX2ZpbmlzaGVkICkKLSAgICAgICAgewotICAgICAgICAgICAgcmMgPSBodm1f Y3JlYXRlX2lvcmVxX3NlcnZlcihkLCB0cnVlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBIVk1fSU9SRVFTUlZfQlVGSU9SRVFfTEVHQUNZLCBOVUxMKTsKLSAgICAg ICAgICAgIGlmICggcmMgIT0gMCAmJiByYyAhPSAtRUVYSVNUICkKLSAgICAgICAgICAgICAgICBn b3RvIG91dDsKLSAgICAgICAgfQotCi0gICAgLypGQUxMVEhSVSovCiAgICAgZGVmYXVsdDoKICAg ICAgICAgYS52YWx1ZSA9IGQtPmFyY2guaHZtX2RvbWFpbi5wYXJhbXNbYS5pbmRleF07CiAgICAg ICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2bS9pb3JlcS5jIGIveGVuL2Fy Y2gveDg2L2h2bS9pb3JlcS5jCmluZGV4IDdjNTE1YjNlZjcuLjljYjM4MTljNmIgMTAwNjQ0Ci0t LSBhL3hlbi9hcmNoL3g4Ni9odm0vaW9yZXEuYworKysgYi94ZW4vYXJjaC94ODYvaHZtL2lvcmVx LmMKQEAgLTU1LDkgKzU1LDYgQEAgc3RhdGljIHN0cnVjdCBodm1faW9yZXFfc2VydmVyICpnZXRf aW9yZXFfc2VydmVyKGNvbnN0IHN0cnVjdCBkb21haW4gKmQsCiAgICAgcmV0dXJuIEdFVF9JT1JF UV9TRVJWRVIoZCwgaWQpOwogfQogCi0jZGVmaW5lIElTX0RFRkFVTFQocykgXAotICAgICgocykg JiYgKHMpID09IEdFVF9JT1JFUV9TRVJWRVIoKHMpLT50YXJnZXQsIERFRkFVTFRfSU9TRVJWSUQp KQotCiAvKgogICogSXRlcmF0ZSBvdmVyIGFsbCBwb3NzaWJsZSBpb3JlcSBzZXJ2ZXJzLgogICoK QEAgLTI0NSw4ICsyNDIsNiBAQCBzdGF0aWMgZ2ZuX3QgaHZtX2FsbG9jX2lvcmVxX2dmbihzdHJ1 Y3QgaHZtX2lvcmVxX3NlcnZlciAqcykKICAgICBzdHJ1Y3QgZG9tYWluICpkID0gcy0+dGFyZ2V0 OwogICAgIHVuc2lnbmVkIGludCBpOwogCi0gICAgQVNTRVJUKCFJU19ERUZBVUxUKHMpKTsKLQog ICAgIGZvciAoIGkgPSAwOyBpIDwgc2l6ZW9mKGQtPmFyY2guaHZtX2RvbWFpbi5pb3JlcV9nZm4u bWFzaykgKiA4OyBpKysgKQogICAgIHsKICAgICAgICAgaWYgKCB0ZXN0X2FuZF9jbGVhcl9iaXQo aSwgJmQtPmFyY2guaHZtX2RvbWFpbi5pb3JlcV9nZm4ubWFzaykgKQpAQCAtMjYxLDcgKzI1Niw2 IEBAIHN0YXRpYyB2b2lkIGh2bV9mcmVlX2lvcmVxX2dmbihzdHJ1Y3QgaHZtX2lvcmVxX3NlcnZl ciAqcywgZ2ZuX3QgZ2ZuKQogICAgIHN0cnVjdCBkb21haW4gKmQgPSBzLT50YXJnZXQ7CiAgICAg dW5zaWduZWQgaW50IGkgPSBnZm5feChnZm4pIC0gZC0+YXJjaC5odm1fZG9tYWluLmlvcmVxX2dm bi5iYXNlOwogCi0gICAgQVNTRVJUKCFJU19ERUZBVUxUKHMpKTsKICAgICBBU1NFUlQoIWdmbl9l cShnZm4sIElOVkFMSURfR0ZOKSk7CiAKICAgICBzZXRfYml0KGksICZkLT5hcmNoLmh2bV9kb21h aW4uaW9yZXFfZ2ZuLm1hc2spOwpAQCAtMjc3LDkgKzI3MSw3IEBAIHN0YXRpYyB2b2lkIGh2bV91 bm1hcF9pb3JlcV9nZm4oc3RydWN0IGh2bV9pb3JlcV9zZXJ2ZXIgKnMsIGJvb2wgYnVmKQogICAg IGRlc3Ryb3lfcmluZ19mb3JfaGVscGVyKCZpb3JwLT52YSwgaW9ycC0+cGFnZSk7CiAgICAgaW9y cC0+cGFnZSA9IE5VTEw7CiAKLSAgICBpZiAoICFJU19ERUZBVUxUKHMpICkKLSAgICAgICAgaHZt X2ZyZWVfaW9yZXFfZ2ZuKHMsIGlvcnAtPmdmbik7Ci0KKyAgICBodm1fZnJlZV9pb3JlcV9nZm4o cywgaW9ycC0+Z2ZuKTsKICAgICBpb3JwLT5nZm4gPSBJTlZBTElEX0dGTjsKIH0KIApAQCAtMzA1 LDEzICsyOTcsNyBAQCBzdGF0aWMgaW50IGh2bV9tYXBfaW9yZXFfZ2ZuKHN0cnVjdCBodm1faW9y ZXFfc2VydmVyICpzLCBib29sIGJ1ZikKICAgICBpZiAoIGQtPmlzX2R5aW5nICkKICAgICAgICAg cmV0dXJuIC1FSU5WQUw7CiAKLSAgICBpZiAoIElTX0RFRkFVTFQocykgKQotICAgICAgICBpb3Jw LT5nZm4gPSBfZ2ZuKGJ1ZiA/Ci0gICAgICAgICAgICAgICAgICAgICAgICAgZC0+YXJjaC5odm1f ZG9tYWluLnBhcmFtc1tIVk1fUEFSQU1fQlVGSU9SRVFfUEZOXSA6Ci0gICAgICAgICAgICAgICAg ICAgICAgICAgZC0+YXJjaC5odm1fZG9tYWluLnBhcmFtc1tIVk1fUEFSQU1fSU9SRVFfUEZOXSk7 Ci0gICAgZWxzZQotICAgICAgICBpb3JwLT5nZm4gPSBodm1fYWxsb2NfaW9yZXFfZ2ZuKHMpOwot CisgICAgaW9ycC0+Z2ZuID0gaHZtX2FsbG9jX2lvcmVxX2dmbihzKTsKICAgICBpZiAoIGdmbl9l cShpb3JwLT5nZm4sIElOVkFMSURfR0ZOKSApCiAgICAgICAgIHJldHVybiAtRU5PTUVNOwogCkBA IC00MTYsNyArNDAyLDcgQEAgc3RhdGljIHZvaWQgaHZtX3JlbW92ZV9pb3JlcV9nZm4oc3RydWN0 IGh2bV9pb3JlcV9zZXJ2ZXIgKnMsIGJvb2wgYnVmKQogICAgIHN0cnVjdCBkb21haW4gKmQgPSBz LT50YXJnZXQ7CiAgICAgc3RydWN0IGh2bV9pb3JlcV9wYWdlICppb3JwID0gYnVmID8gJnMtPmJ1 ZmlvcmVxIDogJnMtPmlvcmVxOwogCi0gICAgaWYgKCBJU19ERUZBVUxUKHMpIHx8IGdmbl9lcShp b3JwLT5nZm4sIElOVkFMSURfR0ZOKSApCisgICAgaWYgKCBnZm5fZXEoaW9ycC0+Z2ZuLCBJTlZB TElEX0dGTikgKQogICAgICAgICByZXR1cm47CiAKICAgICBpZiAoIGd1ZXN0X3BoeXNtYXBfcmVt b3ZlX3BhZ2UoZCwgaW9ycC0+Z2ZuLApAQCAtNDMxLDcgKzQxNyw3IEBAIHN0YXRpYyBpbnQgaHZt X2FkZF9pb3JlcV9nZm4oc3RydWN0IGh2bV9pb3JlcV9zZXJ2ZXIgKnMsIGJvb2wgYnVmKQogICAg IHN0cnVjdCBodm1faW9yZXFfcGFnZSAqaW9ycCA9IGJ1ZiA/ICZzLT5idWZpb3JlcSA6ICZzLT5p b3JlcTsKICAgICBpbnQgcmM7CiAKLSAgICBpZiAoIElTX0RFRkFVTFQocykgfHwgZ2ZuX2VxKGlv cnAtPmdmbiwgSU5WQUxJRF9HRk4pICkKKyAgICBpZiAoIGdmbl9lcShpb3JwLT5nZm4sIElOVkFM SURfR0ZOKSApCiAgICAgICAgIHJldHVybiAwOwogCiAgICAgY2xlYXJfcGFnZShpb3JwLT52YSk7 CkBAIC00ODMsMTcgKzQ2OSwxMiBAQCBzdGF0aWMgaW50IGh2bV9pb3JlcV9zZXJ2ZXJfYWRkX3Zj cHUoc3RydWN0IGh2bV9pb3JlcV9zZXJ2ZXIgKnMsCiAKICAgICBpZiAoIHYtPnZjcHVfaWQgPT0g MCAmJiBIQU5ETEVfQlVGSU9SRVEocykgKQogICAgIHsKLSAgICAgICAgc3RydWN0IGRvbWFpbiAq ZCA9IHMtPnRhcmdldDsKLQogICAgICAgICByYyA9IGFsbG9jX3VuYm91bmRfeGVuX2V2ZW50X2No YW5uZWwodi0+ZG9tYWluLCAwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgcy0+ZW11bGF0b3ItPmRvbWFpbl9pZCwgTlVMTCk7CiAgICAgICAgIGlmICggcmMg PCAwICkKICAgICAgICAgICAgIGdvdG8gZmFpbDM7CiAKICAgICAgICAgcy0+YnVmaW9yZXFfZXZ0 Y2huID0gcmM7Ci0gICAgICAgIGlmICggSVNfREVGQVVMVChzKSApCi0gICAgICAgICAgICBkLT5h cmNoLmh2bV9kb21haW4ucGFyYW1zW0hWTV9QQVJBTV9CVUZJT1JFUV9FVlRDSE5dID0KLSAgICAg ICAgICAgICAgICBzLT5idWZpb3JlcV9ldnRjaG47CiAgICAgfQogCiAgICAgc3YtPnZjcHUgPSB2 OwpAQCAtNjE3LDkgKzU5OCw2IEBAIHN0YXRpYyB2b2lkIGh2bV9pb3JlcV9zZXJ2ZXJfZnJlZV9y YW5nZXNldHMoc3RydWN0IGh2bV9pb3JlcV9zZXJ2ZXIgKnMpCiB7CiAgICAgdW5zaWduZWQgaW50 IGk7CiAKLSAgICBpZiAoIElTX0RFRkFVTFQocykgKQotICAgICAgICByZXR1cm47Ci0KICAgICBm b3IgKCBpID0gMDsgaSA8IE5SX0lPX1JBTkdFX1RZUEVTOyBpKysgKQogICAgICAgICByYW5nZXNl dF9kZXN0cm95KHMtPnJhbmdlW2ldKTsKIH0KQEAgLTYzMCwxMSArNjA4LDYgQEAgc3RhdGljIGlu dCBodm1faW9yZXFfc2VydmVyX2FsbG9jX3Jhbmdlc2V0cyhzdHJ1Y3QgaHZtX2lvcmVxX3NlcnZl ciAqcywKICAgICB1bnNpZ25lZCBpbnQgaTsKICAgICBpbnQgcmM7CiAKLSAgICBpZiAoIGlkID09 IERFRkFVTFRfSU9TRVJWSUQgKQotICAgICAgICBnb3RvIGRvbmU7Ci0KLSAgICBBU1NFUlQoIUlT X0RFRkFVTFQocykpOwotCiAgICAgZm9yICggaSA9IDA7IGkgPCBOUl9JT19SQU5HRV9UWVBFUzsg aSsrICkKICAgICB7CiAgICAgICAgIGNoYXIgKm5hbWU7CkBAIC02NTksNyArNjMyLDYgQEAgc3Rh dGljIGludCBodm1faW9yZXFfc2VydmVyX2FsbG9jX3Jhbmdlc2V0cyhzdHJ1Y3QgaHZtX2lvcmVx X3NlcnZlciAqcywKICAgICAgICAgcmFuZ2VzZXRfbGltaXQocy0+cmFuZ2VbaV0sIE1BWF9OUl9J T19SQU5HRVMpOwogICAgIH0KIAotIGRvbmU6CiAgICAgcmV0dXJuIDA7CiAKICBmYWlsOgpAQCAt NzMzLDEzICs3MDUsNiBAQCBzdGF0aWMgaW50IGh2bV9pb3JlcV9zZXJ2ZXJfaW5pdChzdHJ1Y3Qg aHZtX2lvcmVxX3NlcnZlciAqcywKIAogICAgIHMtPmJ1ZmlvcmVxX2hhbmRsaW5nID0gYnVmaW9y ZXFfaGFuZGxpbmc7CiAKLSAgICBpZiAoIGlkID09IERFRkFVTFRfSU9TRVJWSUQgKQotICAgIHsK LSAgICAgICAgcmMgPSBodm1faW9yZXFfc2VydmVyX21hcF9wYWdlcyhzKTsKLSAgICAgICAgaWYg KCByYyApCi0gICAgICAgICAgICBnb3RvIGZhaWxfbWFwOwotICAgIH0KLQogICAgIGZvcl9lYWNo X3ZjcHUgKCBkLCB2ICkKICAgICB7CiAgICAgICAgIHJjID0gaHZtX2lvcmVxX3NlcnZlcl9hZGRf dmNwdShzLCB2KTsKQEAgLTc1Myw3ICs3MTgsNiBAQCBzdGF0aWMgaW50IGh2bV9pb3JlcV9zZXJ2 ZXJfaW5pdChzdHJ1Y3QgaHZtX2lvcmVxX3NlcnZlciAqcywKICAgICBodm1faW9yZXFfc2VydmVy X3JlbW92ZV9hbGxfdmNwdXMocyk7CiAgICAgaHZtX2lvcmVxX3NlcnZlcl91bm1hcF9wYWdlcyhz KTsKIAotIGZhaWxfbWFwOgogICAgIGh2bV9pb3JlcV9zZXJ2ZXJfZnJlZV9yYW5nZXNldHMocyk7 CiAKICAgICBwdXRfZG9tYWluKHMtPmVtdWxhdG9yKTsKQEAgLTc4Miw4ICs3NDYsOCBAQCBzdGF0 aWMgdm9pZCBodm1faW9yZXFfc2VydmVyX2RlaW5pdChzdHJ1Y3QgaHZtX2lvcmVxX3NlcnZlciAq cykKICAgICBwdXRfZG9tYWluKHMtPmVtdWxhdG9yKTsKIH0KIAotaW50IGh2bV9jcmVhdGVfaW9y ZXFfc2VydmVyKHN0cnVjdCBkb21haW4gKmQsIGJvb2wgaXNfZGVmYXVsdCwKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICBpbnQgYnVmaW9yZXFfaGFuZGxpbmcsIGlvc2VydmlkX3QgKmlkKQor aW50IGh2bV9jcmVhdGVfaW9yZXFfc2VydmVyKHN0cnVjdCBkb21haW4gKmQsIGludCBidWZpb3Jl cV9oYW5kbGluZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpb3NlcnZpZF90ICppZCkK IHsKICAgICBzdHJ1Y3QgaHZtX2lvcmVxX3NlcnZlciAqczsKICAgICB1bnNpZ25lZCBpbnQgaTsK QEAgLTc5OSwzMiArNzYzLDE5IEBAIGludCBodm1fY3JlYXRlX2lvcmVxX3NlcnZlcihzdHJ1Y3Qg ZG9tYWluICpkLCBib29sIGlzX2RlZmF1bHQsCiAgICAgZG9tYWluX3BhdXNlKGQpOwogICAgIHNw aW5fbG9ja19yZWN1cnNpdmUoJmQtPmFyY2guaHZtX2RvbWFpbi5pb3JlcV9zZXJ2ZXIubG9jayk7 CiAKLSAgICBpZiAoIGlzX2RlZmF1bHQgKQorICAgIGZvciAoIGkgPSAwOyBpIDwgTUFYX05SX0lP UkVRX1NFUlZFUlM7IGkrKyApCiAgICAgewotICAgICAgICBpID0gREVGQVVMVF9JT1NFUlZJRDsK LQotICAgICAgICByYyA9IC1FRVhJU1Q7Ci0gICAgICAgIGlmICggR0VUX0lPUkVRX1NFUlZFUihk LCBpKSApCi0gICAgICAgICAgICBnb3RvIGZhaWw7CisgICAgICAgIGlmICggIUdFVF9JT1JFUV9T RVJWRVIoZCwgaSkgKQorICAgICAgICAgICAgYnJlYWs7CiAgICAgfQotICAgIGVsc2UKLSAgICB7 Ci0gICAgICAgIGZvciAoIGkgPSAwOyBpIDwgTUFYX05SX0lPUkVRX1NFUlZFUlM7IGkrKyApCi0g ICAgICAgIHsKLSAgICAgICAgICAgIGlmICggaSAhPSBERUZBVUxUX0lPU0VSVklEICYmICFHRVRf SU9SRVFfU0VSVkVSKGQsIGkpICkKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQog Ci0gICAgICAgIHJjID0gLUVOT1NQQzsKLSAgICAgICAgaWYgKCBpID49IE1BWF9OUl9JT1JFUV9T RVJWRVJTICkKLSAgICAgICAgICAgIGdvdG8gZmFpbDsKLSAgICB9CisgICAgcmMgPSAtRU5PU1BD OworICAgIGlmICggaSA+PSBNQVhfTlJfSU9SRVFfU0VSVkVSUyApCisgICAgICAgIGdvdG8gZmFp bDsKIAogICAgIC8qCiAgICAgICogSXQgaXMgc2FmZSB0byBjYWxsIHNldF9pb3JlcV9zZXJ2ZXIo KSBwcmlvciB0bwogICAgICAqIGh2bV9pb3JlcV9zZXJ2ZXJfaW5pdCgpIHNpbmNlIHRoZSB0YXJn ZXQgZG9tYWluIGlzIHBhdXNlZC4KLSAgICAgKiBJdCBpcyBuZWNlc3NhcnkgZm9yIHRoZSBjYWxs cyB0byBiZSBvcmRlcmVkIHRodXMgb3RoZXJ3aXNlCi0gICAgICogdGhlIElTX0RFRkFVTFQoKSBt YWNybyB3b3VsZCBub3QgZXZhbHVhdGUgY29ycmVjdGx5LgogICAgICAqLwogICAgIHNldF9pb3Jl cV9zZXJ2ZXIoZCwgaSwgcyk7CiAKQEAgLTgzNSw5ICs3ODYsNiBAQCBpbnQgaHZtX2NyZWF0ZV9p b3JlcV9zZXJ2ZXIoc3RydWN0IGRvbWFpbiAqZCwgYm9vbCBpc19kZWZhdWx0LAogICAgICAgICBn b3RvIGZhaWw7CiAgICAgfQogCi0gICAgaWYgKCBpID09IERFRkFVTFRfSU9TRVJWSUQgKQotICAg ICAgICBodm1faW9yZXFfc2VydmVyX2VuYWJsZShzKTsKLQogICAgIGlmICggaWQgKQogICAgICAg ICAqaWQgPSBpOwogCkBAIC04NTksOSArODA3LDYgQEAgaW50IGh2bV9kZXN0cm95X2lvcmVxX3Nl cnZlcihzdHJ1Y3QgZG9tYWluICpkLCBpb3NlcnZpZF90IGlkKQogICAgIHN0cnVjdCBodm1faW9y ZXFfc2VydmVyICpzOwogICAgIGludCByYzsKIAotICAgIGlmICggaWQgPT0gREVGQVVMVF9JT1NF UlZJRCApCi0gICAgICAgIHJldHVybiAtRVBFUk07Ci0KICAgICBzcGluX2xvY2tfcmVjdXJzaXZl KCZkLT5hcmNoLmh2bV9kb21haW4uaW9yZXFfc2VydmVyLmxvY2spOwogCiAgICAgcyA9IGdldF9p b3JlcV9zZXJ2ZXIoZCwgaWQpOwpAQCAtODcwLDggKzgxNSw2IEBAIGludCBodm1fZGVzdHJveV9p b3JlcV9zZXJ2ZXIoc3RydWN0IGRvbWFpbiAqZCwgaW9zZXJ2aWRfdCBpZCkKICAgICBpZiAoICFz ICkKICAgICAgICAgZ290byBvdXQ7CiAKLSAgICBBU1NFUlQoIUlTX0RFRkFVTFQocykpOwotCiAg ICAgcmMgPSAtRVBFUk07CiAgICAgaWYgKCBzLT5lbXVsYXRvciAhPSBjdXJyZW50LT5kb21haW4g KQogICAgICAgICBnb3RvIG91dDsKQEAgLTg4NCw5ICs4MjcsNyBAQCBpbnQgaHZtX2Rlc3Ryb3lf aW9yZXFfc2VydmVyKHN0cnVjdCBkb21haW4gKmQsIGlvc2VydmlkX3QgaWQpCiAKICAgICAvKgog ICAgICAqIEl0IGlzIHNhZmUgdG8gY2FsbCBodm1faW9yZXFfc2VydmVyX2RlaW5pdCgpIHByaW9y IHRvCi0gICAgICogc2V0X2lvcmVxX3NlcnZlcigpIHNpbmNlIHRoZSB0YXJnZXQgZG9tYWluIGlz IHBhdXNlZC4gSXQgaXMKLSAgICAgKiBuZWNlc3NhcnkgZm9yIHRoZSBjYWxscyB0byBiZSBvcmRl cmVkIHRodXMgb3RoZXJ3aXNlIHRoZQotICAgICAqIElTX0RFRkFVTFQoKSBtYWNybyB3b3VsZCBu b3QgZXZhbHVhdGUgY29ycmVjdGx5LgorICAgICAqIHNldF9pb3JlcV9zZXJ2ZXIoKSBzaW5jZSB0 aGUgdGFyZ2V0IGRvbWFpbiBpcyBwYXVzZWQuCiAgICAgICovCiAgICAgaHZtX2lvcmVxX3NlcnZl cl9kZWluaXQocyk7CiAgICAgc2V0X2lvcmVxX3NlcnZlcihkLCBpZCwgTlVMTCk7CkBAIC05MTEs OSArODUyLDYgQEAgaW50IGh2bV9nZXRfaW9yZXFfc2VydmVyX2luZm8oc3RydWN0IGRvbWFpbiAq ZCwgaW9zZXJ2aWRfdCBpZCwKICAgICBzdHJ1Y3QgaHZtX2lvcmVxX3NlcnZlciAqczsKICAgICBp bnQgcmM7CiAKLSAgICBpZiAoIGlkID09IERFRkFVTFRfSU9TRVJWSUQgKQotICAgICAgICByZXR1 cm4gLUVPUE5PVFNVUFA7Ci0KICAgICBzcGluX2xvY2tfcmVjdXJzaXZlKCZkLT5hcmNoLmh2bV9k b21haW4uaW9yZXFfc2VydmVyLmxvY2spOwogCiAgICAgcyA9IGdldF9pb3JlcV9zZXJ2ZXIoZCwg aWQpOwpAQCAtOTIyLDggKzg2MCw2IEBAIGludCBodm1fZ2V0X2lvcmVxX3NlcnZlcl9pbmZvKHN0 cnVjdCBkb21haW4gKmQsIGlvc2VydmlkX3QgaWQsCiAgICAgaWYgKCAhcyApCiAgICAgICAgIGdv dG8gb3V0OwogCi0gICAgQVNTRVJUKCFJU19ERUZBVUxUKHMpKTsKLQogICAgIHJjID0gLUVQRVJN OwogICAgIGlmICggcy0+ZW11bGF0b3IgIT0gY3VycmVudC0+ZG9tYWluICkKICAgICAgICAgZ290 byBvdXQ7CkBAIC05NjEsOSArODk3LDYgQEAgaW50IGh2bV9nZXRfaW9yZXFfc2VydmVyX2ZyYW1l KHN0cnVjdCBkb21haW4gKmQsIGlvc2VydmlkX3QgaWQsCiAgICAgc3RydWN0IGh2bV9pb3JlcV9z ZXJ2ZXIgKnM7CiAgICAgaW50IHJjOwogCi0gICAgaWYgKCBpZCA9PSBERUZBVUxUX0lPU0VSVklE ICkKLSAgICAgICAgcmV0dXJuIC1FT1BOT1RTVVBQOwotCiAgICAgaWYgKCAhaXNfaHZtX2RvbWFp bihkKSApCiAgICAgICAgIHJldHVybiAtRUlOVkFMOwogCkBAIC05NzUsOCArOTA4LDYgQEAgaW50 IGh2bV9nZXRfaW9yZXFfc2VydmVyX2ZyYW1lKHN0cnVjdCBkb21haW4gKmQsIGlvc2VydmlkX3Qg aWQsCiAgICAgaWYgKCAhcyApCiAgICAgICAgIGdvdG8gb3V0OwogCi0gICAgQVNTRVJUKCFJU19E RUZBVUxUKHMpKTsKLQogICAgIHJjID0gLUVQRVJNOwogICAgIGlmICggcy0+ZW11bGF0b3IgIT0g Y3VycmVudC0+ZG9tYWluICkKICAgICAgICAgZ290byBvdXQ7CkBAIC0xMDIzLDkgKzk1NCw2IEBA IGludCBodm1fbWFwX2lvX3JhbmdlX3RvX2lvcmVxX3NlcnZlcihzdHJ1Y3QgZG9tYWluICpkLCBp b3NlcnZpZF90IGlkLAogICAgIGlmICggc3RhcnQgPiBlbmQgKQogICAgICAgICByZXR1cm4gLUVJ TlZBTDsKIAotICAgIGlmICggaWQgPT0gREVGQVVMVF9JT1NFUlZJRCApCi0gICAgICAgIHJldHVy biAtRU9QTk9UU1VQUDsKLQogICAgIHNwaW5fbG9ja19yZWN1cnNpdmUoJmQtPmFyY2guaHZtX2Rv bWFpbi5pb3JlcV9zZXJ2ZXIubG9jayk7CiAKICAgICBzID0gZ2V0X2lvcmVxX3NlcnZlcihkLCBp ZCk7CkBAIC0xMDM0LDggKzk2Miw2IEBAIGludCBodm1fbWFwX2lvX3JhbmdlX3RvX2lvcmVxX3Nl cnZlcihzdHJ1Y3QgZG9tYWluICpkLCBpb3NlcnZpZF90IGlkLAogICAgIGlmICggIXMgKQogICAg ICAgICBnb3RvIG91dDsKIAotICAgIEFTU0VSVCghSVNfREVGQVVMVChzKSk7Ci0KICAgICByYyA9 IC1FUEVSTTsKICAgICBpZiAoIHMtPmVtdWxhdG9yICE9IGN1cnJlbnQtPmRvbWFpbiApCiAgICAg ICAgIGdvdG8gb3V0OwpAQCAtMTA4MCw5ICsxMDA2LDYgQEAgaW50IGh2bV91bm1hcF9pb19yYW5n ZV9mcm9tX2lvcmVxX3NlcnZlcihzdHJ1Y3QgZG9tYWluICpkLCBpb3NlcnZpZF90IGlkLAogICAg IGlmICggc3RhcnQgPiBlbmQgKQogICAgICAgICByZXR1cm4gLUVJTlZBTDsKIAotICAgIGlmICgg aWQgPT0gREVGQVVMVF9JT1NFUlZJRCApCi0gICAgICAgIHJldHVybiAtRU9QTk9UU1VQUDsKLQog ICAgIHNwaW5fbG9ja19yZWN1cnNpdmUoJmQtPmFyY2guaHZtX2RvbWFpbi5pb3JlcV9zZXJ2ZXIu bG9jayk7CiAKICAgICBzID0gZ2V0X2lvcmVxX3NlcnZlcihkLCBpZCk7CkBAIC0xMDkxLDggKzEw MTQsNiBAQCBpbnQgaHZtX3VubWFwX2lvX3JhbmdlX2Zyb21faW9yZXFfc2VydmVyKHN0cnVjdCBk b21haW4gKmQsIGlvc2VydmlkX3QgaWQsCiAgICAgaWYgKCAhcyApCiAgICAgICAgIGdvdG8gb3V0 OwogCi0gICAgQVNTRVJUKCFJU19ERUZBVUxUKHMpKTsKLQogICAgIHJjID0gLUVQRVJNOwogICAg IGlmICggcy0+ZW11bGF0b3IgIT0gY3VycmVudC0+ZG9tYWluICkKICAgICAgICAgZ290byBvdXQ7 CkBAIC0xMTQwLDkgKzEwNjEsNiBAQCBpbnQgaHZtX21hcF9tZW1fdHlwZV90b19pb3JlcV9zZXJ2 ZXIoc3RydWN0IGRvbWFpbiAqZCwgaW9zZXJ2aWRfdCBpZCwKICAgICBzdHJ1Y3QgaHZtX2lvcmVx X3NlcnZlciAqczsKICAgICBpbnQgcmM7CiAKLSAgICBpZiAoIGlkID09IERFRkFVTFRfSU9TRVJW SUQgKQotICAgICAgICByZXR1cm4gLUVPUE5PVFNVUFA7Ci0KICAgICBpZiAoIHR5cGUgIT0gSFZN TUVNX2lvcmVxX3NlcnZlciApCiAgICAgICAgIHJldHVybiAtRUlOVkFMOwogCkBAIC0xMTU3LDgg KzEwNzUsNiBAQCBpbnQgaHZtX21hcF9tZW1fdHlwZV90b19pb3JlcV9zZXJ2ZXIoc3RydWN0IGRv bWFpbiAqZCwgaW9zZXJ2aWRfdCBpZCwKICAgICBpZiAoICFzICkKICAgICAgICAgZ290byBvdXQ7 CiAKLSAgICBBU1NFUlQoIUlTX0RFRkFVTFQocykpOwotCiAgICAgcmMgPSAtRVBFUk07CiAgICAg aWYgKCBzLT5lbXVsYXRvciAhPSBjdXJyZW50LT5kb21haW4gKQogICAgICAgICBnb3RvIG91dDsK QEAgLTExODUsOSArMTEwMSw2IEBAIGludCBodm1fc2V0X2lvcmVxX3NlcnZlcl9zdGF0ZShzdHJ1 Y3QgZG9tYWluICpkLCBpb3NlcnZpZF90IGlkLAogICAgIHN0cnVjdCBodm1faW9yZXFfc2VydmVy ICpzOwogICAgIGludCByYzsKIAotICAgIGlmICggaWQgPT0gREVGQVVMVF9JT1NFUlZJRCApCi0g ICAgICAgIHJldHVybiAtRU9QTk9UU1VQUDsKLQogICAgIHNwaW5fbG9ja19yZWN1cnNpdmUoJmQt PmFyY2guaHZtX2RvbWFpbi5pb3JlcV9zZXJ2ZXIubG9jayk7CiAKICAgICBzID0gZ2V0X2lvcmVx X3NlcnZlcihkLCBpZCk7CkBAIC0xMTk2LDggKzExMDksNiBAQCBpbnQgaHZtX3NldF9pb3JlcV9z ZXJ2ZXJfc3RhdGUoc3RydWN0IGRvbWFpbiAqZCwgaW9zZXJ2aWRfdCBpZCwKICAgICBpZiAoICFz ICkKICAgICAgICAgZ290byBvdXQ7CiAKLSAgICBBU1NFUlQoIUlTX0RFRkFVTFQocykpOwotCiAg ICAgcmMgPSAtRVBFUk07CiAgICAgaWYgKCBzLT5lbXVsYXRvciAhPSBjdXJyZW50LT5kb21haW4g KQogICAgICAgICBnb3RvIG91dDsKQEAgLTEyODIsOCArMTE5Myw2IEBAIHZvaWQgaHZtX2Rlc3Ry b3lfYWxsX2lvcmVxX3NlcnZlcnMoc3RydWN0IGRvbWFpbiAqZCkKICAgICAgICAgLyoKICAgICAg ICAgICogSXQgaXMgc2FmZSB0byBjYWxsIGh2bV9pb3JlcV9zZXJ2ZXJfZGVpbml0KCkgcHJpb3Ig dG8KICAgICAgICAgICogc2V0X2lvcmVxX3NlcnZlcigpIHNpbmNlIHRoZSB0YXJnZXQgZG9tYWlu IGlzIGJlaW5nIGRlc3Ryb3llZC4KLSAgICAgICAgICogSXQgaXMgbmVjZXNzYXJ5IGZvciB0aGUg Y2FsbHMgdG8gYmUgb3JkZXJlZCB0aHVzIG90aGVyd2lzZSB0aGUKLSAgICAgICAgICogSVNfREVG QVVMVCgpIG1hY3JvIHdvdWxkIG5vdCBldmFsdWF0ZSBjb3JyZWN0bHkuCiAgICAgICAgICAqLwog ICAgICAgICBodm1faW9yZXFfc2VydmVyX2RlaW5pdChzKTsKICAgICAgICAgc2V0X2lvcmVxX3Nl cnZlcihkLCBpZCwgTlVMTCk7CkBAIC0xMzA0LDcgKzEyMTMsNyBAQCBzdHJ1Y3QgaHZtX2lvcmVx X3NlcnZlciAqaHZtX3NlbGVjdF9pb3JlcV9zZXJ2ZXIoc3RydWN0IGRvbWFpbiAqZCwKICAgICB1 bnNpZ25lZCBpbnQgaWQ7CiAKICAgICBpZiAoIHAtPnR5cGUgIT0gSU9SRVFfVFlQRV9DT1BZICYm IHAtPnR5cGUgIT0gSU9SRVFfVFlQRV9QSU8gKQotICAgICAgICByZXR1cm4gR0VUX0lPUkVRX1NF UlZFUihkLCBERUZBVUxUX0lPU0VSVklEKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CiAKICAgICBj ZjggPSBkLT5hcmNoLmh2bV9kb21haW4ucGNpX2NmODsKIApAQCAtMTM0Niw3ICsxMjU1LDcgQEAg c3RydWN0IGh2bV9pb3JlcV9zZXJ2ZXIgKmh2bV9zZWxlY3RfaW9yZXFfc2VydmVyKHN0cnVjdCBk b21haW4gKmQsCiAgICAgewogICAgICAgICBzdHJ1Y3QgcmFuZ2VzZXQgKnI7CiAKLSAgICAgICAg aWYgKCBJU19ERUZBVUxUKHMpIHx8ICFzLT5lbmFibGVkICkKKyAgICAgICAgaWYgKCAhcy0+ZW5h YmxlZCApCiAgICAgICAgICAgICBjb250aW51ZTsKIAogICAgICAgICByID0gcy0+cmFuZ2VbdHlw ZV07CkBAIC0xMzc5LDcgKzEyODgsNyBAQCBzdHJ1Y3QgaHZtX2lvcmVxX3NlcnZlciAqaHZtX3Nl bGVjdF9pb3JlcV9zZXJ2ZXIoc3RydWN0IGRvbWFpbiAqZCwKICAgICAgICAgfQogICAgIH0KIAot ICAgIHJldHVybiBHRVRfSU9SRVFfU0VSVkVSKGQsIERFRkFVTFRfSU9TRVJWSUQpOworICAgIHJl dHVybiBOVUxMOwogfQogCiBzdGF0aWMgaW50IGh2bV9zZW5kX2J1ZmZlcmVkX2lvcmVxKHN0cnVj dCBodm1faW9yZXFfc2VydmVyICpzLCBpb3JlcV90ICpwKQpkaWZmIC0tZ2l0IGEveGVuL2luY2x1 ZGUvYXNtLXg4Ni9odm0vZG9tYWluLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9kb21haW4u aAppbmRleCA1ODg1OTUwNTlkLi4yMzk4ODU4NDQyIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9h c20teDg2L2h2bS9kb21haW4uaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9kb21haW4u aApAQCAtOTcsNyArOTcsNiBAQCBzdHJ1Y3QgaHZtX3BpX29wcyB7CiB9OwogCiAjZGVmaW5lIE1B WF9OUl9JT1JFUV9TRVJWRVJTIDgKLSNkZWZpbmUgREVGQVVMVF9JT1NFUlZJRCAwCiAKIHN0cnVj dCBodm1fZG9tYWluIHsKICAgICAvKiBHdWVzdCBwYWdlIHJhbmdlIHVzZWQgZm9yIG5vbi1kZWZh dWx0IGlvcmVxIHNlcnZlcnMgKi8KZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZt L2lvcmVxLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9pb3JlcS5oCmluZGV4IGJhYjQ3M2Nm NDQuLmUyNTg4ZTkxMmYgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL2lvcmVx LmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vaW9yZXEuaApAQCAtMjMsOCArMjMsOCBA QCBib29sIGh2bV9pb19wZW5kaW5nKHN0cnVjdCB2Y3B1ICp2KTsKIGJvb2wgaGFuZGxlX2h2bV9p b19jb21wbGV0aW9uKHN0cnVjdCB2Y3B1ICp2KTsKIGJvb2wgaXNfaW9yZXFfc2VydmVyX3BhZ2Uo c3RydWN0IGRvbWFpbiAqZCwgY29uc3Qgc3RydWN0IHBhZ2VfaW5mbyAqcGFnZSk7CiAKLWludCBo dm1fY3JlYXRlX2lvcmVxX3NlcnZlcihzdHJ1Y3QgZG9tYWluICpkLCBib29sIGlzX2RlZmF1bHQs Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGJ1ZmlvcmVxX2hhbmRsaW5nLCBpb3Nl cnZpZF90ICppZCk7CitpbnQgaHZtX2NyZWF0ZV9pb3JlcV9zZXJ2ZXIoc3RydWN0IGRvbWFpbiAq ZCwgaW50IGJ1ZmlvcmVxX2hhbmRsaW5nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlv c2VydmlkX3QgKmlkKTsKIGludCBodm1fZGVzdHJveV9pb3JlcV9zZXJ2ZXIoc3RydWN0IGRvbWFp biAqZCwgaW9zZXJ2aWRfdCBpZCk7CiBpbnQgaHZtX2dldF9pb3JlcV9zZXJ2ZXJfaW5mbyhzdHJ1 Y3QgZG9tYWluICpkLCBpb3NlcnZpZF90IGlkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgdW5zaWduZWQgbG9uZyAqaW9yZXFfZ2ZuLApkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvcHVi bGljL2h2bS9wYXJhbXMuaCBiL3hlbi9pbmNsdWRlL3B1YmxpYy9odm0vcGFyYW1zLmgKaW5kZXgg Mzk2OTc3YzJiYi4uZDBhZTU4ZjY4MyAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvcHVibGljL2h2 bS9wYXJhbXMuaAorKysgYi94ZW4vaW5jbHVkZS9wdWJsaWMvaHZtL3BhcmFtcy5oCkBAIC04MSw5 ICs4MSwxMiBAQAogI2RlZmluZSBIVk1fUEFSQU1fUEFFX0VOQUJMRUQgIDQKIAogI2RlZmluZSBI Vk1fUEFSQU1fSU9SRVFfUEZOICAgIDUKLQogI2RlZmluZSBIVk1fUEFSQU1fQlVGSU9SRVFfUEZO IDYKKworI2lmZGVmIF9fWEVOX18KKy8qIFRoaXMgcGFyYW1ldGVyIGlzIGRlcHJlY2F0ZWQgYW5k IGl0cyBtZWFuaW5nIGlzIHVuZGVmaW5lZCAqLwogI2RlZmluZSBIVk1fUEFSQU1fQlVGSU9SRVFf RVZUQ0hOIDI2CisjZW5kaWYKIAogI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194 ODZfNjRfXykKIAotLSAKMi4xMS4wCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVu cHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZv L3hlbi1kZXZlbA==