From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH 4/6] [RFC] x86/hvm: Rename enum hvm_copy_result to hvm_translation_result Date: Wed, 21 Jun 2017 16:12:30 +0100 Message-ID: <1498057952-13556-5-git-send-email-andrew.cooper3@citrix.com> References: <1498057952-13556-1-git-send-email-andrew.cooper3@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1498057952-13556-1-git-send-email-andrew.cooper3@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Xen-devel Cc: Andrew Cooper , Jan Beulich List-Id: xen-devel@lists.xenproject.org U2lnbmVkLW9mZi1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4K LS0tCkNDOiBKYW4gQmV1bGljaCA8SkJldWxpY2hAc3VzZS5jb20+CgpOYW1lIGRlZmluaXRlbHkg b3BlbiB0byBpbXByb3ZlbWVudC4gIFBlcmhhcHMgYmV0dGVyIGNvbnNpZGVyZWQgaW4gdGhlIGNv bnRleHQKb2YgdGhlIGZvbGxvd2luZyBwYXRjaC4KLS0tCiB4ZW4vYXJjaC94ODYvaHZtL2RvbTBf YnVpbGQuYyAgICAgfCAgMiArLQogeGVuL2FyY2gveDg2L2h2bS9lbXVsYXRlLmMgICAgICAgIHwg NDAgKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLQogeGVuL2FyY2gveDg2L2h2bS9odm0uYyAg ICAgICAgICAgIHwgNTYgKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tCiB4 ZW4vYXJjaC94ODYvaHZtL2ludGVyY2VwdC5jICAgICAgfCAyMCArKysrKysrLS0tLS0tLQogeGVu L2FyY2gveDg2L2h2bS9zdm0vbmVzdGVkc3ZtLmMgIHwgIDUgKystLQogeGVuL2FyY2gveDg2L2h2 bS9zdm0vc3ZtLmMgICAgICAgIHwgIDIgKy0KIHhlbi9hcmNoL3g4Ni9odm0vdmlyaWRpYW4uYyAg ICAgICB8ICAyICstCiB4ZW4vYXJjaC94ODYvaHZtL3Ztc2kuYyAgICAgICAgICAgfCAgMiArLQog eGVuL2FyY2gveDg2L2h2bS92bXgvcmVhbG1vZGUuYyAgIHwgIDIgKy0KIHhlbi9hcmNoL3g4Ni9o dm0vdm14L3Z2bXguYyAgICAgICB8IDE0ICsrKysrLS0tLS0KIHhlbi9hcmNoL3g4Ni9tbS9zaGFk b3cvY29tbW9uLmMgICB8IDEyICsrKystLS0tLQogeGVuL2NvbW1vbi9saWJlbGYvbGliZWxmLWxv YWRlci5jIHwgIDQgKy0tCiB4ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9zdXBwb3J0LmggfCA0MCAr KysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tCiAxMyBmaWxlcyBjaGFuZ2VkLCAxMDEgaW5zZXJ0 aW9ucygrKSwgMTAwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0v ZG9tMF9idWlsZC5jIGIveGVuL2FyY2gveDg2L2h2bS9kb20wX2J1aWxkLmMKaW5kZXggMDIwYzM1 NS4uZThmNzQ2YyAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2h2bS9kb20wX2J1aWxkLmMKKysr IGIveGVuL2FyY2gveDg2L2h2bS9kb20wX2J1aWxkLmMKQEAgLTIzOCw3ICsyMzgsNyBAQCBzdGF0 aWMgaW50IF9faW5pdCBwdmhfc2V0dXBfdm14X3JlYWxtb2RlX2hlbHBlcnMoc3RydWN0IGRvbWFp biAqZCkKICAgICBpZiAoICFwdmhfc3RlYWxfcmFtKGQsIEhWTV9WTTg2X1RTU19TSVpFLCAxMjgs IEdCKDQpLCAmZ2FkZHIpICkKICAgICB7CiAgICAgICAgIGlmICggaHZtX2NvcHlfdG9fZ3Vlc3Rf cGh5cyhnYWRkciwgTlVMTCwgSFZNX1ZNODZfVFNTX1NJWkUsIHYpICE9Ci0gICAgICAgICAgICAg SFZNQ09QWV9va2F5ICkKKyAgICAgICAgICAgICBIVk1UUkFOU19va2F5ICkKICAgICAgICAgICAg IHByaW50aygiVW5hYmxlIHRvIHplcm8gVk04NiBUU1MgYXJlYVxuIik7CiAgICAgICAgIGQtPmFy Y2guaHZtX2RvbWFpbi5wYXJhbXNbSFZNX1BBUkFNX1ZNODZfVFNTX1NJWkVEXSA9CiAgICAgICAg ICAgICBWTTg2X1RTU19VUERBVEVEIHwgKCh1aW50NjRfdClIVk1fVk04Nl9UU1NfU0laRSA8PCAz MikgfCBnYWRkcjsKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vZW11bGF0ZS5jIGIveGVu L2FyY2gveDg2L2h2bS9lbXVsYXRlLmMKaW5kZXggNDk1ZTMxMi4uMzg0YWQwYiAxMDA2NDQKLS0t IGEveGVuL2FyY2gveDg2L2h2bS9lbXVsYXRlLmMKKysrIGIveGVuL2FyY2gveDg2L2h2bS9lbXVs YXRlLmMKQEAgLTEwMCw3ICsxMDAsNyBAQCBzdGF0aWMgaW50IGlvcmVxX3NlcnZlcl9yZWFkKGNv bnN0IHN0cnVjdCBodm1faW9faGFuZGxlciAqaW9faGFuZGxlciwKICAgICAgICAgICAgICAgICAg ICAgdWludDMyX3Qgc2l6ZSwKICAgICAgICAgICAgICAgICAgICAgdWludDY0X3QgKmRhdGEpCiB7 Ci0gICAgaWYgKCBodm1fY29weV9mcm9tX2d1ZXN0X3BoeXMoZGF0YSwgYWRkciwgc2l6ZSkgIT0g SFZNQ09QWV9va2F5ICkKKyAgICBpZiAoIGh2bV9jb3B5X2Zyb21fZ3Vlc3RfcGh5cyhkYXRhLCBh ZGRyLCBzaXplKSAhPSBIVk1UUkFOU19va2F5ICkKICAgICAgICAgcmV0dXJuIFg4NkVNVUxfVU5I QU5ETEVBQkxFOwogCiAgICAgcmV0dXJuIFg4NkVNVUxfT0tBWTsKQEAgLTg5MiwxOCArODkyLDE4 IEBAIHN0YXRpYyBpbnQgX19odm1lbXVsX3JlYWQoCiAKICAgICBzd2l0Y2ggKCByYyApCiAgICAg ewotICAgIGNhc2UgSFZNQ09QWV9va2F5OgorICAgIGNhc2UgSFZNVFJBTlNfb2theToKICAgICAg ICAgYnJlYWs7Ci0gICAgY2FzZSBIVk1DT1BZX2JhZF9ndmFfdG9fZ2ZuOgorICAgIGNhc2UgSFZN VFJBTlNfYmFkX2xpbmVhcl90b19nZm46CiAgICAgICAgIHg4Nl9lbXVsX3BhZ2VmYXVsdChwZmlu Zm8uZWMsIHBmaW5mby5saW5lYXIsICZodm1lbXVsX2N0eHQtPmN0eHQpOwogICAgICAgICByZXR1 cm4gWDg2RU1VTF9FWENFUFRJT047Ci0gICAgY2FzZSBIVk1DT1BZX2JhZF9nZm5fdG9fbWZuOgor ICAgIGNhc2UgSFZNVFJBTlNfYmFkX2dmbl90b19tZm46CiAgICAgICAgIGlmICggYWNjZXNzX3R5 cGUgPT0gaHZtX2FjY2Vzc19pbnNuX2ZldGNoICkKICAgICAgICAgICAgIHJldHVybiBYODZFTVVM X1VOSEFORExFQUJMRTsKIAogICAgICAgICByZXR1cm4gaHZtZW11bF9saW5lYXJfbW1pb19yZWFk KGFkZHIsIGJ5dGVzLCBwX2RhdGEsIHBmZWMsIGh2bWVtdWxfY3R4dCwgMCk7Ci0gICAgY2FzZSBI Vk1DT1BZX2dmbl9wYWdlZF9vdXQ6Ci0gICAgY2FzZSBIVk1DT1BZX2dmbl9zaGFyZWQ6CisgICAg Y2FzZSBIVk1UUkFOU19nZm5fcGFnZWRfb3V0OgorICAgIGNhc2UgSFZNVFJBTlNfZ2ZuX3NoYXJl ZDoKICAgICAgICAgcmV0dXJuIFg4NkVNVUxfUkVUUlk7CiAgICAgZGVmYXVsdDoKICAgICAgICAg cmV0dXJuIFg4NkVNVUxfVU5IQU5ETEVBQkxFOwpAQCAtMTAxMSwxNSArMTAxMSwxNSBAQCBzdGF0 aWMgaW50IGh2bWVtdWxfd3JpdGUoCiAKICAgICBzd2l0Y2ggKCByYyApCiAgICAgewotICAgIGNh c2UgSFZNQ09QWV9va2F5OgorICAgIGNhc2UgSFZNVFJBTlNfb2theToKICAgICAgICAgYnJlYWs7 Ci0gICAgY2FzZSBIVk1DT1BZX2JhZF9ndmFfdG9fZ2ZuOgorICAgIGNhc2UgSFZNVFJBTlNfYmFk X2xpbmVhcl90b19nZm46CiAgICAgICAgIHg4Nl9lbXVsX3BhZ2VmYXVsdChwZmluZm8uZWMsIHBm aW5mby5saW5lYXIsICZodm1lbXVsX2N0eHQtPmN0eHQpOwogICAgICAgICByZXR1cm4gWDg2RU1V TF9FWENFUFRJT047Ci0gICAgY2FzZSBIVk1DT1BZX2JhZF9nZm5fdG9fbWZuOgorICAgIGNhc2Ug SFZNVFJBTlNfYmFkX2dmbl90b19tZm46CiAgICAgICAgIHJldHVybiBodm1lbXVsX2xpbmVhcl9t bWlvX3dyaXRlKGFkZHIsIGJ5dGVzLCBwX2RhdGEsIHBmZWMsIGh2bWVtdWxfY3R4dCwgMCk7Ci0g ICAgY2FzZSBIVk1DT1BZX2dmbl9wYWdlZF9vdXQ6Ci0gICAgY2FzZSBIVk1DT1BZX2dmbl9zaGFy ZWQ6CisgICAgY2FzZSBIVk1UUkFOU19nZm5fcGFnZWRfb3V0OgorICAgIGNhc2UgSFZNVFJBTlNf Z2ZuX3NoYXJlZDoKICAgICAgICAgcmV0dXJuIFg4NkVNVUxfUkVUUlk7CiAgICAgZGVmYXVsdDoK ICAgICAgICAgcmV0dXJuIFg4NkVNVUxfVU5IQU5ETEVBQkxFOwpAQCAtMTM4Myw3ICsxMzgzLDcg QEAgc3RhdGljIGludCBodm1lbXVsX3JlcF9tb3ZzKAogICAgICAgICAgICAgcmV0dXJuIHJjOwog ICAgICAgICB9CiAKLSAgICAgICAgcmMgPSBIVk1DT1BZX29rYXk7CisgICAgICAgIHJjID0gSFZN VFJBTlNfb2theTsKICAgICB9CiAgICAgZWxzZQogICAgICAgICAvKgpAQCAtMTM5MywxNiArMTM5 MywxNiBAQCBzdGF0aWMgaW50IGh2bWVtdWxfcmVwX21vdnMoCiAgICAgICAgICAqLwogICAgICAg ICByYyA9IGh2bV9jb3B5X2Zyb21fZ3Vlc3RfcGh5cyhidWYsIHNncGEsIGJ5dGVzKTsKIAotICAg IGlmICggcmMgPT0gSFZNQ09QWV9va2F5ICkKKyAgICBpZiAoIHJjID09IEhWTVRSQU5TX29rYXkg KQogICAgICAgICByYyA9IGh2bV9jb3B5X3RvX2d1ZXN0X3BoeXMoZGdwYSwgYnVmLCBieXRlcywg Y3VycmVudCk7CiAKICAgICB4ZnJlZShidWYpOwogCi0gICAgaWYgKCByYyA9PSBIVk1DT1BZX2dm bl9wYWdlZF9vdXQgKQorICAgIGlmICggcmMgPT0gSFZNVFJBTlNfZ2ZuX3BhZ2VkX291dCApCiAg ICAgICAgIHJldHVybiBYODZFTVVMX1JFVFJZOwotICAgIGlmICggcmMgPT0gSFZNQ09QWV9nZm5f c2hhcmVkICkKKyAgICBpZiAoIHJjID09IEhWTVRSQU5TX2dmbl9zaGFyZWQgKQogICAgICAgICBy ZXR1cm4gWDg2RU1VTF9SRVRSWTsKLSAgICBpZiAoIHJjICE9IEhWTUNPUFlfb2theSApCisgICAg aWYgKCByYyAhPSBIVk1UUkFOU19va2F5ICkKICAgICB7CiAgICAgICAgIGdkcHJpbnRrKFhFTkxP R19XQVJOSU5HLCAiRmFpbGVkIG1lbW9yeS10by1tZW1vcnkgUkVQIE1PVlM6IHNncGE9JSIKICAg ICAgICAgICAgICAgICAgUFJJcGFkZHIiIGRncGE9JSJQUklwYWRkciIgcmVwcz0lbHUgYnl0ZXNf cGVyX3JlcD0ldVxuIiwKQEAgLTE1MTIsMTAgKzE1MTIsMTAgQEAgc3RhdGljIGludCBodm1lbXVs X3JlcF9zdG9zKAogCiAgICAgICAgIHN3aXRjaCAoIHJjICkKICAgICAgICAgewotICAgICAgICBj YXNlIEhWTUNPUFlfZ2ZuX3BhZ2VkX291dDoKLSAgICAgICAgY2FzZSBIVk1DT1BZX2dmbl9zaGFy ZWQ6CisgICAgICAgIGNhc2UgSFZNVFJBTlNfZ2ZuX3BhZ2VkX291dDoKKyAgICAgICAgY2FzZSBI Vk1UUkFOU19nZm5fc2hhcmVkOgogICAgICAgICAgICAgcmV0dXJuIFg4NkVNVUxfUkVUUlk7Ci0g ICAgICAgIGNhc2UgSFZNQ09QWV9va2F5OgorICAgICAgICBjYXNlIEhWTVRSQU5TX29rYXk6CiAg ICAgICAgICAgICByZXR1cm4gWDg2RU1VTF9PS0FZOwogICAgICAgICB9CiAKQEAgLTIxNzEsNyAr MjE3MSw3IEBAIHZvaWQgaHZtX2VtdWxhdGVfaW5pdF9wZXJfaW5zbigKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAmYWRkcikgJiYKICAgICAgICAgICAgICBodm1fZmV0 Y2hfZnJvbV9ndWVzdF9saW5lYXIoaHZtZW11bF9jdHh0LT5pbnNuX2J1ZiwgYWRkciwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKGh2bWVtdWxfY3R4dC0+ aW5zbl9idWYpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZmVj LCBOVUxMKSA9PSBIVk1DT1BZX29rYXkpID8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgcGZlYywgTlVMTCkgPT0gSFZNVFJBTlNfb2theSkgPwogICAgICAgICAgICAg c2l6ZW9mKGh2bWVtdWxfY3R4dC0+aW5zbl9idWYpIDogMDsKICAgICB9CiAgICAgZWxzZQpkaWZm IC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2bS9odm0uYyBiL3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMK aW5kZXggM2VkNmVjNC4uYzgyMmQzYiAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2h2bS9odm0u YworKysgYi94ZW4vYXJjaC94ODYvaHZtL2h2bS5jCkBAIC0yOTE4LDkgKzI5MTgsOSBAQCB2b2lk IGh2bV90YXNrX3N3aXRjaCgKIAogICAgIHJjID0gaHZtX2NvcHlfZnJvbV9ndWVzdF9saW5lYXIo CiAgICAgICAgICZ0c3MsIHByZXZfdHIuYmFzZSwgc2l6ZW9mKHRzcyksIFBGRUNfcGFnZV9wcmVz ZW50LCAmcGZpbmZvKTsKLSAgICBpZiAoIHJjID09IEhWTUNPUFlfYmFkX2d2YV90b19nZm4gKQor ICAgIGlmICggcmMgPT0gSFZNVFJBTlNfYmFkX2xpbmVhcl90b19nZm4gKQogICAgICAgICBodm1f aW5qZWN0X3BhZ2VfZmF1bHQocGZpbmZvLmVjLCBwZmluZm8ubGluZWFyKTsKLSAgICBpZiAoIHJj ICE9IEhWTUNPUFlfb2theSApCisgICAgaWYgKCByYyAhPSBIVk1UUkFOU19va2F5ICkKICAgICAg ICAgZ290byBvdXQ7CiAKICAgICBlZmxhZ3MgPSByZWdzLT5lZmxhZ3M7CkBAIC0yOTU4LDIwICsy OTU4LDIwIEBAIHZvaWQgaHZtX3Rhc2tfc3dpdGNoKAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIG9mZnNldG9mKHR5cGVvZih0c3MpLCB0cmFjZSkgLQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIG9mZnNldG9mKHR5cGVvZih0c3MpLCBlaXApLAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFBGRUNfcGFnZV9wcmVzZW50LCAmcGZpbmZvKTsKLSAg ICBpZiAoIHJjID09IEhWTUNPUFlfYmFkX2d2YV90b19nZm4gKQorICAgIGlmICggcmMgPT0gSFZN VFJBTlNfYmFkX2xpbmVhcl90b19nZm4gKQogICAgICAgICBodm1faW5qZWN0X3BhZ2VfZmF1bHQo cGZpbmZvLmVjLCBwZmluZm8ubGluZWFyKTsKLSAgICBpZiAoIHJjICE9IEhWTUNPUFlfb2theSAp CisgICAgaWYgKCByYyAhPSBIVk1UUkFOU19va2F5ICkKICAgICAgICAgZ290byBvdXQ7CiAKICAg ICByYyA9IGh2bV9jb3B5X2Zyb21fZ3Vlc3RfbGluZWFyKAogICAgICAgICAmdHNzLCB0ci5iYXNl LCBzaXplb2YodHNzKSwgUEZFQ19wYWdlX3ByZXNlbnQsICZwZmluZm8pOwotICAgIGlmICggcmMg PT0gSFZNQ09QWV9iYWRfZ3ZhX3RvX2dmbiApCisgICAgaWYgKCByYyA9PSBIVk1UUkFOU19iYWRf bGluZWFyX3RvX2dmbiApCiAgICAgICAgIGh2bV9pbmplY3RfcGFnZV9mYXVsdChwZmluZm8uZWMs IHBmaW5mby5saW5lYXIpOwogICAgIC8qCi0gICAgICogTm90ZTogVGhlIEhWTUNPUFlfZ2ZuX3No YXJlZCBjYXNlIGNvdWxkIGJlIG9wdGltaXNlZCwgaWYgdGhlIGNhbGxlZQorICAgICAqIE5vdGU6 IFRoZSBIVk1UUkFOU19nZm5fc2hhcmVkIGNhc2UgY291bGQgYmUgb3B0aW1pc2VkLCBpZiB0aGUg Y2FsbGVlCiAgICAgICogZnVuY3Rpb25zIGtuZXcgd2Ugd2FudCBSTyBhY2Nlc3MuCiAgICAgICov Ci0gICAgaWYgKCByYyAhPSBIVk1DT1BZX29rYXkgKQorICAgIGlmICggcmMgIT0gSFZNVFJBTlNf b2theSApCiAgICAgICAgIGdvdG8gb3V0OwogCiAgICAgbmV3X2NwbCA9IHRzcy5lZmxhZ3MgJiBY ODZfRUZMQUdTX1ZNID8gMyA6IHRzcy5jcyAmIDM7CkBAIC0zMDEzLDEyICszMDEzLDEyIEBAIHZv aWQgaHZtX3Rhc2tfc3dpdGNoKAogICAgICAgICByYyA9IGh2bV9jb3B5X3RvX2d1ZXN0X2xpbmVh cih0ci5iYXNlICsgb2Zmc2V0b2YodHlwZW9mKHRzcyksIGJhY2tfbGluayksCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICZ0c3MuYmFja19saW5rLCBzaXplb2YodHNzLmJh Y2tfbGluayksIDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZwZmlu Zm8pOwotICAgICAgICBpZiAoIHJjID09IEhWTUNPUFlfYmFkX2d2YV90b19nZm4gKQorICAgICAg ICBpZiAoIHJjID09IEhWTVRSQU5TX2JhZF9saW5lYXJfdG9fZ2ZuICkKICAgICAgICAgewogICAg ICAgICAgICAgaHZtX2luamVjdF9wYWdlX2ZhdWx0KHBmaW5mby5lYywgcGZpbmZvLmxpbmVhcik7 CiAgICAgICAgICAgICBleG5fcmFpc2VkID0gMTsKICAgICAgICAgfQotICAgICAgICBlbHNlIGlm ICggcmMgIT0gSFZNQ09QWV9va2F5ICkKKyAgICAgICAgZWxzZSBpZiAoIHJjICE9IEhWTVRSQU5T X29rYXkgKQogICAgICAgICAgICAgZ290byBvdXQ7CiAgICAgfQogCkBAIC0zMDU0LDEyICszMDU0 LDEyIEBAIHZvaWQgaHZtX3Rhc2tfc3dpdGNoKAogICAgICAgICB7CiAgICAgICAgICAgICByYyA9 IGh2bV9jb3B5X3RvX2d1ZXN0X2xpbmVhcihsaW5lYXJfYWRkciwgJmVycmNvZGUsIG9wc3osIDAs CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcGZpbmZvKTsKLSAg ICAgICAgICAgIGlmICggcmMgPT0gSFZNQ09QWV9iYWRfZ3ZhX3RvX2dmbiApCisgICAgICAgICAg ICBpZiAoIHJjID09IEhWTVRSQU5TX2JhZF9saW5lYXJfdG9fZ2ZuICkKICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICBodm1faW5qZWN0X3BhZ2VfZmF1bHQocGZpbmZvLmVjLCBwZmluZm8u bGluZWFyKTsKICAgICAgICAgICAgICAgICBleG5fcmFpc2VkID0gMTsKICAgICAgICAgICAgIH0K LSAgICAgICAgICAgIGVsc2UgaWYgKCByYyAhPSBIVk1DT1BZX29rYXkgKQorICAgICAgICAgICAg ZWxzZSBpZiAoIHJjICE9IEhWTVRSQU5TX29rYXkgKQogICAgICAgICAgICAgICAgIGdvdG8gb3V0 OwogICAgICAgICB9CiAgICAgfQpAQCAtMzA3Niw3ICszMDc2LDcgQEAgdm9pZCBodm1fdGFza19z d2l0Y2goCiAjZGVmaW5lIEhWTUNPUFlfdG9fZ3Vlc3QgICAoMXU8PDApCiAjZGVmaW5lIEhWTUNP UFlfcGh5cyAgICAgICAoMHU8PDIpCiAjZGVmaW5lIEhWTUNPUFlfbGluZWFyICAgICAoMXU8PDIp Ci1zdGF0aWMgZW51bSBodm1fY29weV9yZXN1bHQgX19odm1fY29weSgKK3N0YXRpYyBlbnVtIGh2 bV90cmFuc2xhdGlvbl9yZXN1bHQgX19odm1fY29weSgKICAgICB2b2lkICpidWYsIHBhZGRyX3Qg YWRkciwgaW50IHNpemUsIHN0cnVjdCB2Y3B1ICp2LCB1bnNpZ25lZCBpbnQgZmxhZ3MsCiAgICAg dWludDMyX3QgcGZlYywgcGFnZWZhdWx0X2luZm9fdCAqcGZpbmZvKQogewpAQCAtMzEwMSw3ICsz MTAxLDcgQEAgc3RhdGljIGVudW0gaHZtX2NvcHlfcmVzdWx0IF9faHZtX2NvcHkoCiAgICAgICog SGVuY2Ugd2UgYmFpbCBpbW1lZGlhdGVseSBpZiBjYWxsZWQgZnJvbSBhdG9taWMgY29udGV4dC4K ICAgICAgKi8KICAgICBpZiAoIGluX2F0b21pYygpICkKLSAgICAgICAgcmV0dXJuIEhWTUNPUFlf dW5oYW5kbGVhYmxlOworICAgICAgICByZXR1cm4gSFZNVFJBTlNfdW5oYW5kbGVhYmxlOwogI2Vu ZGlmCiAKICAgICB3aGlsZSAoIHRvZG8gPiAwICkKQEAgLTMxMTYsMTUgKzMxMTYsMTUgQEAgc3Rh dGljIGVudW0gaHZtX2NvcHlfcmVzdWx0IF9faHZtX2NvcHkoCiAgICAgICAgICAgICBpZiAoIGdm biA9PSBnZm5feChJTlZBTElEX0dGTikgKQogICAgICAgICAgICAgewogICAgICAgICAgICAgICAg IGlmICggcGZlYyAmIFBGRUNfcGFnZV9wYWdlZCApCi0gICAgICAgICAgICAgICAgICAgIHJldHVy biBIVk1DT1BZX2dmbl9wYWdlZF9vdXQ7CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBIVk1U UkFOU19nZm5fcGFnZWRfb3V0OwogICAgICAgICAgICAgICAgIGlmICggcGZlYyAmIFBGRUNfcGFn ZV9zaGFyZWQgKQotICAgICAgICAgICAgICAgICAgICByZXR1cm4gSFZNQ09QWV9nZm5fc2hhcmVk OworICAgICAgICAgICAgICAgICAgICByZXR1cm4gSFZNVFJBTlNfZ2ZuX3NoYXJlZDsKICAgICAg ICAgICAgICAgICBpZiAoIHBmaW5mbyApCiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICBwZmluZm8tPmxpbmVhciA9IGFkZHI7CiAgICAgICAgICAgICAgICAgICAgIHBmaW5m by0+ZWMgPSBwZmVjICYgflBGRUNfaW1wbGljaXQ7CiAgICAgICAgICAgICAgICAgfQotICAgICAg ICAgICAgICAgIHJldHVybiBIVk1DT1BZX2JhZF9ndmFfdG9fZ2ZuOworICAgICAgICAgICAgICAg IHJldHVybiBIVk1UUkFOU19iYWRfbGluZWFyX3RvX2dmbjsKICAgICAgICAgICAgIH0KICAgICAg ICAgICAgIGdwYSB8PSAocGFkZHJfdClnZm4gPDwgUEFHRV9TSElGVDsKICAgICAgICAgfQpAQCAt MzE0MiwyOCArMzE0MiwyOCBAQCBzdGF0aWMgZW51bSBodm1fY29weV9yZXN1bHQgX19odm1fY29w eSgKICAgICAgICAgaWYgKCB2ID09IGN1cnJlbnQgJiYgaXNfaHZtX3ZjcHUodikKICAgICAgICAg ICAgICAmJiAhbmVzdGVkaHZtX3ZjcHVfaW5fZ3Vlc3Rtb2RlKHYpCiAgICAgICAgICAgICAgJiYg aHZtX21taW9faW50ZXJuYWwoZ3BhKSApCi0gICAgICAgICAgICByZXR1cm4gSFZNQ09QWV9iYWRf Z2ZuX3RvX21mbjsKKyAgICAgICAgICAgIHJldHVybiBIVk1UUkFOU19iYWRfZ2ZuX3RvX21mbjsK IAogICAgICAgICBwYWdlID0gZ2V0X3BhZ2VfZnJvbV9nZm4odi0+ZG9tYWluLCBnZm4sICZwMm10 LCBQMk1fVU5TSEFSRSk7CiAKICAgICAgICAgaWYgKCAhcGFnZSApCi0gICAgICAgICAgICByZXR1 cm4gSFZNQ09QWV9iYWRfZ2ZuX3RvX21mbjsKKyAgICAgICAgICAgIHJldHVybiBIVk1UUkFOU19i YWRfZ2ZuX3RvX21mbjsKIAogICAgICAgICBpZiAoIHAybV9pc19wYWdpbmcocDJtdCkgKQogICAg ICAgICB7CiAgICAgICAgICAgICBwdXRfcGFnZShwYWdlKTsKICAgICAgICAgICAgIHAybV9tZW1f cGFnaW5nX3BvcHVsYXRlKHYtPmRvbWFpbiwgZ2ZuKTsKLSAgICAgICAgICAgIHJldHVybiBIVk1D T1BZX2dmbl9wYWdlZF9vdXQ7CisgICAgICAgICAgICByZXR1cm4gSFZNVFJBTlNfZ2ZuX3BhZ2Vk X291dDsKICAgICAgICAgfQogICAgICAgICBpZiAoIHAybV9pc19zaGFyZWQocDJtdCkgKQogICAg ICAgICB7CiAgICAgICAgICAgICBwdXRfcGFnZShwYWdlKTsKLSAgICAgICAgICAgIHJldHVybiBI Vk1DT1BZX2dmbl9zaGFyZWQ7CisgICAgICAgICAgICByZXR1cm4gSFZNVFJBTlNfZ2ZuX3NoYXJl ZDsKICAgICAgICAgfQogICAgICAgICBpZiAoIHAybV9pc19ncmFudChwMm10KSApCiAgICAgICAg IHsKICAgICAgICAgICAgIHB1dF9wYWdlKHBhZ2UpOwotICAgICAgICAgICAgcmV0dXJuIEhWTUNP UFlfdW5oYW5kbGVhYmxlOworICAgICAgICAgICAgcmV0dXJuIEhWTVRSQU5TX3VuaGFuZGxlYWJs ZTsKICAgICAgICAgfQogCiAgICAgICAgIHAgPSAoY2hhciAqKV9fbWFwX2RvbWFpbl9wYWdlKHBh Z2UpICsgKGFkZHIgJiB+UEFHRV9NQVNLKTsKQEAgLTMyMDEsMjQgKzMyMDEsMjQgQEAgc3RhdGlj IGVudW0gaHZtX2NvcHlfcmVzdWx0IF9faHZtX2NvcHkoCiAgICAgICAgIHB1dF9wYWdlKHBhZ2Up OwogICAgIH0KIAotICAgIHJldHVybiBIVk1DT1BZX29rYXk7CisgICAgcmV0dXJuIEhWTVRSQU5T X29rYXk7CiB9CiAKLWVudW0gaHZtX2NvcHlfcmVzdWx0IGh2bV9jb3B5X3RvX2d1ZXN0X3BoeXMo CitlbnVtIGh2bV90cmFuc2xhdGlvbl9yZXN1bHQgaHZtX2NvcHlfdG9fZ3Vlc3RfcGh5cygKICAg ICBwYWRkcl90IHBhZGRyLCB2b2lkICpidWYsIGludCBzaXplLCBzdHJ1Y3QgdmNwdSAqdikKIHsK ICAgICByZXR1cm4gX19odm1fY29weShidWYsIHBhZGRyLCBzaXplLCB2LAogICAgICAgICAgICAg ICAgICAgICAgIEhWTUNPUFlfdG9fZ3Vlc3QgfCBIVk1DT1BZX3BoeXMsIDAsIE5VTEwpOwogfQog Ci1lbnVtIGh2bV9jb3B5X3Jlc3VsdCBodm1fY29weV9mcm9tX2d1ZXN0X3BoeXMoCitlbnVtIGh2 bV90cmFuc2xhdGlvbl9yZXN1bHQgaHZtX2NvcHlfZnJvbV9ndWVzdF9waHlzKAogICAgIHZvaWQg KmJ1ZiwgcGFkZHJfdCBwYWRkciwgaW50IHNpemUpCiB7CiAgICAgcmV0dXJuIF9faHZtX2NvcHko YnVmLCBwYWRkciwgc2l6ZSwgY3VycmVudCwKICAgICAgICAgICAgICAgICAgICAgICBIVk1DT1BZ X2Zyb21fZ3Vlc3QgfCBIVk1DT1BZX3BoeXMsIDAsIE5VTEwpOwogfQogCi1lbnVtIGh2bV9jb3B5 X3Jlc3VsdCBodm1fY29weV90b19ndWVzdF9saW5lYXIoCitlbnVtIGh2bV90cmFuc2xhdGlvbl9y ZXN1bHQgaHZtX2NvcHlfdG9fZ3Vlc3RfbGluZWFyKAogICAgIHVuc2lnbmVkIGxvbmcgYWRkciwg dm9pZCAqYnVmLCBpbnQgc2l6ZSwgdWludDMyX3QgcGZlYywKICAgICBwYWdlZmF1bHRfaW5mb190 ICpwZmluZm8pCiB7CkBAIC0zMjI3LDcgKzMyMjcsNyBAQCBlbnVtIGh2bV9jb3B5X3Jlc3VsdCBo dm1fY29weV90b19ndWVzdF9saW5lYXIoCiAgICAgICAgICAgICAgICAgICAgICAgUEZFQ19wYWdl X3ByZXNlbnQgfCBQRkVDX3dyaXRlX2FjY2VzcyB8IHBmZWMsIHBmaW5mbyk7CiB9CiAKLWVudW0g aHZtX2NvcHlfcmVzdWx0IGh2bV9jb3B5X2Zyb21fZ3Vlc3RfbGluZWFyKAorZW51bSBodm1fdHJh bnNsYXRpb25fcmVzdWx0IGh2bV9jb3B5X2Zyb21fZ3Vlc3RfbGluZWFyKAogICAgIHZvaWQgKmJ1 ZiwgdW5zaWduZWQgbG9uZyBhZGRyLCBpbnQgc2l6ZSwgdWludDMyX3QgcGZlYywKICAgICBwYWdl ZmF1bHRfaW5mb190ICpwZmluZm8pCiB7CkBAIC0zMjM2LDcgKzMyMzYsNyBAQCBlbnVtIGh2bV9j b3B5X3Jlc3VsdCBodm1fY29weV9mcm9tX2d1ZXN0X2xpbmVhcigKICAgICAgICAgICAgICAgICAg ICAgICBQRkVDX3BhZ2VfcHJlc2VudCB8IHBmZWMsIHBmaW5mbyk7CiB9CiAKLWVudW0gaHZtX2Nv cHlfcmVzdWx0IGh2bV9mZXRjaF9mcm9tX2d1ZXN0X2xpbmVhcigKK2VudW0gaHZtX3RyYW5zbGF0 aW9uX3Jlc3VsdCBodm1fZmV0Y2hfZnJvbV9ndWVzdF9saW5lYXIoCiAgICAgdm9pZCAqYnVmLCB1 bnNpZ25lZCBsb25nIGFkZHIsIGludCBzaXplLCB1aW50MzJfdCBwZmVjLAogICAgIHBhZ2VmYXVs dF9pbmZvX3QgKnBmaW5mbykKIHsKQEAgLTM2NzMsNyArMzY3Myw3IEBAIHZvaWQgaHZtX3VkX2lu dGVyY2VwdChzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzaXplb2Yoc2lnKSwgaHZtX2FjY2Vzc19pbnNuX2ZldGNoLAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNzLCAmYWRkcikgJiYKICAg ICAgICAgICAgICAoaHZtX2ZldGNoX2Zyb21fZ3Vlc3RfbGluZWFyKHNpZywgYWRkciwgc2l6ZW9m KHNpZyksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YWxrLCBO VUxMKSA9PSBIVk1DT1BZX29rYXkpICYmCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB3YWxrLCBOVUxMKSA9PSBIVk1UUkFOU19va2F5KSAmJgogICAgICAgICAgICAg IChtZW1jbXAoc2lnLCAiXHhmXHhieGVuIiwgc2l6ZW9mKHNpZykpID09IDApICkKICAgICAgICAg ewogICAgICAgICAgICAgcmVncy0+cmlwICs9IHNpemVvZihzaWcpOwpkaWZmIC0tZ2l0IGEveGVu L2FyY2gveDg2L2h2bS9pbnRlcmNlcHQuYyBiL3hlbi9hcmNoL3g4Ni9odm0vaW50ZXJjZXB0LmMK aW5kZXggZTUxZWZkNS4uZWY4MjQxOSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2h2bS9pbnRl cmNlcHQuYworKysgYi94ZW4vYXJjaC94ODYvaHZtL2ludGVyY2VwdC5jCkBAIC0xMzYsMTQgKzEz NiwxNCBAQCBpbnQgaHZtX3Byb2Nlc3NfaW9faW50ZXJjZXB0KGNvbnN0IHN0cnVjdCBodm1faW9f aGFuZGxlciAqaGFuZGxlciwKICAgICAgICAgICAgICAgICBzd2l0Y2ggKCBodm1fY29weV90b19n dWVzdF9waHlzKHAtPmRhdGEgKyBzdGVwICogaSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICZkYXRhLCBwLT5zaXplLCBjdXJyZW50KSApCiAgICAgICAg ICAgICAgICAgewotICAgICAgICAgICAgICAgIGNhc2UgSFZNQ09QWV9va2F5OgorICAgICAgICAg ICAgICAgIGNhc2UgSFZNVFJBTlNfb2theToKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0g ICAgICAgICAgICAgICAgY2FzZSBIVk1DT1BZX2JhZF9nZm5fdG9fbWZuOgorICAgICAgICAgICAg ICAgIGNhc2UgSFZNVFJBTlNfYmFkX2dmbl90b19tZm46CiAgICAgICAgICAgICAgICAgICAgIC8q IERyb3AgdGhlIHdyaXRlIGFzIHJlYWwgaGFyZHdhcmUgd291bGQuICovCiAgICAgICAgICAgICAg ICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgICAgIGNhc2UgSFZNQ09QWV9iYWRfZ3ZhX3Rv X2dmbjoKLSAgICAgICAgICAgICAgICBjYXNlIEhWTUNPUFlfZ2ZuX3BhZ2VkX291dDoKLSAgICAg ICAgICAgICAgICBjYXNlIEhWTUNPUFlfZ2ZuX3NoYXJlZDoKKyAgICAgICAgICAgICAgICBjYXNl IEhWTVRSQU5TX2JhZF9saW5lYXJfdG9fZ2ZuOgorICAgICAgICAgICAgICAgIGNhc2UgSFZNVFJB TlNfZ2ZuX3BhZ2VkX291dDoKKyAgICAgICAgICAgICAgICBjYXNlIEhWTVRSQU5TX2dmbl9zaGFy ZWQ6CiAgICAgICAgICAgICAgICAgICAgIEFTU0VSVF9VTlJFQUNIQUJMRSgpOwogICAgICAgICAg ICAgICAgICAgICAvKiBmYWxsIHRocm91Z2ggKi8KICAgICAgICAgICAgICAgICBkZWZhdWx0OgpA QCAtMTY0LDE0ICsxNjQsMTQgQEAgaW50IGh2bV9wcm9jZXNzX2lvX2ludGVyY2VwdChjb25zdCBz dHJ1Y3QgaHZtX2lvX2hhbmRsZXIgKmhhbmRsZXIsCiAgICAgICAgICAgICAgICAgc3dpdGNoICgg aHZtX2NvcHlfZnJvbV9ndWVzdF9waHlzKCZkYXRhLCBwLT5kYXRhICsgc3RlcCAqIGksCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHAtPnNpemUpICkK ICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgY2FzZSBIVk1DT1BZX29rYXk6Cisg ICAgICAgICAgICAgICAgY2FzZSBIVk1UUkFOU19va2F5OgogICAgICAgICAgICAgICAgICAgICBi cmVhazsKLSAgICAgICAgICAgICAgICBjYXNlIEhWTUNPUFlfYmFkX2dmbl90b19tZm46CisgICAg ICAgICAgICAgICAgY2FzZSBIVk1UUkFOU19iYWRfZ2ZuX3RvX21mbjoKICAgICAgICAgICAgICAg ICAgICAgZGF0YSA9IH4wOwogICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAg ICAgICBjYXNlIEhWTUNPUFlfYmFkX2d2YV90b19nZm46Ci0gICAgICAgICAgICAgICAgY2FzZSBI Vk1DT1BZX2dmbl9wYWdlZF9vdXQ6Ci0gICAgICAgICAgICAgICAgY2FzZSBIVk1DT1BZX2dmbl9z aGFyZWQ6CisgICAgICAgICAgICAgICAgY2FzZSBIVk1UUkFOU19iYWRfbGluZWFyX3RvX2dmbjoK KyAgICAgICAgICAgICAgICBjYXNlIEhWTVRSQU5TX2dmbl9wYWdlZF9vdXQ6CisgICAgICAgICAg ICAgICAgY2FzZSBIVk1UUkFOU19nZm5fc2hhcmVkOgogICAgICAgICAgICAgICAgICAgICBBU1NF UlRfVU5SRUFDSEFCTEUoKTsKICAgICAgICAgICAgICAgICAgICAgLyogZmFsbCB0aHJvdWdoICov CiAgICAgICAgICAgICAgICAgZGVmYXVsdDoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0v c3ZtL25lc3RlZHN2bS5jIGIveGVuL2FyY2gveDg2L2h2bS9zdm0vbmVzdGVkc3ZtLmMKaW5kZXgg OGZkOWMyMy4uNjZhMTc3NyAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2h2bS9zdm0vbmVzdGVk c3ZtLmMKKysrIGIveGVuL2FyY2gveDg2L2h2bS9zdm0vbmVzdGVkc3ZtLmMKQEAgLTM1Nyw3ICsz NTcsNyBAQCBzdGF0aWMgaW50IG5zdm1fdm1ydW5fcGVybWlzc2lvbm1hcChzdHJ1Y3QgdmNwdSAq diwgYm9vbF90IHZpb3BtKQogICAgIHN0cnVjdCB2bWNiX3N0cnVjdCAqaG9zdF92bWNiID0gYXJj aF9zdm0tPnZtY2I7CiAgICAgdW5zaWduZWQgbG9uZyAqbnNfbXNycG1fcHRyOwogICAgIHVuc2ln bmVkIGludCBpOwotICAgIGVudW0gaHZtX2NvcHlfcmVzdWx0IHJldDsKKyAgICBlbnVtIGh2bV90 cmFuc2xhdGlvbl9yZXN1bHQgcmV0OwogICAgIHVuc2lnbmVkIGxvbmcgKm5zX3Zpb21hcDsKICAg ICBib29sX3QgaW9wb3J0XzgwID0gMSwgaW9wb3J0X2VkID0gMTsKIApAQCAtMzY1LDcgKzM2NSw4 IEBAIHN0YXRpYyBpbnQgbnN2bV92bXJ1bl9wZXJtaXNzaW9ubWFwKHN0cnVjdCB2Y3B1ICp2LCBi b29sX3QgdmlvcG0pCiAKICAgICByZXQgPSBodm1fY29weV9mcm9tX2d1ZXN0X3BoeXMoc3ZtLT5u c19jYWNoZWRfbXNycG0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5zX3Zt Y2ItPl9tc3JwbV9iYXNlX3BhLCBNU1JQTV9TSVpFKTsKLSAgICBpZiAocmV0ICE9IEhWTUNPUFlf b2theSkgeworICAgIGlmICggcmV0ICE9IEhWTVRSQU5TX29rYXkgKQorICAgIHsKICAgICAgICAg Z2RwcmludGsoWEVOTE9HX0VSUiwgImh2bV9jb3B5X2Zyb21fZ3Vlc3RfcGh5cyBtc3JwbSAldVxu IiwgcmV0KTsKICAgICAgICAgcmV0dXJuIDE7CiAgICAgfQpkaWZmIC0tZ2l0IGEveGVuL2FyY2gv eDg2L2h2bS9zdm0vc3ZtLmMgYi94ZW4vYXJjaC94ODYvaHZtL3N2bS9zdm0uYwppbmRleCA0MDJl ODE1Li45M2NmZGQ3IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvaHZtL3N2bS9zdm0uYworKysg Yi94ZW4vYXJjaC94ODYvaHZtL3N2bS9zdm0uYwpAQCAtMTI2OCw3ICsxMjY4LDcgQEAgc3RhdGlj IHZvaWQgc3ZtX2VtdWxfc3dpbnRfaW5qZWN0aW9uKHN0cnVjdCB4ODZfZXZlbnQgKmV2ZW50KQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUEZFQ19pbXBsaWNpdCwgJnBmaW5m byk7CiAgICAgaWYgKCByYyApCiAgICAgewotICAgICAgICBpZiAoIHJjID09IEhWTUNPUFlfYmFk X2d2YV90b19nZm4gKQorICAgICAgICBpZiAoIHJjID09IEhWTVRSQU5TX2JhZF9saW5lYXJfdG9f Z2ZuICkKICAgICAgICAgewogICAgICAgICAgICAgZmF1bHQgPSBUUkFQX3BhZ2VfZmF1bHQ7CiAg ICAgICAgICAgICBlYyA9IHBmaW5mby5lYzsKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0v dmlyaWRpYW4uYyBiL3hlbi9hcmNoL3g4Ni9odm0vdmlyaWRpYW4uYwppbmRleCBhYTliODdjLi4w Yzc0ZmE0IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvaHZtL3ZpcmlkaWFuLmMKKysrIGIveGVu L2FyY2gveDg2L2h2bS92aXJpZGlhbi5jCkBAIC05MTQsNyArOTE0LDcgQEAgaW50IHZpcmlkaWFu X2h5cGVyY2FsbChzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykKIAogICAgICAgICAvKiBHZXQg aW5wdXQgcGFyYW1ldGVycy4gKi8KICAgICAgICAgaWYgKCBodm1fY29weV9mcm9tX2d1ZXN0X3Bo eXMoJmlucHV0X3BhcmFtcywgaW5wdXRfcGFyYW1zX2dwYSwKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgc2l6ZW9mKGlucHV0X3BhcmFtcykpICE9IEhWTUNPUFlfb2theSAp CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihpbnB1dF9wYXJh bXMpKSAhPSBIVk1UUkFOU19va2F5ICkKICAgICAgICAgICAgIGJyZWFrOwogCiAgICAgICAgIC8q CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvaHZtL3Ztc2kuYyBiL3hlbi9hcmNoL3g4Ni9odm0v dm1zaS5jCmluZGV4IGEzNjY5MmMuLjc0MTVjZGQgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9o dm0vdm1zaS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vdm1zaS5jCkBAIC02MTAsNyArNjEwLDcg QEAgdm9pZCBtc2l4X3dyaXRlX2NvbXBsZXRpb24oc3RydWN0IHZjcHUgKnYpCiAgICAgICAgIGlm ICggZGVzYyAmJgogICAgICAgICAgICAgIGh2bV9jb3B5X2Zyb21fZ3Vlc3RfcGh5cygmZGF0YSwK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdi0+YXJjaC5odm1fdmNwdS5o dm1faW8ubXNpeF9zbm9vcF9ncGEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHNpemVvZihkYXRhKSkgPT0gSFZNQ09QWV9va2F5ICYmCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHNpemVvZihkYXRhKSkgPT0gSFZNVFJBTlNfb2theSAmJgogICAg ICAgICAgICAgICEoZGF0YSAmIFBDSV9NU0lYX1ZFQ1RPUl9CSVRNQVNLKSApCiAgICAgICAgICAg ICBjdHJsX2FkZHJlc3MgPSBzbm9vcF9hZGRyOwogICAgIH0KZGlmZiAtLWdpdCBhL3hlbi9hcmNo L3g4Ni9odm0vdm14L3JlYWxtb2RlLmMgYi94ZW4vYXJjaC94ODYvaHZtL3ZteC9yZWFsbW9kZS5j CmluZGV4IDE5OTZiMWYuLmJkNzQ5ZjQgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vdm14 L3JlYWxtb2RlLmMKKysrIGIveGVuL2FyY2gveDg2L2h2bS92bXgvcmVhbG1vZGUuYwpAQCAtNDAs NyArNDAsNyBAQCBzdGF0aWMgdm9pZCByZWFsbW9kZV9kZWxpdmVyX2V4Y2VwdGlvbigKICAgICBs YXN0X2J5dGUgPSAodmVjdG9yICogNCkgKyAzOwogICAgIGlmICggaWR0ci0+bGltaXQgPCBsYXN0 X2J5dGUgfHwKICAgICAgICAgIGh2bV9jb3B5X2Zyb21fZ3Vlc3RfcGh5cygmY3NfZWlwLCBpZHRy LT5iYXNlICsgdmVjdG9yICogNCwgNCkgIT0KLSAgICAgICAgIEhWTUNPUFlfb2theSApCisgICAg ICAgICBIVk1UUkFOU19va2F5ICkKICAgICB7CiAgICAgICAgIC8qIFNvZnR3YXJlIGludGVycnVw dD8gKi8KICAgICAgICAgaWYgKCBpbnNuX2xlbiAhPSAwICkKZGlmZiAtLWdpdCBhL3hlbi9hcmNo L3g4Ni9odm0vdm14L3Z2bXguYyBiL3hlbi9hcmNoL3g4Ni9odm0vdm14L3Z2bXguYwppbmRleCAz NTYwZmFlLi4zZmViNDZjIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvaHZtL3ZteC92dm14LmMK KysrIGIveGVuL2FyY2gveDg2L2h2bS92bXgvdnZteC5jCkBAIC00NzksOSArNDc5LDkgQEAgc3Rh dGljIGludCBkZWNvZGVfdm14X2luc3Qoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MsCiAgICAg ICAgICAgICBpbnQgcmMgPSBodm1fY29weV9mcm9tX2d1ZXN0X2xpbmVhcihwb3BlcmFuZFMsIGJh c2UsIHNpemUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAwLCAmcGZpbmZvKTsKIAotICAgICAgICAgICAgaWYgKCByYyA9PSBIVk1DT1BZX2JhZF9ndmFf dG9fZ2ZuICkKKyAgICAgICAgICAgIGlmICggcmMgPT0gSFZNVFJBTlNfYmFkX2xpbmVhcl90b19n Zm4gKQogICAgICAgICAgICAgICAgIGh2bV9pbmplY3RfcGFnZV9mYXVsdChwZmluZm8uZWMsIHBm aW5mby5saW5lYXIpOwotICAgICAgICAgICAgaWYgKCByYyAhPSBIVk1DT1BZX29rYXkgKQorICAg ICAgICAgICAgaWYgKCByYyAhPSBIVk1UUkFOU19va2F5ICkKICAgICAgICAgICAgICAgICByZXR1 cm4gWDg2RU1VTF9FWENFUFRJT047CiAgICAgICAgIH0KICAgICAgICAgZGVjb2RlLT5tZW0gPSBi YXNlOwpAQCAtMTQ1Myw3ICsxNDUzLDcgQEAgaW50IG52bXhfaGFuZGxlX3ZteG9uKHN0cnVjdCBj cHVfdXNlcl9yZWdzICpyZWdzKQogICAgIH0KIAogICAgIHJjID0gaHZtX2NvcHlfZnJvbV9ndWVz dF9waHlzKCZudm1jc19yZXZpZCwgZ3BhLCBzaXplb2YobnZtY3NfcmV2aWQpKTsKLSAgICBpZiAo IHJjICE9IEhWTUNPUFlfb2theSB8fAorICAgIGlmICggcmMgIT0gSFZNVFJBTlNfb2theSB8fAog ICAgICAgICAgKG52bWNzX3JldmlkICYgflZNWF9CQVNJQ19SRVZJU0lPTl9NQVNLKSB8fAogICAg ICAgICAgKChudm1jc19yZXZpZCBeIHZteF9iYXNpY19tc3IpICYgVk1YX0JBU0lDX1JFVklTSU9O X01BU0spICkKICAgICB7CkBAIC0xNzMxLDkgKzE3MzEsOSBAQCBpbnQgbnZteF9oYW5kbGVfdm1w dHJzdChzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykKICAgICBncGEgPSBudmNwdS0+bnZfdnZt Y3hhZGRyOwogCiAgICAgcmMgPSBodm1fY29weV90b19ndWVzdF9saW5lYXIoZGVjb2RlLm1lbSwg JmdwYSwgZGVjb2RlLmxlbiwgMCwgJnBmaW5mbyk7Ci0gICAgaWYgKCByYyA9PSBIVk1DT1BZX2Jh ZF9ndmFfdG9fZ2ZuICkKKyAgICBpZiAoIHJjID09IEhWTVRSQU5TX2JhZF9saW5lYXJfdG9fZ2Zu ICkKICAgICAgICAgaHZtX2luamVjdF9wYWdlX2ZhdWx0KHBmaW5mby5lYywgcGZpbmZvLmxpbmVh cik7Ci0gICAgaWYgKCByYyAhPSBIVk1DT1BZX29rYXkgKQorICAgIGlmICggcmMgIT0gSFZNVFJB TlNfb2theSApCiAgICAgICAgIHJldHVybiBYODZFTVVMX0VYQ0VQVElPTjsKIAogICAgIHZtc3Vj Y2VlZChyZWdzKTsKQEAgLTE4MjAsOSArMTgyMCw5IEBAIGludCBudm14X2hhbmRsZV92bXJlYWQo c3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpCiAgICAgc3dpdGNoICggZGVjb2RlLnR5cGUgKSB7 CiAgICAgY2FzZSBWTVhfSU5TVF9NRU1SRUdfVFlQRV9NRU1PUlk6CiAgICAgICAgIHJjID0gaHZt X2NvcHlfdG9fZ3Vlc3RfbGluZWFyKGRlY29kZS5tZW0sICZ2YWx1ZSwgZGVjb2RlLmxlbiwgMCwg JnBmaW5mbyk7Ci0gICAgICAgIGlmICggcmMgPT0gSFZNQ09QWV9iYWRfZ3ZhX3RvX2dmbiApCisg ICAgICAgIGlmICggcmMgPT0gSFZNVFJBTlNfYmFkX2xpbmVhcl90b19nZm4gKQogICAgICAgICAg ICAgaHZtX2luamVjdF9wYWdlX2ZhdWx0KHBmaW5mby5lYywgcGZpbmZvLmxpbmVhcik7Ci0gICAg ICAgIGlmICggcmMgIT0gSFZNQ09QWV9va2F5ICkKKyAgICAgICAgaWYgKCByYyAhPSBIVk1UUkFO U19va2F5ICkKICAgICAgICAgICAgIHJldHVybiBYODZFTVVMX0VYQ0VQVElPTjsKICAgICAgICAg YnJlYWs7CiAgICAgY2FzZSBWTVhfSU5TVF9NRU1SRUdfVFlQRV9SRUc6CmRpZmYgLS1naXQgYS94 ZW4vYXJjaC94ODYvbW0vc2hhZG93L2NvbW1vbi5jIGIveGVuL2FyY2gveDg2L21tL3NoYWRvdy9j b21tb24uYwppbmRleCBkZWVhMDNhLi5mZDcwMTQ3IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYv bW0vc2hhZG93L2NvbW1vbi5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9zaGFkb3cvY29tbW9uLmMK QEAgLTE5NiwxNiArMTk2LDE2IEBAIGh2bV9yZWFkKGVudW0geDg2X3NlZ21lbnQgc2VnLAogCiAg ICAgc3dpdGNoICggcmMgKQogICAgIHsKLSAgICBjYXNlIEhWTUNPUFlfb2theToKKyAgICBjYXNl IEhWTVRSQU5TX29rYXk6CiAgICAgICAgIHJldHVybiBYODZFTVVMX09LQVk7Ci0gICAgY2FzZSBI Vk1DT1BZX2JhZF9ndmFfdG9fZ2ZuOgorICAgIGNhc2UgSFZNVFJBTlNfYmFkX2xpbmVhcl90b19n Zm46CiAgICAgICAgIHg4Nl9lbXVsX3BhZ2VmYXVsdChwZmluZm8uZWMsIHBmaW5mby5saW5lYXIs ICZzaF9jdHh0LT5jdHh0KTsKICAgICAgICAgcmV0dXJuIFg4NkVNVUxfRVhDRVBUSU9OOwotICAg IGNhc2UgSFZNQ09QWV9iYWRfZ2ZuX3RvX21mbjoKLSAgICBjYXNlIEhWTUNPUFlfdW5oYW5kbGVh YmxlOgorICAgIGNhc2UgSFZNVFJBTlNfYmFkX2dmbl90b19tZm46CisgICAgY2FzZSBIVk1UUkFO U191bmhhbmRsZWFibGU6CiAgICAgICAgIHJldHVybiBYODZFTVVMX1VOSEFORExFQUJMRTsKLSAg ICBjYXNlIEhWTUNPUFlfZ2ZuX3BhZ2VkX291dDoKLSAgICBjYXNlIEhWTUNPUFlfZ2ZuX3NoYXJl ZDoKKyAgICBjYXNlIEhWTVRSQU5TX2dmbl9wYWdlZF9vdXQ6CisgICAgY2FzZSBIVk1UUkFOU19n Zm5fc2hhcmVkOgogICAgICAgICByZXR1cm4gWDg2RU1VTF9SRVRSWTsKICAgICB9CiAKZGlmZiAt LWdpdCBhL3hlbi9jb21tb24vbGliZWxmL2xpYmVsZi1sb2FkZXIuYyBiL3hlbi9jb21tb24vbGli ZWxmL2xpYmVsZi1sb2FkZXIuYwppbmRleCBjOGI3ZWM5Li4wZjQ2ODcyIDEwMDY0NAotLS0gYS94 ZW4vY29tbW9uL2xpYmVsZi9saWJlbGYtbG9hZGVyLmMKKysrIGIveGVuL2NvbW1vbi9saWJlbGYv bGliZWxmLWxvYWRlci5jCkBAIC0xNTQsMTAgKzE1NCwxMCBAQCBzdGF0aWMgZWxmX2Vycm9yc3Rh dHVzIGVsZl9tZW1jcHkoc3RydWN0IHZjcHUgKnYsIHZvaWQgKmRzdCwgdm9pZCAqc3JjLAogI2lm ZGVmIENPTkZJR19YODYKICAgICBpZiAoIGlzX2h2bV92Y3B1KHYpICkKICAgICB7Ci0gICAgICAg IGVudW0gaHZtX2NvcHlfcmVzdWx0IHJjOworICAgICAgICBlbnVtIGh2bV90cmFuc2xhdGlvbl9y ZXN1bHQgcmM7CiAKICAgICAgICAgcmMgPSBodm1fY29weV90b19ndWVzdF9waHlzKChwYWRkcl90 KWRzdCwgc3JjLCBzaXplLCB2KTsKLSAgICAgICAgcmV0dXJuIHJjICE9IEhWTUNPUFlfb2theSA/ IC0xIDogMDsKKyAgICAgICAgcmV0dXJuIHJjICE9IEhWTVRSQU5TX29rYXkgPyAtMSA6IDA7CiAg ICAgfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3N1cHBv cnQuaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3N1cHBvcnQuaAppbmRleCA4YTEyNTJiLi5h MTc5OWEzIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9zdXBwb3J0LmgKKysr IGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vc3VwcG9ydC5oCkBAIC01MywyMyArNTMsMjMgQEAg ZXh0ZXJuIHVuc2lnbmVkIGludCBvcHRfaHZtX2RlYnVnX2xldmVsOwogCiBleHRlcm4gdW5zaWdu ZWQgbG9uZyBodm1faW9fYml0bWFwW107CiAKLWVudW0gaHZtX2NvcHlfcmVzdWx0IHsKLSAgICBI Vk1DT1BZX29rYXkgPSAwLAotICAgIEhWTUNPUFlfYmFkX2d2YV90b19nZm4sCi0gICAgSFZNQ09Q WV9iYWRfZ2ZuX3RvX21mbiwKLSAgICBIVk1DT1BZX3VuaGFuZGxlYWJsZSwKLSAgICBIVk1DT1BZ X2dmbl9wYWdlZF9vdXQsCi0gICAgSFZNQ09QWV9nZm5fc2hhcmVkLAorZW51bSBodm1fdHJhbnNs YXRpb25fcmVzdWx0IHsKKyAgICBIVk1UUkFOU19va2F5LAorICAgIEhWTVRSQU5TX2JhZF9saW5l YXJfdG9fZ2ZuLAorICAgIEhWTVRSQU5TX2JhZF9nZm5fdG9fbWZuLAorICAgIEhWTVRSQU5TX3Vu aGFuZGxlYWJsZSwKKyAgICBIVk1UUkFOU19nZm5fcGFnZWRfb3V0LAorICAgIEhWTVRSQU5TX2dm bl9zaGFyZWQsCiB9OwogCiAvKgogICogQ29weSB0by9mcm9tIGEgZ3Vlc3QgcGh5c2ljYWwgYWRk cmVzcy4KLSAqIFJldHVybnMgSFZNQ09QWV9va2F5LCBlbHNlIEhWTUNPUFlfYmFkX2dmbl90b19t Zm4gaWYgdGhlIGdpdmVuIHBoeXNpY2FsCisgKiBSZXR1cm5zIEhWTVRSQU5TX29rYXksIGVsc2Ug SFZNVFJBTlNfYmFkX2dmbl90b19tZm4gaWYgdGhlIGdpdmVuIHBoeXNpY2FsCiAgKiBhZGRyZXNz IHJhbmdlIGRvZXMgbm90IG1hcCBlbnRpcmVseSBvbnRvIG9yZGluYXJ5IG1hY2hpbmUgbWVtb3J5 LgogICovCi1lbnVtIGh2bV9jb3B5X3Jlc3VsdCBodm1fY29weV90b19ndWVzdF9waHlzKAorZW51 bSBodm1fdHJhbnNsYXRpb25fcmVzdWx0IGh2bV9jb3B5X3RvX2d1ZXN0X3BoeXMoCiAgICAgcGFk ZHJfdCBwYWRkciwgdm9pZCAqYnVmLCBpbnQgc2l6ZSwgc3RydWN0IHZjcHUgKnYpOwotZW51bSBo dm1fY29weV9yZXN1bHQgaHZtX2NvcHlfZnJvbV9ndWVzdF9waHlzKAorZW51bSBodm1fdHJhbnNs YXRpb25fcmVzdWx0IGh2bV9jb3B5X2Zyb21fZ3Vlc3RfcGh5cygKICAgICB2b2lkICpidWYsIHBh ZGRyX3QgcGFkZHIsIGludCBzaXplKTsKIAogLyoKQEAgLTc5LDEzICs3OSwxMyBAQCBlbnVtIGh2 bV9jb3B5X3Jlc3VsdCBodm1fY29weV9mcm9tX2d1ZXN0X3BoeXMoCiAgKiB0byBzZXQgdGhlbS4K ICAqIAogICogUmV0dXJuczoKLSAqICBIVk1DT1BZX29rYXk6IENvcHkgd2FzIGVudGlyZWx5IHN1 Y2Nlc3NmdWwuCi0gKiAgSFZNQ09QWV9iYWRfZ2ZuX3RvX21mbjogU29tZSBndWVzdCBwaHlzaWNh bCBhZGRyZXNzIGRpZCBub3QgbWFwIHRvCi0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgb3Jk aW5hcnkgbWFjaGluZSBtZW1vcnkuCi0gKiAgSFZNQ09QWV9iYWRfZ3ZhX3RvX2dmbjogU29tZSBn dWVzdCB2aXJ0dWFsIGFkZHJlc3MgZGlkIG5vdCBoYXZlIGEgdmFsaWQKLSAqICAgICAgICAgICAg ICAgICAgICAgICAgICBtYXBwaW5nIHRvIGEgZ3Vlc3QgcGh5c2ljYWwgYWRkcmVzcy4gIFRoZQot ICogICAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2VmYXVsdF9pbmZvX3Qgc3RydWN0dXJlIHdp bGwgYmUgZmlsbGVkIGluIGlmCi0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvdmlkZWQu CisgKiAgSFZNVFJBTlNfb2theTogQ29weSB3YXMgZW50aXJlbHkgc3VjY2Vzc2Z1bC4KKyAqICBI Vk1UUkFOU19iYWRfZ2ZuX3RvX21mbjogU29tZSBndWVzdCBwaHlzaWNhbCBhZGRyZXNzIGRpZCBu b3QgbWFwIHRvCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yZGluYXJ5IG1hY2hpbmUg bWVtb3J5LgorICogIEhWTVRSQU5TX2JhZF9saW5lYXJfdG9fZ2ZuOiBTb21lIGd1ZXN0IGxpbmVh ciBhZGRyZXNzIGRpZCBub3QgaGF2ZSBhCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHZhbGlkIG1hcHBpbmcgdG8gYSBndWVzdCBwaHlzaWNhbCBhZGRyZXNzLgorICogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBUaGUgcGFnZWZhdWx0X2luZm9fdCBzdHJ1Y3R1cmUgd2lsbCBi ZSBmaWxsZWQKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gaWYgcHJvdmlkZWQu CiAgKi8KIHR5cGVkZWYgc3RydWN0IHBhZ2VmYXVsdF9pbmZvCiB7CkBAIC05MywxMyArOTMsMTMg QEAgdHlwZWRlZiBzdHJ1Y3QgcGFnZWZhdWx0X2luZm8KICAgICBpbnQgZWM7CiB9IHBhZ2VmYXVs dF9pbmZvX3Q7CiAKLWVudW0gaHZtX2NvcHlfcmVzdWx0IGh2bV9jb3B5X3RvX2d1ZXN0X2xpbmVh cigKK2VudW0gaHZtX3RyYW5zbGF0aW9uX3Jlc3VsdCBodm1fY29weV90b19ndWVzdF9saW5lYXIo CiAgICAgdW5zaWduZWQgbG9uZyBhZGRyLCB2b2lkICpidWYsIGludCBzaXplLCB1aW50MzJfdCBw ZmVjLAogICAgIHBhZ2VmYXVsdF9pbmZvX3QgKnBmaW5mbyk7Ci1lbnVtIGh2bV9jb3B5X3Jlc3Vs dCBodm1fY29weV9mcm9tX2d1ZXN0X2xpbmVhcigKK2VudW0gaHZtX3RyYW5zbGF0aW9uX3Jlc3Vs dCBodm1fY29weV9mcm9tX2d1ZXN0X2xpbmVhcigKICAgICB2b2lkICpidWYsIHVuc2lnbmVkIGxv bmcgYWRkciwgaW50IHNpemUsIHVpbnQzMl90IHBmZWMsCiAgICAgcGFnZWZhdWx0X2luZm9fdCAq cGZpbmZvKTsKLWVudW0gaHZtX2NvcHlfcmVzdWx0IGh2bV9mZXRjaF9mcm9tX2d1ZXN0X2xpbmVh cigKK2VudW0gaHZtX3RyYW5zbGF0aW9uX3Jlc3VsdCBodm1fZmV0Y2hfZnJvbV9ndWVzdF9saW5l YXIoCiAgICAgdm9pZCAqYnVmLCB1bnNpZ25lZCBsb25nIGFkZHIsIGludCBzaXplLCB1aW50MzJf dCBwZmVjLAogICAgIHBhZ2VmYXVsdF9pbmZvX3QgKnBmaW5mbyk7CiAKLS0gCjIuMS40CgoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1h aWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcv eGVuLWRldmVsCg==