From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: [PATCH v4] x86/hvm: remove default ioreq server (again) Date: Mon, 3 Sep 2018 17:46:27 +0100 Message-ID: <20180903164627.33226-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 1fws0H-0004Yh-HQ for xen-devel@lists.xenproject.org; Mon, 03 Sep 2018 16:47:05 +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: Andrew Cooper , Paul Durrant , Jan Beulich List-Id: xen-devel@lists.xenproject.org TXkgcmVjZW50IHBhdGNoIFsxXSB0byBxZW11LXhlbi10cmFkaXRpb25hbCByZW1vdmVzIHRoZSBs YXN0IHVzZSBvZiB0aGUKJ2RlZmF1bHQnIGlvcmVxIHNlcnZlciBpbiBYZW4uIChUaGlzIGlzIGEg Y2F0Y2gtYWxsIGlvcmVxIHNlcnZlciB0aGF0IGlzCnVzZWQgaWYgbm8gZXhwbGljaXRseSByZWdp c3RlcmVkIEkvTyByYW5nZSBpcyB0YXJnZXR0ZWQpLgoKVGhpcyBwYXRjaCBjYW4gYmUgYXBwbGll ZCBvbmNlIHRoYXQgcGF0Y2ggaXMgY29tbWl0dGVkLCB0byByZW1vdmUgdGhlCig+MTAwIGxpbmVz IG9mKSByZWR1bmRhbnQgY29kZSBpbiBYZW4uCgpUaGUgcHJldmlvdXMgdmVyc2lvbiBvZiB0aGlz IHBhdGNoIGNhdXNlZCBhIFFFTVUgYnVpbGQgZmFpbHVyZS4gVGhpcyBoYXMKYmVlbiBmaXhlZCBi eSBleHRlbmRpbmcgdGhlICNpZmRlZiBhcm91bmQgZGVwcmVjYXRlZCBIVk1fUEFSQU0gZGVjbGFy YXRpb25zCnRvIF9fWEVOX1RPT0xTX18gYXMgd2VsbCBhcyBfX1hFTl9fLgoKTk9URTogVGhlIHJl bW92YWwgb2YgdGhlIHNwZWNpYWwgY2FzZSBmb3IgSFZNX1BBUkFNX0RNX0RPTUFJTiBpbgogICAg ICBodm1fYWxsb3dfc2V0X3BhcmFtKCkgaXMgbm90IGRpcmVjdGx5IHJlbGF0ZWQgdG8gcmVtb3Zh bCBvZgogICAgICBkZWZhdWx0IGlvcmVxIHNlcnZlcnMuIEl0IGNvdWxkIGhhdmUgYmVlbiBjbGVh bmVkIHVwIGF0IGFueSB0aW1lCiAgICAgIGFmdGVyIGNvbW1pdCA5YTQyMmMwMyAieDg2L2h2bTog c3RvcCBwYXNzaW5nIGV4cGxpY2l0IGRvbWlkIHRvCiAgICAgIGh2bV9jcmVhdGVfaW9yZXFfc2Vy dmVyKCkiLiBJdCBpcyBub3cgYWRkZWQgdG8gdGhlIG5ldwogICAgICBkZXByZWNhdGVkIHNldHMg aW50cm9kdWNlZCBieSB0aGlzIHBhdGNoLgoKWzFdIGh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5v cmcvYXJjaGl2ZXMvaHRtbC94ZW4tZGV2ZWwvMjAxOC0wOC9tc2cwMDI3MC5odG1sCgpTaWduZWQt b2ZmLWJ5OiBQYXVsIER1cnJhbnQgPHBhdWwuZHVycmFudEBjaXRyaXguY29tPgotLS0KQ2M6IEFu ZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+CkNjOiBKYW4gQmV1bGljaCA8 amJldWxpY2hAc3VzZS5jb20+Cgp2NDoKIC0gUmUtYmFzZS4KIC0gUHVsbCBkZXByZWNhdGVkIHBh cmFtcyB1cCB0byB0aGUgdG9wIG9mIHRoZSBoZWFkZXIuCiAtIEZpeCBidWlsZCBmYWlsdXJlIGFu ZCBleHRlbmQgY29tbWl0IGNvbW1lbnQgbm90aW5nIHRoaXMuCiAtIERyb3AgQW5kcmV3J3MgQS1i IGR1ZSB0byByZS13b3JrLgoKdjM6CiAtIEFkZCBIVk1fUEFSQU1fRE1fRE9NQUlOIHRvIGRlcHJl Y2F0ZWQgc2V0cyBhbmQgI2lmZGVmIGluIHBhcmFtcy5oLgoKdjI6CiAtIERpc2FsbG93IHJlYWRz IG9yIHdyaXRlcyBvZiBIVk1fUEFSQU1fQlVGSU9SRVFfRVZUQ0hOIGFuZCBtYXJrIGl0IGFzCiAg ICBkZXByZWNhdGVkIGluIHRoZSBoZWFkZXIuCiAgICAgLSBVcGRhdGVkIGNvbW1pdCBjb21tZW50 IHcuci50LiBIVk1fUEFSQU1fRE1fRE9NQUlOIGNoYW5nZS4KLS0tCiB4ZW4vYXJjaC94ODYvaHZt L2RtLmMgICAgICAgICAgICB8ICAgMiArLQogeGVuL2FyY2gveDg2L2h2bS9odm0uYyAgICAgICAg ICAgfCAgMzggKysrLS0tLS0tLS0tCiB4ZW4vYXJjaC94ODYvaHZtL2lvcmVxLmMgICAgICAgICB8 IDEyMiArKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIHhlbi9pbmNsdWRl L2FzbS14ODYvaHZtL2RvbWFpbi5oIHwgICAxIC0KIHhlbi9pbmNsdWRlL2FzbS14ODYvaHZtL2lv cmVxLmggIHwgICA0ICstCiB4ZW4vaW5jbHVkZS9wdWJsaWMvaHZtL3BhcmFtcy5oICB8ICAxMiAr Ky0tCiA2IGZpbGVzIGNoYW5nZWQsIDM2IGluc2VydGlvbnMoKyksIDE0MyBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvaHZtL2RtLmMgYi94ZW4vYXJjaC94ODYvaHZtL2Rt LmMKaW5kZXggODdkOTdkMDU1Zi4uYmEzOWU0ZjRmOSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2 L2h2bS9kbS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vZG0uYwpAQCAtNDExLDcgKzQxMSw3IEBA IHN0YXRpYyBpbnQgZG1fb3AoY29uc3Qgc3RydWN0IGRtb3BfYXJncyAqb3BfYXJncykKICAgICAg ICAgaWYgKCBkYXRhLT5wYWRbMF0gfHwgZGF0YS0+cGFkWzFdIHx8IGRhdGEtPnBhZFsyXSApCiAg ICAgICAgICAgICBicmVhazsKIAotICAgICAgICByYyA9IGh2bV9jcmVhdGVfaW9yZXFfc2VydmVy KGQsIGZhbHNlLCBkYXRhLT5oYW5kbGVfYnVmaW9yZXEsCisgICAgICAgIHJjID0gaHZtX2NyZWF0 ZV9pb3JlcV9zZXJ2ZXIoZCwgZGF0YS0+aGFuZGxlX2J1ZmlvcmVxLAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICZkYXRhLT5pZCk7CiAgICAgICAgIGJyZWFrOwogICAgIH0K ZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMgYi94ZW4vYXJjaC94ODYvaHZtL2h2 bS5jCmluZGV4IGFjMDY3YThkMzguLjY0MzczY2VkMjAgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4 Ni9odm0vaHZtLmMKKysrIGIveGVuL2FyY2gveDg2L2h2bS9odm0uYwpAQCAtNDA4NCwxMiArNDA4 NCwxNiBAQCBzdGF0aWMgaW50IGh2bV9hbGxvd19zZXRfcGFyYW0oc3RydWN0IGRvbWFpbiAqZCwK ICAgICBjYXNlIEhWTV9QQVJBTV9DT05TT0xFX0VWVENITjoKICAgICBjYXNlIEhWTV9QQVJBTV9Y ODdfRklQX1dJRFRIOgogICAgICAgICBicmVhazsKKyAgICAvKiBUaGUgZm9sbG93aW5nIHBhcmFt ZXRlcnMgYXJlIGRlcHJlY2F0ZWQuICovCisgICAgY2FzZSBIVk1fUEFSQU1fRE1fRE9NQUlOOgor ICAgIGNhc2UgSFZNX1BBUkFNX0JVRklPUkVRX0VWVENITjoKKyAgICAgICAgcmMgPSAtRVBFUk07 CisgICAgICAgIGJyZWFrOwogICAgIC8qCiAgICAgICogVGhlIGZvbGxvd2luZyBwYXJhbWV0ZXJz IG11c3Qgbm90IGJlIHNldCBieSB0aGUgZ3Vlc3QKICAgICAgKiBzaW5jZSB0aGUgZG9tYWluIG1h eSBuZWVkIHRvIGJlIHBhdXNlZC4KICAgICAgKi8KICAgICBjYXNlIEhWTV9QQVJBTV9JREVOVF9Q VDoKLSAgICBjYXNlIEhWTV9QQVJBTV9ETV9ET01BSU46CiAgICAgY2FzZSBIVk1fUEFSQU1fQUNQ SV9TX1NUQVRFOgogICAgIC8qIFRoZSByZW1haW5pbmcgcGFyYW1ldGVycyBzaG91bGQgbm90IGJl IHNldCBieSB0aGUgZ3Vlc3QuICovCiAgICAgZGVmYXVsdDoKQEAgLTQyNTQsOSArNDI1OCw2IEBA IHN0YXRpYyBpbnQgaHZtb3Bfc2V0X3BhcmFtKAogICAgICAgICAgICAgIGQtPmFyY2guaHZtLnBh cmFtc1tIVk1fUEFSQU1fTkVTVEVESFZNXSApCiAgICAgICAgICAgICByYyA9IC1FSU5WQUw7CiAg ICAgICAgIGJyZWFrOwotICAgIGNhc2UgSFZNX1BBUkFNX0JVRklPUkVRX0VWVENITjoKLSAgICAg ICAgcmMgPSAtRUlOVkFMOwotICAgICAgICBicmVhazsKICAgICBjYXNlIEhWTV9QQVJBTV9UUklQ TEVfRkFVTFRfUkVBU09OOgogICAgICAgICBpZiAoIGEudmFsdWUgPiBTSFVURE9XTl9NQVggKQog ICAgICAgICAgICAgcmMgPSAtRUlOVkFMOwpAQCAtNDM2NCwxMyArNDM2NSwxMSBAQCBzdGF0aWMg aW50IGh2bV9hbGxvd19nZXRfcGFyYW0oc3RydWN0IGRvbWFpbiAqZCwKICAgICBjYXNlIEhWTV9Q QVJBTV9BTFRQMk06CiAgICAgY2FzZSBIVk1fUEFSQU1fWDg3X0ZJUF9XSURUSDoKICAgICAgICAg YnJlYWs7Ci0gICAgLyoKLSAgICAgKiBUaGUgZm9sbG93aW5nIHBhcmFtZXRlcnMgbXVzdCBub3Qg YmUgcmVhZCBieSB0aGUgZ3Vlc3QKLSAgICAgKiBzaW5jZSB0aGUgZG9tYWluIG1heSBuZWVkIHRv IGJlIHBhdXNlZC4KLSAgICAgKi8KLSAgICBjYXNlIEhWTV9QQVJBTV9JT1JFUV9QRk46Ci0gICAg Y2FzZSBIVk1fUEFSQU1fQlVGSU9SRVFfUEZOOgorICAgIC8qIFRoZSBmb2xsb3dpbmcgcGFyYW1l dGVycyBhcmUgZGVwcmVjYXRlZC4gKi8KKyAgICBjYXNlIEhWTV9QQVJBTV9ETV9ET01BSU46CiAg ICAgY2FzZSBIVk1fUEFSQU1fQlVGSU9SRVFfRVZUQ0hOOgorICAgICAgICByYyA9IC1FTk9EQVRB OworICAgICAgICBicmVhazsKICAgICAvKiBUaGUgcmVtYWluaW5nIHBhcmFtZXRlcnMgc2hvdWxk IG5vdCBiZSByZWFkIGJ5IHRoZSBndWVzdC4gKi8KICAgICBkZWZhdWx0OgogICAgICAgICBpZiAo IGQgPT0gY3VycmVudC0+ZG9tYWluICkKQEAgLTQ0MjQsMjUgKzQ0MjMsNiBAQCBzdGF0aWMgaW50 IGh2bW9wX2dldF9wYXJhbSgKICAgICBjYXNlIEhWTV9QQVJBTV9YODdfRklQX1dJRFRIOgogICAg ICAgICBhLnZhbHVlID0gZC0+YXJjaC54ODdfZmlwX3dpZHRoOwogICAgICAgICBicmVhazsKLSAg ICBjYXNlIEhWTV9QQVJBTV9JT1JFUV9QRk46Ci0gICAgY2FzZSBIVk1fUEFSQU1fQlVGSU9SRVFf UEZOOgotICAgIGNhc2UgSFZNX1BBUkFNX0JVRklPUkVRX0VWVENITjoKLSAgICAgICAgLyoKLSAg ICAgICAgICogSXQgbWF5IGJlIG5lY2Vzc2FyeSB0byBjcmVhdGUgYSBkZWZhdWx0IGlvcmVxIHNl cnZlciBoZXJlLAotICAgICAgICAgKiBiZWNhdXNlIGxlZ2FjeSB2ZXJzaW9ucyBvZiBRRU1VIGFy ZSBub3QgYXdhcmUgb2YgdGhlIG5ldyBBUEkgZm9yCi0gICAgICAgICAqIGV4cGxpY2l0IGlvcmVx IHNlcnZlciBjcmVhdGlvbi4gSG93ZXZlciwgaWYgdGhlIGRvbWFpbiBpcyBub3QKLSAgICAgICAg ICogdW5kZXIgY29uc3RydWN0aW9uIHRoZW4gaXQgd2lsbCBub3QgYmUgUUVNVSBxdWVyeWluZyB0 aGUKLSAgICAgICAgICogcGFyYW1ldGVycyBhbmQgdGh1cyB0aGUgcXVlcnkgc2hvdWxkIG5vdCBo YXZlIHRoYXQgc2lkZS1lZmZlY3QuCi0gICAgICAgICAqLwotICAgICAgICBpZiAoICFkLT5jcmVh dGlvbl9maW5pc2hlZCApCi0gICAgICAgIHsKLSAgICAgICAgICAgIHJjID0gaHZtX2NyZWF0ZV9p b3JlcV9zZXJ2ZXIoZCwgdHJ1ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgSFZNX0lPUkVRU1JWX0JVRklPUkVRX0xFR0FDWSwgTlVMTCk7Ci0gICAgICAgICAgICBp ZiAoIHJjICE9IDAgJiYgcmMgIT0gLUVFWElTVCApCi0gICAgICAgICAgICAgICAgZ290byBvdXQ7 Ci0gICAgICAgIH0KLQotICAgIC8qRkFMTFRIUlUqLwogICAgIGRlZmF1bHQ6CiAgICAgICAgIGEu dmFsdWUgPSBkLT5hcmNoLmh2bS5wYXJhbXNbYS5pbmRleF07CiAgICAgICAgIGJyZWFrOwpkaWZm IC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2bS9pb3JlcS5jIGIveGVuL2FyY2gveDg2L2h2bS9pb3Jl cS5jCmluZGV4IDEzOGVkNjk3Y2QuLmIzZTFhM2EzNmYgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4 Ni9odm0vaW9yZXEuYworKysgYi94ZW4vYXJjaC94ODYvaHZtL2lvcmVxLmMKQEAgLTU1LDkgKzU1 LDYgQEAgc3RhdGljIHN0cnVjdCBodm1faW9yZXFfc2VydmVyICpnZXRfaW9yZXFfc2VydmVyKGNv bnN0IHN0cnVjdCBkb21haW4gKmQsCiAgICAgcmV0dXJuIEdFVF9JT1JFUV9TRVJWRVIoZCwgaWQp OwogfQogCi0jZGVmaW5lIElTX0RFRkFVTFQocykgXAotICAgICgocykgJiYgKHMpID09IEdFVF9J T1JFUV9TRVJWRVIoKHMpLT50YXJnZXQsIERFRkFVTFRfSU9TRVJWSUQpKQotCiAvKgogICogSXRl cmF0ZSBvdmVyIGFsbCBwb3NzaWJsZSBpb3JlcSBzZXJ2ZXJzLgogICoKQEAgLTI0NSw4ICsyNDIs NiBAQCBzdGF0aWMgZ2ZuX3QgaHZtX2FsbG9jX2lvcmVxX2dmbihzdHJ1Y3QgaHZtX2lvcmVxX3Nl cnZlciAqcykKICAgICBzdHJ1Y3QgZG9tYWluICpkID0gcy0+dGFyZ2V0OwogICAgIHVuc2lnbmVk IGludCBpOwogCi0gICAgQVNTRVJUKCFJU19ERUZBVUxUKHMpKTsKLQogICAgIGZvciAoIGkgPSAw OyBpIDwgc2l6ZW9mKGQtPmFyY2guaHZtLmlvcmVxX2dmbi5tYXNrKSAqIDg7IGkrKyApCiAgICAg ewogICAgICAgICBpZiAoIHRlc3RfYW5kX2NsZWFyX2JpdChpLCAmZC0+YXJjaC5odm0uaW9yZXFf Z2ZuLm1hc2spICkKQEAgLTI2MSw3ICsyNTYsNiBAQCBzdGF0aWMgdm9pZCBodm1fZnJlZV9pb3Jl cV9nZm4oc3RydWN0IGh2bV9pb3JlcV9zZXJ2ZXIgKnMsIGdmbl90IGdmbikKICAgICBzdHJ1Y3Qg ZG9tYWluICpkID0gcy0+dGFyZ2V0OwogICAgIHVuc2lnbmVkIGludCBpID0gZ2ZuX3goZ2ZuKSAt IGQtPmFyY2guaHZtLmlvcmVxX2dmbi5iYXNlOwogCi0gICAgQVNTRVJUKCFJU19ERUZBVUxUKHMp KTsKICAgICBBU1NFUlQoIWdmbl9lcShnZm4sIElOVkFMSURfR0ZOKSk7CiAKICAgICBzZXRfYml0 KGksICZkLT5hcmNoLmh2bS5pb3JlcV9nZm4ubWFzayk7CkBAIC0yNzcsOSArMjcxLDcgQEAgc3Rh dGljIHZvaWQgaHZtX3VubWFwX2lvcmVxX2dmbihzdHJ1Y3QgaHZtX2lvcmVxX3NlcnZlciAqcywg Ym9vbCBidWYpCiAgICAgZGVzdHJveV9yaW5nX2Zvcl9oZWxwZXIoJmlvcnAtPnZhLCBpb3JwLT5w YWdlKTsKICAgICBpb3JwLT5wYWdlID0gTlVMTDsKIAotICAgIGlmICggIUlTX0RFRkFVTFQocykg KQotICAgICAgICBodm1fZnJlZV9pb3JlcV9nZm4ocywgaW9ycC0+Z2ZuKTsKLQorICAgIGh2bV9m cmVlX2lvcmVxX2dmbihzLCBpb3JwLT5nZm4pOwogICAgIGlvcnAtPmdmbiA9IElOVkFMSURfR0ZO OwogfQogCkBAIC0zMDUsMTIgKzI5Nyw3IEBAIHN0YXRpYyBpbnQgaHZtX21hcF9pb3JlcV9nZm4o c3RydWN0IGh2bV9pb3JlcV9zZXJ2ZXIgKnMsIGJvb2wgYnVmKQogICAgIGlmICggZC0+aXNfZHlp bmcgKQogICAgICAgICByZXR1cm4gLUVJTlZBTDsKIAotICAgIGlmICggSVNfREVGQVVMVChzKSAp Ci0gICAgICAgIGlvcnAtPmdmbiA9IF9nZm4oYnVmID8KLSAgICAgICAgICAgICAgICAgICAgICAg ICBkLT5hcmNoLmh2bS5wYXJhbXNbSFZNX1BBUkFNX0JVRklPUkVRX1BGTl0gOgotICAgICAgICAg ICAgICAgICAgICAgICAgIGQtPmFyY2guaHZtLnBhcmFtc1tIVk1fUEFSQU1fSU9SRVFfUEZOXSk7 Ci0gICAgZWxzZQotICAgICAgICBpb3JwLT5nZm4gPSBodm1fYWxsb2NfaW9yZXFfZ2ZuKHMpOwor ICAgIGlvcnAtPmdmbiA9IGh2bV9hbGxvY19pb3JlcV9nZm4ocyk7CiAKICAgICBpZiAoIGdmbl9l cShpb3JwLT5nZm4sIElOVkFMSURfR0ZOKSApCiAgICAgICAgIHJldHVybiAtRU5PTUVNOwpAQCAt NDE2LDcgKzQwMyw3IEBAIHN0YXRpYyB2b2lkIGh2bV9yZW1vdmVfaW9yZXFfZ2ZuKHN0cnVjdCBo dm1faW9yZXFfc2VydmVyICpzLCBib29sIGJ1ZikKICAgICBzdHJ1Y3QgZG9tYWluICpkID0gcy0+ dGFyZ2V0OwogICAgIHN0cnVjdCBodm1faW9yZXFfcGFnZSAqaW9ycCA9IGJ1ZiA/ICZzLT5idWZp b3JlcSA6ICZzLT5pb3JlcTsKIAotICAgIGlmICggSVNfREVGQVVMVChzKSB8fCBnZm5fZXEoaW9y cC0+Z2ZuLCBJTlZBTElEX0dGTikgKQorICAgIGlmICggZ2ZuX2VxKGlvcnAtPmdmbiwgSU5WQUxJ RF9HRk4pICkKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKCBndWVzdF9waHlzbWFwX3JlbW92 ZV9wYWdlKGQsIGlvcnAtPmdmbiwKQEAgLTQzMSw3ICs0MTgsNyBAQCBzdGF0aWMgaW50IGh2bV9h ZGRfaW9yZXFfZ2ZuKHN0cnVjdCBodm1faW9yZXFfc2VydmVyICpzLCBib29sIGJ1ZikKICAgICBz dHJ1Y3QgaHZtX2lvcmVxX3BhZ2UgKmlvcnAgPSBidWYgPyAmcy0+YnVmaW9yZXEgOiAmcy0+aW9y ZXE7CiAgICAgaW50IHJjOwogCi0gICAgaWYgKCBJU19ERUZBVUxUKHMpIHx8IGdmbl9lcShpb3Jw LT5nZm4sIElOVkFMSURfR0ZOKSApCisgICAgaWYgKCBnZm5fZXEoaW9ycC0+Z2ZuLCBJTlZBTElE X0dGTikgKQogICAgICAgICByZXR1cm4gMDsKIAogICAgIGNsZWFyX3BhZ2UoaW9ycC0+dmEpOwpA QCAtNDgzLDE3ICs0NzAsMTIgQEAgc3RhdGljIGludCBodm1faW9yZXFfc2VydmVyX2FkZF92Y3B1 KHN0cnVjdCBodm1faW9yZXFfc2VydmVyICpzLAogCiAgICAgaWYgKCB2LT52Y3B1X2lkID09IDAg JiYgSEFORExFX0JVRklPUkVRKHMpICkKICAgICB7Ci0gICAgICAgIHN0cnVjdCBkb21haW4gKmQg PSBzLT50YXJnZXQ7Ci0KICAgICAgICAgcmMgPSBhbGxvY191bmJvdW5kX3hlbl9ldmVudF9jaGFu bmVsKHYtPmRvbWFpbiwgMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHMtPmVtdWxhdG9yLT5kb21haW5faWQsIE5VTEwpOwogICAgICAgICBpZiAoIHJjIDwg MCApCiAgICAgICAgICAgICBnb3RvIGZhaWwzOwogCiAgICAgICAgIHMtPmJ1ZmlvcmVxX2V2dGNo biA9IHJjOwotICAgICAgICBpZiAoIElTX0RFRkFVTFQocykgKQotICAgICAgICAgICAgZC0+YXJj aC5odm0ucGFyYW1zW0hWTV9QQVJBTV9CVUZJT1JFUV9FVlRDSE5dID0KLSAgICAgICAgICAgICAg ICBzLT5idWZpb3JlcV9ldnRjaG47CiAgICAgfQogCiAgICAgc3YtPnZjcHUgPSB2OwpAQCAtNjE3 LDkgKzU5OSw2IEBAIHN0YXRpYyB2b2lkIGh2bV9pb3JlcV9zZXJ2ZXJfZnJlZV9yYW5nZXNldHMo c3RydWN0IGh2bV9pb3JlcV9zZXJ2ZXIgKnMpCiB7CiAgICAgdW5zaWduZWQgaW50IGk7CiAKLSAg ICBpZiAoIElTX0RFRkFVTFQocykgKQotICAgICAgICByZXR1cm47Ci0KICAgICBmb3IgKCBpID0g MDsgaSA8IE5SX0lPX1JBTkdFX1RZUEVTOyBpKysgKQogICAgICAgICByYW5nZXNldF9kZXN0cm95 KHMtPnJhbmdlW2ldKTsKIH0KQEAgLTYzMCwxMSArNjA5LDYgQEAgc3RhdGljIGludCBodm1faW9y ZXFfc2VydmVyX2FsbG9jX3Jhbmdlc2V0cyhzdHJ1Y3QgaHZtX2lvcmVxX3NlcnZlciAqcywKICAg ICB1bnNpZ25lZCBpbnQgaTsKICAgICBpbnQgcmM7CiAKLSAgICBpZiAoIGlkID09IERFRkFVTFRf SU9TRVJWSUQgKQotICAgICAgICBnb3RvIGRvbmU7Ci0KLSAgICBBU1NFUlQoIUlTX0RFRkFVTFQo cykpOwotCiAgICAgZm9yICggaSA9IDA7IGkgPCBOUl9JT19SQU5HRV9UWVBFUzsgaSsrICkKICAg ICB7CiAgICAgICAgIGNoYXIgKm5hbWU7CkBAIC02NTksNyArNjMzLDYgQEAgc3RhdGljIGludCBo dm1faW9yZXFfc2VydmVyX2FsbG9jX3Jhbmdlc2V0cyhzdHJ1Y3QgaHZtX2lvcmVxX3NlcnZlciAq cywKICAgICAgICAgcmFuZ2VzZXRfbGltaXQocy0+cmFuZ2VbaV0sIE1BWF9OUl9JT19SQU5HRVMp OwogICAgIH0KIAotIGRvbmU6CiAgICAgcmV0dXJuIDA7CiAKICBmYWlsOgpAQCAtNzMzLDEzICs3 MDYsNiBAQCBzdGF0aWMgaW50IGh2bV9pb3JlcV9zZXJ2ZXJfaW5pdChzdHJ1Y3QgaHZtX2lvcmVx X3NlcnZlciAqcywKIAogICAgIHMtPmJ1ZmlvcmVxX2hhbmRsaW5nID0gYnVmaW9yZXFfaGFuZGxp bmc7CiAKLSAgICBpZiAoIGlkID09IERFRkFVTFRfSU9TRVJWSUQgKQotICAgIHsKLSAgICAgICAg cmMgPSBodm1faW9yZXFfc2VydmVyX21hcF9wYWdlcyhzKTsKLSAgICAgICAgaWYgKCByYyApCi0g ICAgICAgICAgICBnb3RvIGZhaWxfbWFwOwotICAgIH0KLQogICAgIGZvcl9lYWNoX3ZjcHUgKCBk LCB2ICkKICAgICB7CiAgICAgICAgIHJjID0gaHZtX2lvcmVxX3NlcnZlcl9hZGRfdmNwdShzLCB2 KTsKQEAgLTc1Myw3ICs3MTksNiBAQCBzdGF0aWMgaW50IGh2bV9pb3JlcV9zZXJ2ZXJfaW5pdChz dHJ1Y3QgaHZtX2lvcmVxX3NlcnZlciAqcywKICAgICBodm1faW9yZXFfc2VydmVyX3JlbW92ZV9h bGxfdmNwdXMocyk7CiAgICAgaHZtX2lvcmVxX3NlcnZlcl91bm1hcF9wYWdlcyhzKTsKIAotIGZh aWxfbWFwOgogICAgIGh2bV9pb3JlcV9zZXJ2ZXJfZnJlZV9yYW5nZXNldHMocyk7CiAKICAgICBw dXRfZG9tYWluKHMtPmVtdWxhdG9yKTsKQEAgLTc4Miw4ICs3NDcsOCBAQCBzdGF0aWMgdm9pZCBo dm1faW9yZXFfc2VydmVyX2RlaW5pdChzdHJ1Y3QgaHZtX2lvcmVxX3NlcnZlciAqcykKICAgICBw dXRfZG9tYWluKHMtPmVtdWxhdG9yKTsKIH0KIAotaW50IGh2bV9jcmVhdGVfaW9yZXFfc2VydmVy KHN0cnVjdCBkb21haW4gKmQsIGJvb2wgaXNfZGVmYXVsdCwKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICBpbnQgYnVmaW9yZXFfaGFuZGxpbmcsIGlvc2VydmlkX3QgKmlkKQoraW50IGh2bV9j cmVhdGVfaW9yZXFfc2VydmVyKHN0cnVjdCBkb21haW4gKmQsIGludCBidWZpb3JlcV9oYW5kbGlu ZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpb3NlcnZpZF90ICppZCkKIHsKICAgICBz dHJ1Y3QgaHZtX2lvcmVxX3NlcnZlciAqczsKICAgICB1bnNpZ25lZCBpbnQgaTsKQEAgLTc5OSwz MiArNzY0LDE5IEBAIGludCBodm1fY3JlYXRlX2lvcmVxX3NlcnZlcihzdHJ1Y3QgZG9tYWluICpk LCBib29sIGlzX2RlZmF1bHQsCiAgICAgZG9tYWluX3BhdXNlKGQpOwogICAgIHNwaW5fbG9ja19y ZWN1cnNpdmUoJmQtPmFyY2guaHZtLmlvcmVxX3NlcnZlci5sb2NrKTsKIAotICAgIGlmICggaXNf ZGVmYXVsdCApCisgICAgZm9yICggaSA9IDA7IGkgPCBNQVhfTlJfSU9SRVFfU0VSVkVSUzsgaSsr ICkKICAgICB7Ci0gICAgICAgIGkgPSBERUZBVUxUX0lPU0VSVklEOwotCi0gICAgICAgIHJjID0g LUVFWElTVDsKLSAgICAgICAgaWYgKCBHRVRfSU9SRVFfU0VSVkVSKGQsIGkpICkKLSAgICAgICAg ICAgIGdvdG8gZmFpbDsKKyAgICAgICAgaWYgKCAhR0VUX0lPUkVRX1NFUlZFUihkLCBpKSApCisg ICAgICAgICAgICBicmVhazsKICAgICB9Ci0gICAgZWxzZQotICAgIHsKLSAgICAgICAgZm9yICgg aSA9IDA7IGkgPCBNQVhfTlJfSU9SRVFfU0VSVkVSUzsgaSsrICkKLSAgICAgICAgewotICAgICAg ICAgICAgaWYgKCBpICE9IERFRkFVTFRfSU9TRVJWSUQgJiYgIUdFVF9JT1JFUV9TRVJWRVIoZCwg aSkgKQotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9CiAKLSAgICAgICAgcmMgPSAt RU5PU1BDOwotICAgICAgICBpZiAoIGkgPj0gTUFYX05SX0lPUkVRX1NFUlZFUlMgKQotICAgICAg ICAgICAgZ290byBmYWlsOwotICAgIH0KKyAgICByYyA9IC1FTk9TUEM7CisgICAgaWYgKCBpID49 IE1BWF9OUl9JT1JFUV9TRVJWRVJTICkKKyAgICAgICAgZ290byBmYWlsOwogCiAgICAgLyoKICAg ICAgKiBJdCBpcyBzYWZlIHRvIGNhbGwgc2V0X2lvcmVxX3NlcnZlcigpIHByaW9yIHRvCiAgICAg ICogaHZtX2lvcmVxX3NlcnZlcl9pbml0KCkgc2luY2UgdGhlIHRhcmdldCBkb21haW4gaXMgcGF1 c2VkLgotICAgICAqIEl0IGlzIG5lY2Vzc2FyeSBmb3IgdGhlIGNhbGxzIHRvIGJlIG9yZGVyZWQg dGh1cyBvdGhlcndpc2UKLSAgICAgKiB0aGUgSVNfREVGQVVMVCgpIG1hY3JvIHdvdWxkIG5vdCBl dmFsdWF0ZSBjb3JyZWN0bHkuCiAgICAgICovCiAgICAgc2V0X2lvcmVxX3NlcnZlcihkLCBpLCBz KTsKIApAQCAtODM1LDkgKzc4Nyw2IEBAIGludCBodm1fY3JlYXRlX2lvcmVxX3NlcnZlcihzdHJ1 Y3QgZG9tYWluICpkLCBib29sIGlzX2RlZmF1bHQsCiAgICAgICAgIGdvdG8gZmFpbDsKICAgICB9 CiAKLSAgICBpZiAoIGkgPT0gREVGQVVMVF9JT1NFUlZJRCApCi0gICAgICAgIGh2bV9pb3JlcV9z ZXJ2ZXJfZW5hYmxlKHMpOwotCiAgICAgaWYgKCBpZCApCiAgICAgICAgICppZCA9IGk7CiAKQEAg LTg1OSw5ICs4MDgsNiBAQCBpbnQgaHZtX2Rlc3Ryb3lfaW9yZXFfc2VydmVyKHN0cnVjdCBkb21h aW4gKmQsIGlvc2VydmlkX3QgaWQpCiAgICAgc3RydWN0IGh2bV9pb3JlcV9zZXJ2ZXIgKnM7CiAg ICAgaW50IHJjOwogCi0gICAgaWYgKCBpZCA9PSBERUZBVUxUX0lPU0VSVklEICkKLSAgICAgICAg cmV0dXJuIC1FUEVSTTsKLQogICAgIHNwaW5fbG9ja19yZWN1cnNpdmUoJmQtPmFyY2guaHZtLmlv cmVxX3NlcnZlci5sb2NrKTsKIAogICAgIHMgPSBnZXRfaW9yZXFfc2VydmVyKGQsIGlkKTsKQEAg LTg3MCw4ICs4MTYsNiBAQCBpbnQgaHZtX2Rlc3Ryb3lfaW9yZXFfc2VydmVyKHN0cnVjdCBkb21h aW4gKmQsIGlvc2VydmlkX3QgaWQpCiAgICAgaWYgKCAhcyApCiAgICAgICAgIGdvdG8gb3V0Owog Ci0gICAgQVNTRVJUKCFJU19ERUZBVUxUKHMpKTsKLQogICAgIHJjID0gLUVQRVJNOwogICAgIGlm ICggcy0+ZW11bGF0b3IgIT0gY3VycmVudC0+ZG9tYWluICkKICAgICAgICAgZ290byBvdXQ7CkBA IC04ODQsOSArODI4LDcgQEAgaW50IGh2bV9kZXN0cm95X2lvcmVxX3NlcnZlcihzdHJ1Y3QgZG9t YWluICpkLCBpb3NlcnZpZF90IGlkKQogCiAgICAgLyoKICAgICAgKiBJdCBpcyBzYWZlIHRvIGNh bGwgaHZtX2lvcmVxX3NlcnZlcl9kZWluaXQoKSBwcmlvciB0bwotICAgICAqIHNldF9pb3JlcV9z ZXJ2ZXIoKSBzaW5jZSB0aGUgdGFyZ2V0IGRvbWFpbiBpcyBwYXVzZWQuIEl0IGlzCi0gICAgICog bmVjZXNzYXJ5IGZvciB0aGUgY2FsbHMgdG8gYmUgb3JkZXJlZCB0aHVzIG90aGVyd2lzZSB0aGUK LSAgICAgKiBJU19ERUZBVUxUKCkgbWFjcm8gd291bGQgbm90IGV2YWx1YXRlIGNvcnJlY3RseS4K KyAgICAgKiBzZXRfaW9yZXFfc2VydmVyKCkgc2luY2UgdGhlIHRhcmdldCBkb21haW4gaXMgcGF1 c2VkLgogICAgICAqLwogICAgIGh2bV9pb3JlcV9zZXJ2ZXJfZGVpbml0KHMpOwogICAgIHNldF9p b3JlcV9zZXJ2ZXIoZCwgaWQsIE5VTEwpOwpAQCAtOTExLDkgKzg1Myw2IEBAIGludCBodm1fZ2V0 X2lvcmVxX3NlcnZlcl9pbmZvKHN0cnVjdCBkb21haW4gKmQsIGlvc2VydmlkX3QgaWQsCiAgICAg c3RydWN0IGh2bV9pb3JlcV9zZXJ2ZXIgKnM7CiAgICAgaW50IHJjOwogCi0gICAgaWYgKCBpZCA9 PSBERUZBVUxUX0lPU0VSVklEICkKLSAgICAgICAgcmV0dXJuIC1FT1BOT1RTVVBQOwotCiAgICAg c3Bpbl9sb2NrX3JlY3Vyc2l2ZSgmZC0+YXJjaC5odm0uaW9yZXFfc2VydmVyLmxvY2spOwogCiAg ICAgcyA9IGdldF9pb3JlcV9zZXJ2ZXIoZCwgaWQpOwpAQCAtOTIyLDggKzg2MSw2IEBAIGludCBo dm1fZ2V0X2lvcmVxX3NlcnZlcl9pbmZvKHN0cnVjdCBkb21haW4gKmQsIGlvc2VydmlkX3QgaWQs CiAgICAgaWYgKCAhcyApCiAgICAgICAgIGdvdG8gb3V0OwogCi0gICAgQVNTRVJUKCFJU19ERUZB VUxUKHMpKTsKLQogICAgIHJjID0gLUVQRVJNOwogICAgIGlmICggcy0+ZW11bGF0b3IgIT0gY3Vy cmVudC0+ZG9tYWluICkKICAgICAgICAgZ290byBvdXQ7CkBAIC05NjEsOSArODk4LDYgQEAgaW50 IGh2bV9nZXRfaW9yZXFfc2VydmVyX2ZyYW1lKHN0cnVjdCBkb21haW4gKmQsIGlvc2VydmlkX3Qg aWQsCiAgICAgc3RydWN0IGh2bV9pb3JlcV9zZXJ2ZXIgKnM7CiAgICAgaW50IHJjOwogCi0gICAg aWYgKCBpZCA9PSBERUZBVUxUX0lPU0VSVklEICkKLSAgICAgICAgcmV0dXJuIC1FT1BOT1RTVVBQ OwotCiAgICAgaWYgKCAhaXNfaHZtX2RvbWFpbihkKSApCiAgICAgICAgIHJldHVybiAtRUlOVkFM OwogCkBAIC05NzUsOCArOTA5LDYgQEAgaW50IGh2bV9nZXRfaW9yZXFfc2VydmVyX2ZyYW1lKHN0 cnVjdCBkb21haW4gKmQsIGlvc2VydmlkX3QgaWQsCiAgICAgaWYgKCAhcyApCiAgICAgICAgIGdv dG8gb3V0OwogCi0gICAgQVNTRVJUKCFJU19ERUZBVUxUKHMpKTsKLQogICAgIHJjID0gLUVQRVJN OwogICAgIGlmICggcy0+ZW11bGF0b3IgIT0gY3VycmVudC0+ZG9tYWluICkKICAgICAgICAgZ290 byBvdXQ7CkBAIC0xMDIzLDkgKzk1NSw2IEBAIGludCBodm1fbWFwX2lvX3JhbmdlX3RvX2lvcmVx X3NlcnZlcihzdHJ1Y3QgZG9tYWluICpkLCBpb3NlcnZpZF90IGlkLAogICAgIGlmICggc3RhcnQg PiBlbmQgKQogICAgICAgICByZXR1cm4gLUVJTlZBTDsKIAotICAgIGlmICggaWQgPT0gREVGQVVM VF9JT1NFUlZJRCApCi0gICAgICAgIHJldHVybiAtRU9QTk9UU1VQUDsKLQogICAgIHNwaW5fbG9j a19yZWN1cnNpdmUoJmQtPmFyY2guaHZtLmlvcmVxX3NlcnZlci5sb2NrKTsKIAogICAgIHMgPSBn ZXRfaW9yZXFfc2VydmVyKGQsIGlkKTsKQEAgLTEwMzQsOCArOTYzLDYgQEAgaW50IGh2bV9tYXBf aW9fcmFuZ2VfdG9faW9yZXFfc2VydmVyKHN0cnVjdCBkb21haW4gKmQsIGlvc2VydmlkX3QgaWQs CiAgICAgaWYgKCAhcyApCiAgICAgICAgIGdvdG8gb3V0OwogCi0gICAgQVNTRVJUKCFJU19ERUZB VUxUKHMpKTsKLQogICAgIHJjID0gLUVQRVJNOwogICAgIGlmICggcy0+ZW11bGF0b3IgIT0gY3Vy cmVudC0+ZG9tYWluICkKICAgICAgICAgZ290byBvdXQ7CkBAIC0xMDgwLDkgKzEwMDcsNiBAQCBp bnQgaHZtX3VubWFwX2lvX3JhbmdlX2Zyb21faW9yZXFfc2VydmVyKHN0cnVjdCBkb21haW4gKmQs IGlvc2VydmlkX3QgaWQsCiAgICAgaWYgKCBzdGFydCA+IGVuZCApCiAgICAgICAgIHJldHVybiAt RUlOVkFMOwogCi0gICAgaWYgKCBpZCA9PSBERUZBVUxUX0lPU0VSVklEICkKLSAgICAgICAgcmV0 dXJuIC1FT1BOT1RTVVBQOwotCiAgICAgc3Bpbl9sb2NrX3JlY3Vyc2l2ZSgmZC0+YXJjaC5odm0u aW9yZXFfc2VydmVyLmxvY2spOwogCiAgICAgcyA9IGdldF9pb3JlcV9zZXJ2ZXIoZCwgaWQpOwpA QCAtMTA5MSw4ICsxMDE1LDYgQEAgaW50IGh2bV91bm1hcF9pb19yYW5nZV9mcm9tX2lvcmVxX3Nl cnZlcihzdHJ1Y3QgZG9tYWluICpkLCBpb3NlcnZpZF90IGlkLAogICAgIGlmICggIXMgKQogICAg ICAgICBnb3RvIG91dDsKIAotICAgIEFTU0VSVCghSVNfREVGQVVMVChzKSk7Ci0KICAgICByYyA9 IC1FUEVSTTsKICAgICBpZiAoIHMtPmVtdWxhdG9yICE9IGN1cnJlbnQtPmRvbWFpbiApCiAgICAg ICAgIGdvdG8gb3V0OwpAQCAtMTE0MCw5ICsxMDYyLDYgQEAgaW50IGh2bV9tYXBfbWVtX3R5cGVf dG9faW9yZXFfc2VydmVyKHN0cnVjdCBkb21haW4gKmQsIGlvc2VydmlkX3QgaWQsCiAgICAgc3Ry dWN0IGh2bV9pb3JlcV9zZXJ2ZXIgKnM7CiAgICAgaW50IHJjOwogCi0gICAgaWYgKCBpZCA9PSBE RUZBVUxUX0lPU0VSVklEICkKLSAgICAgICAgcmV0dXJuIC1FT1BOT1RTVVBQOwotCiAgICAgaWYg KCB0eXBlICE9IEhWTU1FTV9pb3JlcV9zZXJ2ZXIgKQogICAgICAgICByZXR1cm4gLUVJTlZBTDsK IApAQCAtMTE1Nyw4ICsxMDc2LDYgQEAgaW50IGh2bV9tYXBfbWVtX3R5cGVfdG9faW9yZXFfc2Vy dmVyKHN0cnVjdCBkb21haW4gKmQsIGlvc2VydmlkX3QgaWQsCiAgICAgaWYgKCAhcyApCiAgICAg ICAgIGdvdG8gb3V0OwogCi0gICAgQVNTRVJUKCFJU19ERUZBVUxUKHMpKTsKLQogICAgIHJjID0g LUVQRVJNOwogICAgIGlmICggcy0+ZW11bGF0b3IgIT0gY3VycmVudC0+ZG9tYWluICkKICAgICAg ICAgZ290byBvdXQ7CkBAIC0xMTg1LDkgKzExMDIsNiBAQCBpbnQgaHZtX3NldF9pb3JlcV9zZXJ2 ZXJfc3RhdGUoc3RydWN0IGRvbWFpbiAqZCwgaW9zZXJ2aWRfdCBpZCwKICAgICBzdHJ1Y3QgaHZt X2lvcmVxX3NlcnZlciAqczsKICAgICBpbnQgcmM7CiAKLSAgICBpZiAoIGlkID09IERFRkFVTFRf SU9TRVJWSUQgKQotICAgICAgICByZXR1cm4gLUVPUE5PVFNVUFA7Ci0KICAgICBzcGluX2xvY2tf cmVjdXJzaXZlKCZkLT5hcmNoLmh2bS5pb3JlcV9zZXJ2ZXIubG9jayk7CiAKICAgICBzID0gZ2V0 X2lvcmVxX3NlcnZlcihkLCBpZCk7CkBAIC0xMTk2LDggKzExMTAsNiBAQCBpbnQgaHZtX3NldF9p b3JlcV9zZXJ2ZXJfc3RhdGUoc3RydWN0IGRvbWFpbiAqZCwgaW9zZXJ2aWRfdCBpZCwKICAgICBp ZiAoICFzICkKICAgICAgICAgZ290byBvdXQ7CiAKLSAgICBBU1NFUlQoIUlTX0RFRkFVTFQocykp OwotCiAgICAgcmMgPSAtRVBFUk07CiAgICAgaWYgKCBzLT5lbXVsYXRvciAhPSBjdXJyZW50LT5k b21haW4gKQogICAgICAgICBnb3RvIG91dDsKQEAgLTEyODIsOCArMTE5NCw2IEBAIHZvaWQgaHZt X2Rlc3Ryb3lfYWxsX2lvcmVxX3NlcnZlcnMoc3RydWN0IGRvbWFpbiAqZCkKICAgICAgICAgLyoK ICAgICAgICAgICogSXQgaXMgc2FmZSB0byBjYWxsIGh2bV9pb3JlcV9zZXJ2ZXJfZGVpbml0KCkg cHJpb3IgdG8KICAgICAgICAgICogc2V0X2lvcmVxX3NlcnZlcigpIHNpbmNlIHRoZSB0YXJnZXQg ZG9tYWluIGlzIGJlaW5nIGRlc3Ryb3llZC4KLSAgICAgICAgICogSXQgaXMgbmVjZXNzYXJ5IGZv ciB0aGUgY2FsbHMgdG8gYmUgb3JkZXJlZCB0aHVzIG90aGVyd2lzZSB0aGUKLSAgICAgICAgICog SVNfREVGQVVMVCgpIG1hY3JvIHdvdWxkIG5vdCBldmFsdWF0ZSBjb3JyZWN0bHkuCiAgICAgICAg ICAqLwogICAgICAgICBodm1faW9yZXFfc2VydmVyX2RlaW5pdChzKTsKICAgICAgICAgc2V0X2lv cmVxX3NlcnZlcihkLCBpZCwgTlVMTCk7CkBAIC0xMzA0LDcgKzEyMTQsNyBAQCBzdHJ1Y3QgaHZt X2lvcmVxX3NlcnZlciAqaHZtX3NlbGVjdF9pb3JlcV9zZXJ2ZXIoc3RydWN0IGRvbWFpbiAqZCwK ICAgICB1bnNpZ25lZCBpbnQgaWQ7CiAKICAgICBpZiAoIHAtPnR5cGUgIT0gSU9SRVFfVFlQRV9D T1BZICYmIHAtPnR5cGUgIT0gSU9SRVFfVFlQRV9QSU8gKQotICAgICAgICByZXR1cm4gR0VUX0lP UkVRX1NFUlZFUihkLCBERUZBVUxUX0lPU0VSVklEKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CiAK ICAgICBjZjggPSBkLT5hcmNoLmh2bS5wY2lfY2Y4OwogCkBAIC0xMzQ2LDcgKzEyNTYsNyBAQCBz dHJ1Y3QgaHZtX2lvcmVxX3NlcnZlciAqaHZtX3NlbGVjdF9pb3JlcV9zZXJ2ZXIoc3RydWN0IGRv bWFpbiAqZCwKICAgICB7CiAgICAgICAgIHN0cnVjdCByYW5nZXNldCAqcjsKIAotICAgICAgICBp ZiAoIElTX0RFRkFVTFQocykgfHwgIXMtPmVuYWJsZWQgKQorICAgICAgICBpZiAoICFzLT5lbmFi bGVkICkKICAgICAgICAgICAgIGNvbnRpbnVlOwogCiAgICAgICAgIHIgPSBzLT5yYW5nZVt0eXBl XTsKQEAgLTEzODQsNyArMTI5NCw3IEBAIHN0cnVjdCBodm1faW9yZXFfc2VydmVyICpodm1fc2Vs ZWN0X2lvcmVxX3NlcnZlcihzdHJ1Y3QgZG9tYWluICpkLAogICAgICAgICB9CiAgICAgfQogCi0g ICAgcmV0dXJuIEdFVF9JT1JFUV9TRVJWRVIoZCwgREVGQVVMVF9JT1NFUlZJRCk7CisgICAgcmV0 dXJuIE5VTEw7CiB9CiAKIHN0YXRpYyBpbnQgaHZtX3NlbmRfYnVmZmVyZWRfaW9yZXEoc3RydWN0 IGh2bV9pb3JlcV9zZXJ2ZXIgKnMsIGlvcmVxX3QgKnApCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVk ZS9hc20teDg2L2h2bS9kb21haW4uaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL2RvbWFpbi5o CmluZGV4IDczODhjZDg5NWUuLmZhN2ViYjlhNGUgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2Fz bS14ODYvaHZtL2RvbWFpbi5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL2RvbWFpbi5o CkBAIC05MCw3ICs5MCw2IEBAIHN0cnVjdCBodm1fcGlfb3BzIHsKIH07CiAKICNkZWZpbmUgTUFY X05SX0lPUkVRX1NFUlZFUlMgOAotI2RlZmluZSBERUZBVUxUX0lPU0VSVklEIDAKIAogc3RydWN0 IGh2bV9kb21haW4gewogICAgIC8qIEd1ZXN0IHBhZ2UgcmFuZ2UgdXNlZCBmb3Igbm9uLWRlZmF1 bHQgaW9yZXEgc2VydmVycyAqLwpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0v aW9yZXEuaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL2lvcmVxLmgKaW5kZXggYmFiNDczY2Y0 NC4uZTI1ODhlOTEyZiAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vaW9yZXEu aAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9pb3JlcS5oCkBAIC0yMyw4ICsyMyw4IEBA IGJvb2wgaHZtX2lvX3BlbmRpbmcoc3RydWN0IHZjcHUgKnYpOwogYm9vbCBoYW5kbGVfaHZtX2lv X2NvbXBsZXRpb24oc3RydWN0IHZjcHUgKnYpOwogYm9vbCBpc19pb3JlcV9zZXJ2ZXJfcGFnZShz dHJ1Y3QgZG9tYWluICpkLCBjb25zdCBzdHJ1Y3QgcGFnZV9pbmZvICpwYWdlKTsKIAotaW50IGh2 bV9jcmVhdGVfaW9yZXFfc2VydmVyKHN0cnVjdCBkb21haW4gKmQsIGJvb2wgaXNfZGVmYXVsdCwK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYnVmaW9yZXFfaGFuZGxpbmcsIGlvc2Vy dmlkX3QgKmlkKTsKK2ludCBodm1fY3JlYXRlX2lvcmVxX3NlcnZlcihzdHJ1Y3QgZG9tYWluICpk LCBpbnQgYnVmaW9yZXFfaGFuZGxpbmcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW9z ZXJ2aWRfdCAqaWQpOwogaW50IGh2bV9kZXN0cm95X2lvcmVxX3NlcnZlcihzdHJ1Y3QgZG9tYWlu ICpkLCBpb3NlcnZpZF90IGlkKTsKIGludCBodm1fZ2V0X2lvcmVxX3NlcnZlcl9pbmZvKHN0cnVj dCBkb21haW4gKmQsIGlvc2VydmlkX3QgaWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB1bnNpZ25lZCBsb25nICppb3JlcV9nZm4sCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9wdWJs aWMvaHZtL3BhcmFtcy5oIGIveGVuL2luY2x1ZGUvcHVibGljL2h2bS9wYXJhbXMuaAppbmRleCAz OTY5NzdjMmJiLi43MmY2MzNlZjJkIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9wdWJsaWMvaHZt L3BhcmFtcy5oCisrKyBiL3hlbi9pbmNsdWRlL3B1YmxpYy9odm0vcGFyYW1zLmgKQEAgLTI1LDYg KzI1LDE0IEBACiAKICNpbmNsdWRlICJodm1fb3AuaCIKIAorLyogVGhlc2UgcGFyYW1ldGVycyBh cmUgZGVwcmVjYXRlZCBhbmQgdGhlaXIgbWVhbmluZyBpcyB1bmRlZmluZWQuICovCisjaWYgZGVm aW5lZChfX1hFTl9fKSB8fCBkZWZpbmVkKF9fWEVOX1RPT0xTX18pCisKKyNkZWZpbmUgSFZNX1BB UkFNX0RNX0RPTUFJTiAxMworI2RlZmluZSBIVk1fUEFSQU1fQlVGSU9SRVFfRVZUQ0hOIDI2CisK KyNlbmRpZiAvKiBkZWZpbmVkKF9fWEVOX18pIHx8IGRlZmluZWQoX19YRU5fVE9PTFNfXykgKi8K KwogLyoKICAqIFBhcmFtZXRlciBzcGFjZSBmb3IgSFZNT1Bfe3NldCxnZXR9X3BhcmFtLgogICov CkBAIC04Myw3ICs5MSw2IEBACiAjZGVmaW5lIEhWTV9QQVJBTV9JT1JFUV9QRk4gICAgNQogCiAj ZGVmaW5lIEhWTV9QQVJBTV9CVUZJT1JFUV9QRk4gNgotI2RlZmluZSBIVk1fUEFSQU1fQlVGSU9S RVFfRVZUQ0hOIDI2CiAKICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0 X18pCiAKQEAgLTE4MSw5ICsxODgsNiBAQAogLyogSWRlbnRpdHktbWFwIHBhZ2UgZGlyZWN0b3J5 IHVzZWQgYnkgSW50ZWwgRVBUIHdoZW4gQ1IwLlBHPTAuICovCiAjZGVmaW5lIEhWTV9QQVJBTV9J REVOVF9QVCAgICAgMTIKIAotLyogRGV2aWNlIE1vZGVsIGRvbWFpbiwgZGVmYXVsdHMgdG8gMC4g Ki8KLSNkZWZpbmUgSFZNX1BBUkFNX0RNX0RPTUFJTiAgICAxMwotCiAvKiBBQ1BJIFMgc3RhdGU6 IGN1cnJlbnRseSBzdXBwb3J0IFMwIGFuZCBTMyBvbiB4ODYuICovCiAjZGVmaW5lIEhWTV9QQVJB TV9BQ1BJX1NfU1RBVEUgMTQKIAotLSAKMi4xMS4wCgoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxA bGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFu L2xpc3RpbmZvL3hlbi1kZXZlbA==