From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: [PATCH v2 2/4] iommu: rename wrapper functions Date: Mon, 3 Dec 2018 17:40:15 +0000 Message-ID: <20181203174017.11956-3-paul.durrant@citrix.com> References: <20181203174017.11956-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 1gTsCr-0004bu-5v for xen-devel@lists.xenproject.org; Mon, 03 Dec 2018 17:40:29 +0000 In-Reply-To: <20181203174017.11956-1-paul.durrant@citrix.com> 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: Kevin Tian , Stefano Stabellini , Wei Liu , Jun Nakajima , Konrad Rzeszutek Wilk , George Dunlap , Andrew Cooper , Ian Jackson , Tim Deegan , Julien Grall , Paul Durrant , Jan Beulich , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= List-Id: xen-devel@lists.xenproject.org QSBzdWJzZXF1ZW50IHBhdGNoIHdpbGwgYWRkIHNlbWFudGljYWxseSBkaWZmZXJlbnQgdmVyc2lv bnMgb2YKaW9tbXVfbWFwL3VubWFwKCkgc28sIGluIGFkdmFuY2Ugb2YgdGhhdCBjaGFuZ2UsIHRo aXMgcGF0Y2ggcmVuYW1lcyB0aGUKZXhpc3RpbmcgZnVuY3Rpb25zIHRvIGlvbW11X2xlZ2FjeV9t YXAvdW5tYXAoKSBhbmQgbW9kaWZpZXMgYWxsIGNhbGwtc2l0ZXMuCgpUaGUgcGF0Y2ggYWxzbyBy ZW5hbWVzIGlvbW11X2lvdGxiX2ZsdXNoW19hbGxdIHRvIHRoZSBzaG9ydGVyIG5hbWUocykKaW9t bXVfZmx1c2hbX2FsbF0gKGFsc28gcmVuYW1pbmcgYW4gaW50ZXJuYWwgVlQtZCBmdW5jdGlvbiB0 byBhdm9pZCBhIG5hbWUKY2xhc2gpIGFuZCBjby1sb2NhdGVzIHRoZSBkZWNsYXJhdGlvbnMgd2l0 aCB0aG9zZSBvZgppb21tdV9sZWdhY3lfbWFwL3VubWFwKCkuCgpUaGUgb25seSBjaGFuZ2VzIGlu IHRoaXMgcGF0Y2ggdGhhdCBhcmUgbm90IHB1cmVseSBjb3NtZXRpYyBhcmUgaW4KYXJjaF9pb21t dV9wb3B1bGF0ZV9wYWdlX3RhYmxlKCkgYW5kIGlvbW11X2h3ZG9tX2luaXQoKSwgd2hpY2ggbm93 IGNhbGwKaW9tbXVfbGVnYWN5X21hcCgpIHJhdGhlciB0aGFuIGNhbGxpbmcgdGhlIG1hcF9wYWdl KCkgaW9tbXVfb3BzIG1ldGhvZApkaXJlY3RseS4KClNpZ25lZC1vZmYtYnk6IFBhdWwgRHVycmFu dCA8cGF1bC5kdXJyYW50QGNpdHJpeC5jb20+Ci0tLQpDYzogU3RlZmFubyBTdGFiZWxsaW5pIDxz c3RhYmVsbGluaUBrZXJuZWwub3JnPgpDYzogSnVsaWVuIEdyYWxsIDxqdWxpZW4uZ3JhbGxAYXJt LmNvbT4KQ2M6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+CkNjOiBH ZW9yZ2UgRHVubGFwIDxHZW9yZ2UuRHVubGFwQGV1LmNpdHJpeC5jb20+CkNjOiBJYW4gSmFja3Nv biA8aWFuLmphY2tzb25AZXUuY2l0cml4LmNvbT4KQ2M6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBz dXNlLmNvbT4KQ2M6IEtvbnJhZCBSemVzenV0ZWsgV2lsayA8a29ucmFkLndpbGtAb3JhY2xlLmNv bT4KQ2M6IFRpbSBEZWVnYW4gPHRpbUB4ZW4ub3JnPgpDYzogV2VpIExpdSA8d2VpLmxpdTJAY2l0 cml4LmNvbT4KQ2M6ICJSb2dlciBQYXUgTW9ubsOpIiA8cm9nZXIucGF1QGNpdHJpeC5jb20+CkNj OiBKdW4gTmFrYWppbWEgPGp1bi5uYWthamltYUBpbnRlbC5jb20+CkNjOiBLZXZpbiBUaWFuIDxr ZXZpbi50aWFuQGludGVsLmNvbT4KQ2M6IEdlb3JnZSBEdW5sYXAgPGdlb3JnZS5kdW5sYXBAZXUu Y2l0cml4LmNvbT4KCnYyOgogLSBOZXcgaW4gdjIuCi0tLQogeGVuL2FyY2gvYXJtL3AybS5jICAg ICAgICAgICAgICAgICAgfCAgNCArKy0tCiB4ZW4vYXJjaC94ODYvbW0uYyAgICAgICAgICAgICAg ICAgICB8IDExICsrKysrKy0tLS0tCiB4ZW4vYXJjaC94ODYvbW0vcDJtLWVwdC5jICAgICAgICAg ICB8ICA0ICsrLS0KIHhlbi9hcmNoL3g4Ni9tbS9wMm0tcHQuYyAgICAgICAgICAgIHwgIDUgKysr LS0KIHhlbi9hcmNoL3g4Ni9tbS9wMm0uYyAgICAgICAgICAgICAgIHwgMTIgKysrKysrLS0tLS0t CiB4ZW4vYXJjaC94ODYveDg2XzY0L21tLmMgICAgICAgICAgICB8ICA5ICsrKysrLS0tLQogeGVu L2NvbW1vbi9ncmFudF90YWJsZS5jICAgICAgICAgICAgfCAxNCArKysrKysrLS0tLS0tLQogeGVu L2NvbW1vbi9tZW1vcnkuYyAgICAgICAgICAgICAgICAgfCAgNCArKy0tCiB4ZW4vZHJpdmVycy9w YXNzdGhyb3VnaC9pb21tdS5jICAgICB8IDE0ICsrKysrKystLS0tLS0tCiB4ZW4vZHJpdmVycy9w YXNzdGhyb3VnaC92dGQvaW9tbXUuYyB8IDEwICsrKysrLS0tLS0KIHhlbi9kcml2ZXJzL3Bhc3N0 aHJvdWdoL3g4Ni9pb21tdS5jIHwgMTMgKysrKysrLS0tLS0tLQogeGVuL2luY2x1ZGUveGVuL2lv bW11LmggICAgICAgICAgICAgfCAxOSArKysrKysrKysrLS0tLS0tLS0tCiAxMiBmaWxlcyBjaGFu Z2VkLCA2MSBpbnNlcnRpb25zKCspLCA1OCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4v YXJjaC9hcm0vcDJtLmMgYi94ZW4vYXJjaC9hcm0vcDJtLmMKaW5kZXggNmM3NjI5OGViYy4uZThi NzYyNDQ5MiAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL3AybS5jCisrKyBiL3hlbi9hcmNoL2Fy bS9wMm0uYwpAQCAtOTcxLDggKzk3MSw4IEBAIHN0YXRpYyBpbnQgX19wMm1fc2V0X2VudHJ5KHN0 cnVjdCBwMm1fZG9tYWluICpwMm0sCiAKICAgICBpZiAoIG5lZWRfaW9tbXVfcHRfc3luYyhwMm0t PmRvbWFpbikgJiYKICAgICAgICAgIChscGFlX2lzX3ZhbGlkKG9yaWdfcHRlKSB8fCBscGFlX2lz X3ZhbGlkKCplbnRyeSkpICkKLSAgICAgICAgcmMgPSBpb21tdV9pb3RsYl9mbHVzaChwMm0tPmRv bWFpbiwgX2RmbihnZm5feChzZ2ZuKSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg MVVMIDw8IHBhZ2Vfb3JkZXIpOworICAgICAgICByYyA9IGlvbW11X2ZsdXNoKHAybS0+ZG9tYWlu LCBfZGZuKGdmbl94KHNnZm4pKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAxVUwgPDwgcGFn ZV9vcmRlcik7CiAgICAgZWxzZQogICAgICAgICByYyA9IDA7CiAKZGlmZiAtLWdpdCBhL3hlbi9h cmNoL3g4Ni9tbS5jIGIveGVuL2FyY2gveDg2L21tLmMKaW5kZXggMjhhMDAzMDYzZS4uNzQ2ZjBi MDI1OCAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L21tLmMKKysrIGIveGVuL2FyY2gveDg2L21t LmMKQEAgLTI4MDEsMTIgKzI4MDEsMTMgQEAgc3RhdGljIGludCBfZ2V0X3BhZ2VfdHlwZShzdHJ1 Y3QgcGFnZV9pbmZvICpwYWdlLCB1bnNpZ25lZCBsb25nIHR5cGUsCiAgICAgICAgICAgICBtZm5f dCBtZm4gPSBwYWdlX3RvX21mbihwYWdlKTsKIAogICAgICAgICAgICAgaWYgKCAoeCAmIFBHVF90 eXBlX21hc2spID09IFBHVF93cml0YWJsZV9wYWdlICkKLSAgICAgICAgICAgICAgICBpb21tdV9y ZXQgPSBpb21tdV91bm1hcChkLCBfZGZuKG1mbl94KG1mbikpLAotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFBBR0VfT1JERVJfNEspOworICAgICAgICAgICAgICAgIGlv bW11X3JldCA9IGlvbW11X2xlZ2FjeV91bm1hcChkLCBfZGZuKG1mbl94KG1mbikpLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQQUdFX09SREVSXzRLKTsK ICAgICAgICAgICAgIGVsc2UgaWYgKCB0eXBlID09IFBHVF93cml0YWJsZV9wYWdlICkKLSAgICAg ICAgICAgICAgICBpb21tdV9yZXQgPSBpb21tdV9tYXAoZCwgX2RmbihtZm5feChtZm4pKSwgbWZu LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQQUdFX09SREVSXzRLLAot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJT01NVUZfcmVhZGFibGUgfCBJ T01NVUZfd3JpdGFibGUpOworICAgICAgICAgICAgICAgIGlvbW11X3JldCA9IGlvbW11X2xlZ2Fj eV9tYXAoZCwgX2RmbihtZm5feChtZm4pKSwgbWZuLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgUEFHRV9PUkRFUl80SywKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIElPTU1VRl9yZWFkYWJsZSB8CisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJT01NVUZfd3JpdGFibGUpOwogICAgICAg ICB9CiAgICAgfQogCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvbW0vcDJtLWVwdC5jIGIveGVu L2FyY2gveDg2L21tL3AybS1lcHQuYwppbmRleCA2ZTRlMzc1YmFkLi42NGE0OWMwN2I3IDEwMDY0 NAotLS0gYS94ZW4vYXJjaC94ODYvbW0vcDJtLWVwdC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9w Mm0tZXB0LmMKQEAgLTg4Miw4ICs4ODIsOCBAQCBvdXQ6CiAgICAgICAgICAgICByYyA9IGlvbW11 X3B0ZV9mbHVzaChkLCBnZm4sICZlcHRfZW50cnktPmVwdGUsIG9yZGVyLCB2dGRfcHRlX3ByZXNl bnQpOwogICAgICAgICBlbHNlIGlmICggbmVlZF9pb21tdV9wdF9zeW5jKGQpICkKICAgICAgICAg ICAgIHJjID0gaW9tbXVfZmxhZ3MgPwotICAgICAgICAgICAgICAgIGlvbW11X21hcChkLCBfZGZu KGdmbiksIG1mbiwgb3JkZXIsIGlvbW11X2ZsYWdzKSA6Ci0gICAgICAgICAgICAgICAgaW9tbXVf dW5tYXAoZCwgX2RmbihnZm4pLCBvcmRlcik7CisgICAgICAgICAgICAgICAgaW9tbXVfbGVnYWN5 X21hcChkLCBfZGZuKGdmbiksIG1mbiwgb3JkZXIsIGlvbW11X2ZsYWdzKSA6CisgICAgICAgICAg ICAgICAgaW9tbXVfbGVnYWN5X3VubWFwKGQsIF9kZm4oZ2ZuKSwgb3JkZXIpOwogICAgIH0KIAog ICAgIHVubWFwX2RvbWFpbl9wYWdlKHRhYmxlKTsKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9t bS9wMm0tcHQuYyBiL3hlbi9hcmNoL3g4Ni9tbS9wMm0tcHQuYwppbmRleCAxN2E2YjYxZjEyLi42 OWZmYjA4MTc5IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvbW0vcDJtLXB0LmMKKysrIGIveGVu L2FyY2gveDg2L21tL3AybS1wdC5jCkBAIC02ODYsOCArNjg2LDkgQEAgcDJtX3B0X3NldF9lbnRy eShzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJtLCBnZm5fdCBnZm5fLCBtZm5fdCBtZm4sCiAKICAgICAg ICAgaWYgKCBuZWVkX2lvbW11X3B0X3N5bmMocDJtLT5kb21haW4pICkKICAgICAgICAgICAgIHJj ID0gaW9tbXVfcHRlX2ZsYWdzID8KLSAgICAgICAgICAgICAgICBpb21tdV9tYXAoZCwgX2Rmbihn Zm4pLCBtZm4sIHBhZ2Vfb3JkZXIsIGlvbW11X3B0ZV9mbGFncykgOgotICAgICAgICAgICAgICAg IGlvbW11X3VubWFwKGQsIF9kZm4oZ2ZuKSwgcGFnZV9vcmRlcik7CisgICAgICAgICAgICAgICAg aW9tbXVfbGVnYWN5X21hcChkLCBfZGZuKGdmbiksIG1mbiwgcGFnZV9vcmRlciwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGlvbW11X3B0ZV9mbGFncykgOgorICAgICAgICAgICAg ICAgIGlvbW11X2xlZ2FjeV91bm1hcChkLCBfZGZuKGdmbiksIHBhZ2Vfb3JkZXIpOwogICAgICAg ICBlbHNlIGlmICggaW9tbXVfdXNlX2hhcF9wdChkKSAmJiBpb21tdV9vbGRfZmxhZ3MgKQogICAg ICAgICAgICAgYW1kX2lvbW11X2ZsdXNoX3BhZ2VzKHAybS0+ZG9tYWluLCBnZm4sIHBhZ2Vfb3Jk ZXIpOwogICAgIH0KZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9tbS9wMm0uYyBiL3hlbi9hcmNo L3g4Ni9tbS9wMm0uYwppbmRleCBmZWE0NDk3OTEwLi5lZDc2ZTk2ZDMzIDEwMDY0NAotLS0gYS94 ZW4vYXJjaC94ODYvbW0vcDJtLmMKKysrIGIveGVuL2FyY2gveDg2L21tL3AybS5jCkBAIC03MzMs NyArNzMzLDcgQEAgcDJtX3JlbW92ZV9wYWdlKHN0cnVjdCBwMm1fZG9tYWluICpwMm0sIHVuc2ln bmVkIGxvbmcgZ2ZuX2wsIHVuc2lnbmVkIGxvbmcgbWZuLAogCiAgICAgaWYgKCAhcGFnaW5nX21v ZGVfdHJhbnNsYXRlKHAybS0+ZG9tYWluKSApCiAgICAgICAgIHJldHVybiBuZWVkX2lvbW11X3B0 X3N5bmMocDJtLT5kb21haW4pID8KLSAgICAgICAgICAgIGlvbW11X3VubWFwKHAybS0+ZG9tYWlu LCBfZGZuKG1mbiksIHBhZ2Vfb3JkZXIpIDogMDsKKyAgICAgICAgICAgIGlvbW11X2xlZ2FjeV91 bm1hcChwMm0tPmRvbWFpbiwgX2RmbihtZm4pLCBwYWdlX29yZGVyKSA6IDA7CiAKICAgICBBU1NF UlQoZ2ZuX2xvY2tlZF9ieV9tZShwMm0sIGdmbikpOwogICAgIFAyTV9ERUJVRygicmVtb3Zpbmcg Z2ZuPSUjbHggbWZuPSUjbHhcbiIsIGdmbl9sLCBtZm4pOwpAQCAtNzgwLDggKzc4MCw4IEBAIGd1 ZXN0X3BoeXNtYXBfYWRkX2VudHJ5KHN0cnVjdCBkb21haW4gKmQsIGdmbl90IGdmbiwgbWZuX3Qg bWZuLAogCiAgICAgaWYgKCAhcGFnaW5nX21vZGVfdHJhbnNsYXRlKGQpICkKICAgICAgICAgcmV0 dXJuIChuZWVkX2lvbW11X3B0X3N5bmMoZCkgJiYgdCA9PSBwMm1fcmFtX3J3KSA/Ci0gICAgICAg ICAgICBpb21tdV9tYXAoZCwgX2RmbihtZm5feChtZm4pKSwgbWZuLCBwYWdlX29yZGVyLAotICAg ICAgICAgICAgICAgICAgICAgIElPTU1VRl9yZWFkYWJsZSB8IElPTU1VRl93cml0YWJsZSkgOiAw OworICAgICAgICAgICAgaW9tbXVfbGVnYWN5X21hcChkLCBfZGZuKG1mbl94KG1mbikpLCBtZm4s IHBhZ2Vfb3JkZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElPTU1VRl9yZWFkYWJs ZSB8IElPTU1VRl93cml0YWJsZSkgOiAwOwogCiAgICAgLyogZm9yZWlnbiBwYWdlcyBhcmUgYWRk ZWQgdGhydSBwMm1fYWRkX2ZvcmVpZ24gKi8KICAgICBpZiAoIHAybV9pc19mb3JlaWduKHQpICkK QEAgLTExNTEsOCArMTE1MSw4IEBAIGludCBzZXRfaWRlbnRpdHlfcDJtX2VudHJ5KHN0cnVjdCBk b21haW4gKmQsIHVuc2lnbmVkIGxvbmcgZ2ZuX2wsCiAgICAgewogICAgICAgICBpZiAoICFuZWVk X2lvbW11X3B0X3N5bmMoZCkgKQogICAgICAgICAgICAgcmV0dXJuIDA7Ci0gICAgICAgIHJldHVy biBpb21tdV9tYXAoZCwgX2RmbihnZm5fbCksIF9tZm4oZ2ZuX2wpLCBQQUdFX09SREVSXzRLLAot ICAgICAgICAgICAgICAgICAgICAgICAgIElPTU1VRl9yZWFkYWJsZSB8IElPTU1VRl93cml0YWJs ZSk7CisgICAgICAgIHJldHVybiBpb21tdV9sZWdhY3lfbWFwKGQsIF9kZm4oZ2ZuX2wpLCBfbWZu KGdmbl9sKSwgUEFHRV9PUkRFUl80SywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg SU9NTVVGX3JlYWRhYmxlIHwgSU9NTVVGX3dyaXRhYmxlKTsKICAgICB9CiAKICAgICBnZm5fbG9j ayhwMm0sIGdmbiwgMCk7CkBAIC0xMjQyLDcgKzEyNDIsNyBAQCBpbnQgY2xlYXJfaWRlbnRpdHlf cDJtX2VudHJ5KHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGxvbmcgZ2ZuX2wpCiAgICAgewog ICAgICAgICBpZiAoICFuZWVkX2lvbW11X3B0X3N5bmMoZCkgKQogICAgICAgICAgICAgcmV0dXJu IDA7Ci0gICAgICAgIHJldHVybiBpb21tdV91bm1hcChkLCBfZGZuKGdmbl9sKSwgUEFHRV9PUkRF Ul80Syk7CisgICAgICAgIHJldHVybiBpb21tdV9sZWdhY3lfdW5tYXAoZCwgX2RmbihnZm5fbCks IFBBR0VfT1JERVJfNEspOwogICAgIH0KIAogICAgIGdmbl9sb2NrKHAybSwgZ2ZuLCAwKTsKZGlm ZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni94ODZfNjQvbW0uYyBiL3hlbi9hcmNoL3g4Ni94ODZfNjQv bW0uYwppbmRleCAxMTk3N2YyNjcxLi44MDU2Njc5ZGUwIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94 ODYveDg2XzY0L21tLmMKKysrIGIveGVuL2FyY2gveDg2L3g4Nl82NC9tbS5jCkBAIC0xNDM2LDE1 ICsxNDM2LDE2IEBAIGludCBtZW1vcnlfYWRkKHVuc2lnbmVkIGxvbmcgc3BmbiwgdW5zaWduZWQg bG9uZyBlcGZuLCB1bnNpZ25lZCBpbnQgcHhtKQogICAgICAgICAgIW5lZWRfaW9tbXVfcHRfc3lu YyhoYXJkd2FyZV9kb21haW4pICkKICAgICB7CiAgICAgICAgIGZvciAoIGkgPSBzcGZuOyBpIDwg ZXBmbjsgaSsrICkKLSAgICAgICAgICAgIGlmICggaW9tbXVfbWFwKGhhcmR3YXJlX2RvbWFpbiwg X2RmbihpKSwgX21mbihpKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIFBBR0VfT1JERVJf NEssCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBJT01NVUZfcmVhZGFibGUgfCBJT01NVUZf d3JpdGFibGUpICkKKyAgICAgICAgICAgIGlmICggaW9tbXVfbGVnYWN5X21hcChoYXJkd2FyZV9k b21haW4sIF9kZm4oaSksIF9tZm4oaSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgUEFHRV9PUkRFUl80SywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJT01N VUZfcmVhZGFibGUgfCBJT01NVUZfd3JpdGFibGUpICkKICAgICAgICAgICAgICAgICBicmVhazsK ICAgICAgICAgaWYgKCBpICE9IGVwZm4gKQogICAgICAgICB7CiAgICAgICAgICAgICB3aGlsZSAo aS0tID4gb2xkX21heCkKICAgICAgICAgICAgICAgICAvKiBJZiBzdGF0ZW1lbnQgdG8gc2F0aXNm eSBfX211c3RfY2hlY2suICovCi0gICAgICAgICAgICAgICAgaWYgKCBpb21tdV91bm1hcChoYXJk d2FyZV9kb21haW4sIF9kZm4oaSksIFBBR0VfT1JERVJfNEspICkKKyAgICAgICAgICAgICAgICBp ZiAoIGlvbW11X2xlZ2FjeV91bm1hcChoYXJkd2FyZV9kb21haW4sIF9kZm4oaSksCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUEFHRV9PUkRFUl80SykgKQogICAgICAg ICAgICAgICAgICAgICBjb250aW51ZTsKIAogICAgICAgICAgICAgZ290byBkZXN0cm95X20ycDsK ZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vZ3JhbnRfdGFibGUuYyBiL3hlbi9jb21tb24vZ3JhbnRf dGFibGUuYwppbmRleCBiNjdhZTllM2Y1Li5mZDA5OWE4ZjI1IDEwMDY0NAotLS0gYS94ZW4vY29t bW9uL2dyYW50X3RhYmxlLmMKKysrIGIveGVuL2NvbW1vbi9ncmFudF90YWJsZS5jCkBAIC0xMTM0 LDE0ICsxMTM0LDE0IEBAIG1hcF9ncmFudF9yZWYoCiAgICAgICAgICAgICAgIShvbGRfcGluICYg KEdOVFBJTl9oc3R3X21hc2t8R05UUElOX2RldndfbWFzaykpICkKICAgICAgICAgewogICAgICAg ICAgICAgaWYgKCAhKGtpbmQgJiBNQVBLSU5EX1dSSVRFKSApCi0gICAgICAgICAgICAgICAgZXJy ID0gaW9tbXVfbWFwKGxkLCBfZGZuKG1mbl94KG1mbikpLCBtZm4sIDAsCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIElPTU1VRl9yZWFkYWJsZSB8IElPTU1VRl93cml0YWJsZSk7Cisg ICAgICAgICAgICAgICAgZXJyID0gaW9tbXVfbGVnYWN5X21hcChsZCwgX2RmbihtZm5feChtZm4p KSwgbWZuLCAwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSU9NTVVG X3JlYWRhYmxlIHwgSU9NTVVGX3dyaXRhYmxlKTsKICAgICAgICAgfQogICAgICAgICBlbHNlIGlm ICggYWN0X3BpbiAmJiAhb2xkX3BpbiApCiAgICAgICAgIHsKICAgICAgICAgICAgIGlmICggIWtp bmQgKQotICAgICAgICAgICAgICAgIGVyciA9IGlvbW11X21hcChsZCwgX2RmbihtZm5feChtZm4p KSwgbWZuLCAwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJT01NVUZfcmVhZGFi bGUpOworICAgICAgICAgICAgICAgIGVyciA9IGlvbW11X2xlZ2FjeV9tYXAobGQsIF9kZm4obWZu X3gobWZuKSksIG1mbiwgMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IElPTU1VRl9yZWFkYWJsZSk7CiAgICAgICAgIH0KICAgICAgICAgaWYgKCBlcnIgKQogICAgICAg ICB7CkBAIC0xMzg5LDEwICsxMzg5LDEwIEBAIHVubWFwX2NvbW1vbigKIAogICAgICAgICBraW5k ID0gbWFwa2luZChsZ3QsIHJkLCBvcC0+bWZuKTsKICAgICAgICAgaWYgKCAha2luZCApCi0gICAg ICAgICAgICBlcnIgPSBpb21tdV91bm1hcChsZCwgX2RmbihtZm5feChvcC0+bWZuKSksIDApOwor ICAgICAgICAgICAgZXJyID0gaW9tbXVfbGVnYWN5X3VubWFwKGxkLCBfZGZuKG1mbl94KG9wLT5t Zm4pKSwgMCk7CiAgICAgICAgIGVsc2UgaWYgKCAhKGtpbmQgJiBNQVBLSU5EX1dSSVRFKSApCi0g ICAgICAgICAgICBlcnIgPSBpb21tdV9tYXAobGQsIF9kZm4obWZuX3gob3AtPm1mbikpLCBvcC0+ bWZuLCAwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIElPTU1VRl9yZWFkYWJsZSk7Cisg ICAgICAgICAgICBlcnIgPSBpb21tdV9sZWdhY3lfbWFwKGxkLCBfZGZuKG1mbl94KG9wLT5tZm4p KSwgb3AtPm1mbiwgMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSU9NTVVG X3JlYWRhYmxlKTsKIAogICAgICAgICBkb3VibGVfZ3RfdW5sb2NrKGxndCwgcmd0KTsKIApkaWZm IC0tZ2l0IGEveGVuL2NvbW1vbi9tZW1vcnkuYyBiL3hlbi9jb21tb24vbWVtb3J5LmMKaW5kZXgg MTc1YmQ2MmMxMS4uN2I2NjgwNzdkOCAxMDA2NDQKLS0tIGEveGVuL2NvbW1vbi9tZW1vcnkuYwor KysgYi94ZW4vY29tbW9uL21lbW9yeS5jCkBAIC04NjUsMTEgKzg2NSwxMSBAQCBpbnQgeGVubWVt X2FkZF90b19waHlzbWFwKHN0cnVjdCBkb21haW4gKmQsIHN0cnVjdCB4ZW5fYWRkX3RvX3BoeXNt YXAgKnhhdHAsCiAKICAgICAgICAgdGhpc19jcHUoaW9tbXVfZG9udF9mbHVzaF9pb3RsYikgPSAw OwogCi0gICAgICAgIHJldCA9IGlvbW11X2lvdGxiX2ZsdXNoKGQsIF9kZm4oeGF0cC0+aWR4IC0g ZG9uZSksIGRvbmUpOworICAgICAgICByZXQgPSBpb21tdV9mbHVzaChkLCBfZGZuKHhhdHAtPmlk eCAtIGRvbmUpLCBkb25lKTsKICAgICAgICAgaWYgKCB1bmxpa2VseShyZXQpICYmIHJjID49IDAg KQogICAgICAgICAgICAgcmMgPSByZXQ7CiAKLSAgICAgICAgcmV0ID0gaW9tbXVfaW90bGJfZmx1 c2goZCwgX2Rmbih4YXRwLT5ncGZuIC0gZG9uZSksIGRvbmUpOworICAgICAgICByZXQgPSBpb21t dV9mbHVzaChkLCBfZGZuKHhhdHAtPmdwZm4gLSBkb25lKSwgZG9uZSk7CiAgICAgICAgIGlmICgg dW5saWtlbHkocmV0KSAmJiByYyA+PSAwICkKICAgICAgICAgICAgIHJjID0gcmV0OwogICAgIH0K ZGlmZiAtLWdpdCBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2lvbW11LmMgYi94ZW4vZHJpdmVy cy9wYXNzdGhyb3VnaC9pb21tdS5jCmluZGV4IGMxY2NlMDg1NTEuLjZkMjMxYmVjOTQgMTAwNjQ0 Ci0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2lvbW11LmMKKysrIGIveGVuL2RyaXZlcnMv cGFzc3Rocm91Z2gvaW9tbXUuYwpAQCAtMjI2LDggKzIyNiw4IEBAIHZvaWQgX19od2RvbV9pbml0 IGlvbW11X2h3ZG9tX2luaXQoc3RydWN0IGRvbWFpbiAqZCkKICAgICAgICAgICAgICAgICAgID09 IFBHVF93cml0YWJsZV9wYWdlKSApCiAgICAgICAgICAgICAgICAgbWFwcGluZyB8PSBJT01NVUZf d3JpdGFibGU7CiAKLSAgICAgICAgICAgIHJldCA9IGhkLT5wbGF0Zm9ybV9vcHMtPm1hcF9wYWdl KGQsIF9kZm4oZGZuKSwgX21mbihtZm4pLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgbWFwcGluZyk7CisgICAgICAgICAgICByZXQgPSBpb21tdV9sZWdhY3lf bWFwKGQsIF9kZm4oZGZuKSwgX21mbihtZm4pLCBtYXBwaW5nLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBQQUdFX09SREVSXzRLKTsKICAgICAgICAgICAgIGlmICggIXJjICkK ICAgICAgICAgICAgICAgICByYyA9IHJldDsKIApAQCAtMzA0LDggKzMwNCw4IEBAIHZvaWQgaW9t bXVfZG9tYWluX2Rlc3Ryb3koc3RydWN0IGRvbWFpbiAqZCkKICAgICBhcmNoX2lvbW11X2RvbWFp bl9kZXN0cm95KGQpOwogfQogCi1pbnQgaW9tbXVfbWFwKHN0cnVjdCBkb21haW4gKmQsIGRmbl90 IGRmbiwgbWZuX3QgbWZuLAotICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgcGFnZV9vcmRlciwg dW5zaWduZWQgaW50IGZsYWdzKQoraW50IGlvbW11X2xlZ2FjeV9tYXAoc3RydWN0IGRvbWFpbiAq ZCwgZGZuX3QgZGZuLCBtZm5fdCBtZm4sCisgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBp bnQgcGFnZV9vcmRlciwgdW5zaWduZWQgaW50IGZsYWdzKQogewogICAgIGNvbnN0IHN0cnVjdCBk b21haW5faW9tbXUgKmhkID0gZG9tX2lvbW11KGQpOwogICAgIHVuc2lnbmVkIGxvbmcgaTsKQEAg LTM0NSw3ICszNDUsNyBAQCBpbnQgaW9tbXVfbWFwKHN0cnVjdCBkb21haW4gKmQsIGRmbl90IGRm biwgbWZuX3QgbWZuLAogICAgIHJldHVybiByYzsKIH0KIAotaW50IGlvbW11X3VubWFwKHN0cnVj dCBkb21haW4gKmQsIGRmbl90IGRmbiwgdW5zaWduZWQgaW50IHBhZ2Vfb3JkZXIpCitpbnQgaW9t bXVfbGVnYWN5X3VubWFwKHN0cnVjdCBkb21haW4gKmQsIGRmbl90IGRmbiwgdW5zaWduZWQgaW50 IHBhZ2Vfb3JkZXIpCiB7CiAgICAgY29uc3Qgc3RydWN0IGRvbWFpbl9pb21tdSAqaGQgPSBkb21f aW9tbXUoZCk7CiAgICAgdW5zaWduZWQgbG9uZyBpOwpAQCAtNDA5LDcgKzQwOSw3IEBAIHN0YXRp YyB2b2lkIGlvbW11X2ZyZWVfcGFnZXRhYmxlcyh1bnNpZ25lZCBsb25nIHVudXNlZCkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBjcHVtYXNrX2N5Y2xlKHNtcF9wcm9jZXNzb3JfaWQoKSwg JmNwdV9vbmxpbmVfbWFwKSk7CiB9CiAKLWludCBpb21tdV9pb3RsYl9mbHVzaChzdHJ1Y3QgZG9t YWluICpkLCBkZm5fdCBkZm4sIHVuc2lnbmVkIGludCBwYWdlX2NvdW50KQoraW50IGlvbW11X2Zs dXNoKHN0cnVjdCBkb21haW4gKmQsIGRmbl90IGRmbiwgdW5zaWduZWQgaW50IHBhZ2VfY291bnQp CiB7CiAgICAgY29uc3Qgc3RydWN0IGRvbWFpbl9pb21tdSAqaGQgPSBkb21faW9tbXUoZCk7CiAg ICAgaW50IHJjOwpAQCAtNDM2LDcgKzQzNiw3IEBAIGludCBpb21tdV9pb3RsYl9mbHVzaChzdHJ1 Y3QgZG9tYWluICpkLCBkZm5fdCBkZm4sIHVuc2lnbmVkIGludCBwYWdlX2NvdW50KQogICAgIHJl dHVybiByYzsKIH0KIAotaW50IGlvbW11X2lvdGxiX2ZsdXNoX2FsbChzdHJ1Y3QgZG9tYWluICpk KQoraW50IGlvbW11X2ZsdXNoX2FsbChzdHJ1Y3QgZG9tYWluICpkKQogewogICAgIGNvbnN0IHN0 cnVjdCBkb21haW5faW9tbXUgKmhkID0gZG9tX2lvbW11KGQpOwogICAgIGludCByYzsKZGlmZiAt LWdpdCBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9pb21tdS5jIGIveGVuL2RyaXZlcnMv cGFzc3Rocm91Z2gvdnRkL2lvbW11LmMKaW5kZXggZDJmYTVlMmIyNS4uODcyN2UyNDJlMiAxMDA2 NDQKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmMKKysrIGIveGVuL2Ry aXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmMKQEAgLTU0Niw3ICs1NDYsNyBAQCBzdGF0aWMg aW50IF9fbXVzdF9jaGVjayBpb21tdV9mbHVzaF9pb3RsYl9wc2koc3RydWN0IGlvbW11ICppb21t dSwgdTE2IGRpZCwKICAgICByZXR1cm4gc3RhdHVzOwogfQogCi1zdGF0aWMgaW50IF9fbXVzdF9j aGVjayBpb21tdV9mbHVzaF9hbGwodm9pZCkKK3N0YXRpYyBpbnQgX19tdXN0X2NoZWNrIGZsdXNo X2FsbF9pb21tdXModm9pZCkKIHsKICAgICBzdHJ1Y3QgYWNwaV9kcmhkX3VuaXQgKmRyaGQ7CiAg ICAgc3RydWN0IGlvbW11ICppb21tdTsKQEAgLTEzMTAsNyArMTMxMCw3IEBAIHN0YXRpYyB2b2lk IF9faHdkb21faW5pdCBpbnRlbF9pb21tdV9od2RvbV9pbml0KHN0cnVjdCBkb21haW4gKmQpCiAg ICAgLyogTWFrZSBzdXJlIHdvcmthcm91bmRzIGFyZSBhcHBsaWVkIGJlZm9yZSBlbmFibGluZyB0 aGUgSU9NTVUocykuICovCiAgICAgYXJjaF9pb21tdV9od2RvbV9pbml0KGQpOwogCi0gICAgaWYg KCBpb21tdV9mbHVzaF9hbGwoKSApCisgICAgaWYgKCBmbHVzaF9hbGxfaW9tbXVzKCkgKQogICAg ICAgICBwcmludGsoWEVOTE9HX1dBUk5JTkcgVlREUFJFRklYCiAgICAgICAgICAgICAgICAiIElP TU1VIGZsdXNoIGFsbCBmYWlsZWQgZm9yIGhhcmR3YXJlIGRvbWFpblxuIik7CiAKQEAgLTIyNTAs NyArMjI1MCw3IEBAIHN0YXRpYyBpbnQgX19tdXN0X2NoZWNrIGluaXRfdnRkX2h3KHZvaWQpCiAg ICAgICAgIH0KICAgICB9CiAKLSAgICByZXR1cm4gaW9tbXVfZmx1c2hfYWxsKCk7CisgICAgcmV0 dXJuIGZsdXNoX2FsbF9pb21tdXMoKTsKIH0KIAogc3RhdGljIHZvaWQgX19od2RvbV9pbml0IHNl dHVwX2h3ZG9tX3JtcnIoc3RydWN0IGRvbWFpbiAqZCkKQEAgLTI1NTQsNyArMjU1NCw3IEBAIHN0 YXRpYyBpbnQgX19tdXN0X2NoZWNrIHZ0ZF9zdXNwZW5kKHZvaWQpCiAgICAgaWYgKCAhaW9tbXVf ZW5hYmxlZCApCiAgICAgICAgIHJldHVybiAwOwogCi0gICAgcmMgPSBpb21tdV9mbHVzaF9hbGwo KTsKKyAgICByYyA9IGZsdXNoX2FsbF9pb21tdXMoKTsKICAgICBpZiAoIHVubGlrZWx5KHJjKSAp CiAgICAgewogICAgICAgICBwcmludGsoWEVOTE9HX1dBUk5JTkcgVlREUFJFRklYCkBAIC0yNjAy LDcgKzI2MDIsNyBAQCBzdGF0aWMgdm9pZCB2dGRfY3Jhc2hfc2h1dGRvd24odm9pZCkKICAgICBp ZiAoICFpb21tdV9lbmFibGVkICkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKCBpb21tdV9m bHVzaF9hbGwoKSApCisgICAgaWYgKCBmbHVzaF9hbGxfaW9tbXVzKCkgKQogICAgICAgICBwcmlu dGsoWEVOTE9HX1dBUk5JTkcgVlREUFJFRklYCiAgICAgICAgICAgICAgICAiIGNyYXNoIHNodXRk b3duOiBJT01NVSBmbHVzaCBhbGwgZmFpbGVkXG4iKTsKIApkaWZmIC0tZ2l0IGEveGVuL2RyaXZl cnMvcGFzc3Rocm91Z2gveDg2L2lvbW11LmMgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC94ODYv aW9tbXUuYwppbmRleCBjNjhhNzIyNzlkLi5jMWYzZTI0NDJlIDEwMDY0NAotLS0gYS94ZW4vZHJp dmVycy9wYXNzdGhyb3VnaC94ODYvaW9tbXUuYworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3Vn aC94ODYvaW9tbXUuYwpAQCAtNDYsNyArNDYsNiBAQCBpbnQgX19pbml0IGlvbW11X3NldHVwX2hw ZXRfbXNpKHN0cnVjdCBtc2lfZGVzYyAqbXNpKQogCiBpbnQgYXJjaF9pb21tdV9wb3B1bGF0ZV9w YWdlX3RhYmxlKHN0cnVjdCBkb21haW4gKmQpCiB7Ci0gICAgY29uc3Qgc3RydWN0IGRvbWFpbl9p b21tdSAqaGQgPSBkb21faW9tbXUoZCk7CiAgICAgc3RydWN0IHBhZ2VfaW5mbyAqcGFnZTsKICAg ICBpbnQgcmMgPSAwLCBuID0gMDsKIApAQCAtNjgsOSArNjcsOSBAQCBpbnQgYXJjaF9pb21tdV9w b3B1bGF0ZV9wYWdlX3RhYmxlKHN0cnVjdCBkb21haW4gKmQpCiAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgQVNTRVJUKCEoZ2ZuID4+IERFRkFVTFRfRE9NQUlOX0FERFJFU1NfV0lEVEgp KTsKICAgICAgICAgICAgICAgICBCVUdfT04oU0hBUkVEX00yUChnZm4pKTsKLSAgICAgICAgICAg ICAgICByYyA9IGhkLT5wbGF0Zm9ybV9vcHMtPm1hcF9wYWdlKGQsIF9kZm4oZ2ZuKSwgX21mbiht Zm4pLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSU9N TVVGX3JlYWRhYmxlIHwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIElPTU1VRl93cml0YWJsZSk7CisgICAgICAgICAgICAgICAgcmMgPSBpb21tdV9sZWdh Y3lfbWFwKGQsIF9kZm4oZ2ZuKSwgX21mbihtZm4pLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBQQUdFX09SREVSXzRLLCBJT01NVUZfcmVhZGFibGUgfAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJT01NVUZfd3JpdGFibGUpOwogICAgICAgICAg ICAgfQogICAgICAgICAgICAgaWYgKCByYyApCiAgICAgICAgICAgICB7CkBAIC0xMDcsNyArMTA2 LDcgQEAgaW50IGFyY2hfaW9tbXVfcG9wdWxhdGVfcGFnZV90YWJsZShzdHJ1Y3QgZG9tYWluICpk KQogICAgIHRoaXNfY3B1KGlvbW11X2RvbnRfZmx1c2hfaW90bGIpID0gMDsKIAogICAgIGlmICgg IXJjICkKLSAgICAgICAgcmMgPSBpb21tdV9pb3RsYl9mbHVzaF9hbGwoZCk7CisgICAgICAgIHJj ID0gaW9tbXVfZmx1c2hfYWxsKGQpOwogCiAgICAgaWYgKCByYyAmJiByYyAhPSAtRVJFU1RBUlQg KQogICAgICAgICBpb21tdV90ZWFyZG93bihkKTsKQEAgLTI0MSw4ICsyNDAsOCBAQCB2b2lkIF9f aHdkb21faW5pdCBhcmNoX2lvbW11X2h3ZG9tX2luaXQoc3RydWN0IGRvbWFpbiAqZCkKICAgICAg ICAgaWYgKCBwYWdpbmdfbW9kZV90cmFuc2xhdGUoZCkgKQogICAgICAgICAgICAgcmMgPSBzZXRf aWRlbnRpdHlfcDJtX2VudHJ5KGQsIHBmbiwgcDJtX2FjY2Vzc19ydywgMCk7CiAgICAgICAgIGVs c2UKLSAgICAgICAgICAgIHJjID0gaW9tbXVfbWFwKGQsIF9kZm4ocGZuKSwgX21mbihwZm4pLCBQ QUdFX09SREVSXzRLLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgSU9NTVVGX3JlYWRhYmxl IHwgSU9NTVVGX3dyaXRhYmxlKTsKKyAgICAgICAgICAgIHJjID0gaW9tbXVfbGVnYWN5X21hcChk LCBfZGZuKHBmbiksIF9tZm4ocGZuKSwgUEFHRV9PUkRFUl80SywKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBJT01NVUZfcmVhZGFibGUgfCBJT01NVUZfd3JpdGFibGUpOwogICAg ICAgICBpZiAoIHJjICkKICAgICAgICAgICAgIHByaW50ayhYRU5MT0dfV0FSTklORyAiIGQlZDog SU9NTVUgbWFwcGluZyBmYWlsZWQ6ICVkXG4iLAogICAgICAgICAgICAgICAgICAgIGQtPmRvbWFp bl9pZCwgcmMpOwpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUveGVuL2lvbW11LmggYi94ZW4vaW5j bHVkZS94ZW4vaW9tbXUuaAppbmRleCBkYTgyOTRiYWM4Li42NzczZDYwNWE5IDEwMDY0NAotLS0g YS94ZW4vaW5jbHVkZS94ZW4vaW9tbXUuaAorKysgYi94ZW4vaW5jbHVkZS94ZW4vaW9tbXUuaApA QCAtODgsMTcgKzg4LDIyIEBAIGludCBpb21tdV9jb25zdHJ1Y3Qoc3RydWN0IGRvbWFpbiAqZCk7 CiAvKiBGdW5jdGlvbiB1c2VkIGludGVybmFsbHksIHVzZSBpb21tdV9kb21haW5fZGVzdHJveSAq Lwogdm9pZCBpb21tdV90ZWFyZG93bihzdHJ1Y3QgZG9tYWluICpkKTsKIAotLyogaW9tbXVfbWFw X3BhZ2UoKSB0YWtlcyBmbGFncyB0byBkaXJlY3QgdGhlIG1hcHBpbmcgb3BlcmF0aW9uLiAqLwog I2RlZmluZSBfSU9NTVVGX3JlYWRhYmxlIDAKICNkZWZpbmUgSU9NTVVGX3JlYWRhYmxlICAoMXU8 PF9JT01NVUZfcmVhZGFibGUpCiAjZGVmaW5lIF9JT01NVUZfd3JpdGFibGUgMQogI2RlZmluZSBJ T01NVUZfd3JpdGFibGUgICgxdTw8X0lPTU1VRl93cml0YWJsZSkKLWludCBfX211c3RfY2hlY2sg aW9tbXVfbWFwKHN0cnVjdCBkb21haW4gKmQsIGRmbl90IGRmbiwgbWZuX3QgbWZuLAotICAgICAg ICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IHBhZ2Vfb3JkZXIsIHVuc2lnbmVkIGlu dCBmbGFncyk7Ci1pbnQgX19tdXN0X2NoZWNrIGlvbW11X3VubWFwKHN0cnVjdCBkb21haW4gKmQs IGRmbl90IGRmbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IHBh Z2Vfb3JkZXIpOworCitpbnQgX19tdXN0X2NoZWNrIGlvbW11X2xlZ2FjeV9tYXAoc3RydWN0IGRv bWFpbiAqZCwgZGZuX3QgZGZuLCBtZm5fdCBtZm4sCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgdW5zaWduZWQgaW50IHBhZ2Vfb3JkZXIsCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgdW5zaWduZWQgaW50IGZsYWdzKTsKK2ludCBfX211c3RfY2hlY2sgaW9tbXVf bGVnYWN5X3VubWFwKHN0cnVjdCBkb21haW4gKmQsIGRmbl90IGRmbiwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBwYWdlX29yZGVyKTsKKwogaW50IF9f bXVzdF9jaGVjayBpb21tdV9sb29rdXBfcGFnZShzdHJ1Y3QgZG9tYWluICpkLCBkZm5fdCBkZm4s IG1mbl90ICptZm4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVk IGludCAqZmxhZ3MpOworaW50IF9fbXVzdF9jaGVjayBpb21tdV9mbHVzaChzdHJ1Y3QgZG9tYWlu ICpkLCBkZm5fdCBkZm4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGlu dCBwYWdlX2NvdW50KTsKK2ludCBfX211c3RfY2hlY2sgaW9tbXVfZmx1c2hfYWxsKHN0cnVjdCBk b21haW4gKmQpOwogCiBlbnVtIGlvbW11X2ZlYXR1cmUKIHsKQEAgLTI1MiwxMCArMjU3LDYgQEAg aW50IGlvbW11X2RvX3BjaV9kb21jdGwoc3RydWN0IHhlbl9kb21jdGwgKiwgc3RydWN0IGRvbWFp biAqZCwKIGludCBpb21tdV9kb19kb21jdGwoc3RydWN0IHhlbl9kb21jdGwgKiwgc3RydWN0IGRv bWFpbiAqZCwKICAgICAgICAgICAgICAgICAgICAgWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZW5f ZG9tY3RsX3QpKTsKIAotaW50IF9fbXVzdF9jaGVjayBpb21tdV9pb3RsYl9mbHVzaChzdHJ1Y3Qg ZG9tYWluICpkLCBkZm5fdCBkZm4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHVuc2lnbmVkIGludCBwYWdlX2NvdW50KTsKLWludCBfX211c3RfY2hlY2sgaW9tbXVfaW90bGJf Zmx1c2hfYWxsKHN0cnVjdCBkb21haW4gKmQpOwotCiB2b2lkIGlvbW11X2Rldl9pb3RsYl9mbHVz aF90aW1lb3V0KHN0cnVjdCBkb21haW4gKmQsIHN0cnVjdCBwY2lfZGV2ICpwZGV2KTsKIAogLyoK LS0gCjIuMTEuMAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3Jn Cmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=