From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [RFC 03/16] x86: change 'cbm_type' to 'psr_val_type' to make it general. Date: Tue, 10 Jan 2017 15:42:22 +0800 Message-ID: <1484034155-4521-4-git-send-email-yi.y.sun@linux.intel.com> References: <1484034155-4521-1-git-send-email-yi.y.sun@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cQr5Z-0003pG-2q for xen-devel@lists.xenproject.org; Tue, 10 Jan 2017 07:43:25 +0000 In-Reply-To: <1484034155-4521-1-git-send-email-yi.y.sun@linux.intel.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: wei.liu2@citrix.com, he.chen@linux.intel.com, andrew.cooper3@citrix.com, ian.jackson@eu.citrix.com, Yi Sun , jbeulich@suse.com, chao.p.peng@linux.intel.com List-Id: xen-devel@lists.xenproject.org VGhpcyBwYXRjaCBjaGFuZ2VzICdjYm1fdHlwZScgdG8gJ3Bzcl92YWxfdHlwZScgdG8gbWFrZSBp dCBnZW5lcmFsLgpUaGVuLCB3ZSBjYW4gcmV1c2UgdGhpcyBmb3IgZXZlcnkgcHNyIGFsbG9jYXRp b24gZmVhdHVyZS4KClNpZ25lZC1vZmYtYnk6IFlpIFN1biA8eWkueS5zdW5AbGludXguaW50ZWwu Y29tPgotLS0KIHhlbi9hcmNoL3g4Ni9kb21jdGwuYyAgICAgfCAxNiArKysrKy0tLS0tCiB4ZW4v YXJjaC94ODYvcHNyLmMgICAgICAgIHwgODAgKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KIHhlbi9hcmNoL3g4Ni9zeXNjdGwuYyAgICAgfCAgNiArKy0tCiB4 ZW4vaW5jbHVkZS9hc20teDg2L3Bzci5oIHwgMTYgKysrKystLS0tLQogNCBmaWxlcyBjaGFuZ2Vk LCA1OSBpbnNlcnRpb25zKCspLCA1OSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJj aC94ODYvZG9tY3RsLmMgYi94ZW4vYXJjaC94ODYvZG9tY3RsLmMKaW5kZXggM2I2NTM0Yi4uMWY4 M2FiMiAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2RvbWN0bC5jCisrKyBiL3hlbi9hcmNoL3g4 Ni9kb21jdGwuYwpAQCAtMTM3Miw1MiArMTM3Miw1MiBAQCBsb25nIGFyY2hfZG9fZG9tY3RsKAog ICAgICAgICBjYXNlIFhFTl9ET01DVExfUFNSX0NBVF9PUF9TRVRfTDNfQ0JNOgogICAgICAgICAg ICAgcmV0ID0gcHNyX3NldF92YWwoZCwgZG9tY3RsLT51LnBzcl9hbGxvY19vcC50YXJnZXQsCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb21jdGwtPnUucHNyX2FsbG9jX29wLmRhdGEs Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQU1JfQ0JNX1RZUEVfTDMpOworICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgUFNSX1ZBTF9UWVBFX0wzKTsKICAgICAgICAgICAgIGJy ZWFrOwogCiAgICAgICAgIGNhc2UgWEVOX0RPTUNUTF9QU1JfQ0FUX09QX1NFVF9MM19DT0RFOgog ICAgICAgICAgICAgcmV0ID0gcHNyX3NldF92YWwoZCwgZG9tY3RsLT51LnBzcl9hbGxvY19vcC50 YXJnZXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb21jdGwtPnUucHNyX2FsbG9j X29wLmRhdGEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQU1JfQ0JNX1RZUEVfTDNf Q09ERSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQU1JfVkFMX1RZUEVfTDNfQ09E RSk7CiAgICAgICAgICAgICBicmVhazsKIAogICAgICAgICBjYXNlIFhFTl9ET01DVExfUFNSX0NB VF9PUF9TRVRfTDNfREFUQToKICAgICAgICAgICAgIHJldCA9IHBzcl9zZXRfdmFsKGQsIGRvbWN0 bC0+dS5wc3JfYWxsb2Nfb3AudGFyZ2V0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ZG9tY3RsLT51LnBzcl9hbGxvY19vcC5kYXRhLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgUFNSX0NCTV9UWVBFX0wzX0RBVEEpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg UFNSX1ZBTF9UWVBFX0wzX0RBVEEpOwogICAgICAgICAgICAgYnJlYWs7CiAKICAgICAgICAgY2Fz ZSBYRU5fRE9NQ1RMX1BTUl9DQVRfT1BfU0VUX0wyX0NCTToKICAgICAgICAgICAgIHJldCA9IHBz cl9zZXRfdmFsKGQsIGRvbWN0bC0+dS5wc3JfYWxsb2Nfb3AudGFyZ2V0LAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgZG9tY3RsLT51LnBzcl9hbGxvY19vcC5kYXRhLAotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgUFNSX0NCTV9UWVBFX0wyKTsKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFBTUl9WQUxfVFlQRV9MMik7CiAgICAgICAgICAgICBicmVhazsKIAogICAg ICAgICBjYXNlIFhFTl9ET01DVExfUFNSX0NBVF9PUF9HRVRfTDNfQ0JNOgogICAgICAgICAgICAg cmV0ID0gcHNyX2dldF92YWwoZCwgZG9tY3RsLT51LnBzcl9hbGxvY19vcC50YXJnZXQsCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAmZG9tY3RsLT51LnBzcl9hbGxvY19vcC5kYXRhLAot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFNSX0NCTV9UWVBFX0wzKTsKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFBTUl9WQUxfVFlQRV9MMyk7CiAgICAgICAgICAgICBjb3B5 YmFjayA9IDE7CiAgICAgICAgICAgICBicmVhazsKIAogICAgICAgICBjYXNlIFhFTl9ET01DVExf UFNSX0NBVF9PUF9HRVRfTDNfQ09ERToKICAgICAgICAgICAgIHJldCA9IHBzcl9nZXRfdmFsKGQs IGRvbWN0bC0+dS5wc3JfYWxsb2Nfb3AudGFyZ2V0LAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgJmRvbWN0bC0+dS5wc3JfYWxsb2Nfb3AuZGF0YSwKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFBTUl9DQk1fVFlQRV9MM19DT0RFKTsKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFBTUl9WQUxfVFlQRV9MM19DT0RFKTsKICAgICAgICAgICAgIGNvcHliYWNrID0gMTsK ICAgICAgICAgICAgIGJyZWFrOwogCiAgICAgICAgIGNhc2UgWEVOX0RPTUNUTF9QU1JfQ0FUX09Q X0dFVF9MM19EQVRBOgogICAgICAgICAgICAgcmV0ID0gcHNyX2dldF92YWwoZCwgZG9tY3RsLT51 LnBzcl9hbGxvY19vcC50YXJnZXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZG9t Y3RsLT51LnBzcl9hbGxvY19vcC5kYXRhLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg UFNSX0NCTV9UWVBFX0wzX0RBVEEpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFNS X1ZBTF9UWVBFX0wzX0RBVEEpOwogICAgICAgICAgICAgY29weWJhY2sgPSAxOwogICAgICAgICAg ICAgYnJlYWs7CiAKICAgICAgICAgY2FzZSBYRU5fRE9NQ1RMX1BTUl9DQVRfT1BfR0VUX0wyX0NC TToKICAgICAgICAgICAgIHJldCA9IHBzcl9nZXRfdmFsKGQsIGRvbWN0bC0+dS5wc3JfYWxsb2Nf b3AudGFyZ2V0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmRvbWN0bC0+dS5wc3Jf YWxsb2Nfb3AuZGF0YSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBTUl9DQk1fVFlQ RV9MMik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQU1JfVkFMX1RZUEVfTDIpOwog ICAgICAgICAgICAgY29weWJhY2sgPSAxOwogICAgICAgICAgICAgYnJlYWs7CiAKZGlmZiAtLWdp dCBhL3hlbi9hcmNoL3g4Ni9wc3IuYyBiL3hlbi9hcmNoL3g4Ni9wc3IuYwppbmRleCBlZDFlYzJm Li4yYzY5Y2MwIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvcHNyLmMKKysrIGIveGVuL2FyY2gv eDg2L3Bzci5jCkBAIC0xMTgsMTEgKzExOCwxMSBAQCBzdHJ1Y3QgZmVhdF9vcHMgewogICAgIC8q IGdldF9tYXhfY29zX21heCBpcyB1c2VkIHRvIGdldCBmZWF0dXJlJ3MgY29zX21heC4gKi8KICAg ICB1bnNpZ25lZCBpbnQgKCpnZXRfbWF4X2Nvc19tYXgpKGNvbnN0IHN0cnVjdCBmZWF0X25vZGUg KmZlYXQpOwogICAgIC8qIGdldF9mZWF0X2luZm8gaXMgdXNlZCB0byBnZXQgZmVhdHVyZSBIVyBp bmZvLiAqLwotICAgIGJvb2wgKCpnZXRfZmVhdF9pbmZvKShjb25zdCBzdHJ1Y3QgZmVhdF9ub2Rl ICpmZWF0LCBlbnVtIGNibV90eXBlIHR5cGUsCisgICAgYm9vbCAoKmdldF9mZWF0X2luZm8pKGNv bnN0IHN0cnVjdCBmZWF0X25vZGUgKmZlYXQsIGVudW0gcHNyX3ZhbF90eXBlIHR5cGUsCiAgICAg ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGRhdFtdLCB1aW50MzJfdCBhcnJheV9sZW4p OwogICAgIC8qIGdldF92YWwgaXMgdXNlZCB0byBnZXQgZmVhdHVyZSBDT1MgcmVnaXN0ZXIgdmFs dWUuICovCiAgICAgYm9vbCAoKmdldF92YWwpKGNvbnN0IHN0cnVjdCBmZWF0X25vZGUgKmZlYXQs IHVuc2lnbmVkIGludCBjb3MsCi0gICAgICAgICAgICAgICAgICAgZW51bSBjYm1fdHlwZSB0eXBl LCB1aW50NjRfdCAqdmFsKTsKKyAgICAgICAgICAgICAgICAgICBlbnVtIHBzcl92YWxfdHlwZSB0 eXBlLCB1aW50NjRfdCAqdmFsKTsKICAgICAvKgogICAgICAqIGdldF9jb3NfbnVtIGlzIHVzZWQg dG8gZ2V0IHRoZSBDT1MgcmVnaXN0ZXJzIGFtb3VudCB1c2VkIGJ5IHRoZQogICAgICAqIGZlYXR1 cmUgZm9yIG9uZSBzZXR0aW5nLCBlLmcuIENEUCB1c2VzIDIgQ09TcyBidXQgQ0FUIHVzZXMgMS4K QEAgLTE1MCwxNCArMTUwLDE0IEBAIHN0cnVjdCBmZWF0X29wcyB7CiAgICAgaW50ICgqc2V0X25l d192YWwpKHVpbnQ2NF90IHZhbFtdLAogICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1 Y3QgZmVhdF9ub2RlICpmZWF0LAogICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQg b2xkX2NvcywKLSAgICAgICAgICAgICAgICAgICAgICAgZW51bSBjYm1fdHlwZSB0eXBlLAorICAg ICAgICAgICAgICAgICAgICAgICBlbnVtIHBzcl92YWxfdHlwZSB0eXBlLAogICAgICAgICAgICAg ICAgICAgICAgICB1aW50NjRfdCBtKTsKICAgICAvKgogICAgICAqIGdldF9jb3NfbWF4X2Zyb21f dHlwZSBpcyB1c2VkIHRvIGdldCB0aGUgY29zX21heCB2YWx1ZSBvZiB0aGUgZmVhdHVyZQogICAg ICAqIGFjY29yZGluZyB0byBpbnB1dCB0eXBlLgogICAgICAqLwogICAgIHVuc2lnbmVkIGludCAo KmdldF9jb3NfbWF4X2Zyb21fdHlwZSkoY29uc3Qgc3RydWN0IGZlYXRfbm9kZSAqZmVhdCwKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudW0gY2JtX3R5cGUgdHlw ZSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnVtIHBzcl92 YWxfdHlwZSB0eXBlKTsKICAgICAvKgogICAgICAqIGNvbXBhcmVfdmFsIGlzIHVzZWQgaW4gc2V0 IHZhbHVlIHByb2Nlc3MgdG8gY29tcGFyZSBpZiB0aGUKICAgICAgKiBpbnB1dCB2YWx1ZSBhcnJh eSBjYW4gbWF0Y2ggYWxsIHRoZSBmZWF0dXJlcycgQ09TIHJlZ2lzdGVycyB2YWx1ZXMKQEAgLTM1 MCwxMCArMzUwLDEwIEBAIHN0YXRpYyB1bnNpZ25lZCBpbnQgbDNfY2F0X2dldF9tYXhfY29zX21h eChjb25zdCBzdHJ1Y3QgZmVhdF9ub2RlICpmZWF0KQogfQogCiBzdGF0aWMgYm9vbCBsM19jYXRf Z2V0X2ZlYXRfaW5mbyhjb25zdCBzdHJ1Y3QgZmVhdF9ub2RlICpmZWF0LAotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgZW51bSBjYm1fdHlwZSB0eXBlLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgZW51bSBwc3JfdmFsX3R5cGUgdHlwZSwKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGRhdFtdLCB1aW50MzJfdCBhcnJheV9sZW4pCiB7 Ci0gICAgaWYgKCAhZGF0IHx8IDMgPiBhcnJheV9sZW4gfHwgdHlwZSAhPSBQU1JfQ0JNX1RZUEVf TDMgKQorICAgIGlmICggIWRhdCB8fCAzID4gYXJyYXlfbGVuIHx8IHR5cGUgIT0gUFNSX1ZBTF9U WVBFX0wzICkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgZGF0W0NCTV9MRU5dID0gZmVh dC0+aW5mby5sM19jYXRfaW5mby5jYm1fbGVuOwpAQCAtMzY0LDkgKzM2NCw5IEBAIHN0YXRpYyBi b29sIGwzX2NhdF9nZXRfZmVhdF9pbmZvKGNvbnN0IHN0cnVjdCBmZWF0X25vZGUgKmZlYXQsCiB9 CiAKIHN0YXRpYyBib29sIGwzX2NhdF9nZXRfdmFsKGNvbnN0IHN0cnVjdCBmZWF0X25vZGUgKmZl YXQsIHVuc2lnbmVkIGludCBjb3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBlbnVtIGNi bV90eXBlIHR5cGUsIHVpbnQ2NF90ICp2YWwpCisgICAgICAgICAgICAgICAgICAgICAgICAgICBl bnVtIHBzcl92YWxfdHlwZSB0eXBlLCB1aW50NjRfdCAqdmFsKQogewotICAgIGlmICggdHlwZSAh PSBQU1JfQ0JNX1RZUEVfTDMgKQorICAgIGlmICggdHlwZSAhPSBQU1JfVkFMX1RZUEVfTDMgKQog ICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBpZiAoIGNvcyA+IGZlYXQtPmluZm8ubDNfY2F0 X2luZm8uY29zX21heCApCkBAIC00MDEsMTAgKzQwMSwxMCBAQCBzdGF0aWMgaW50IGwzX2NhdF9n ZXRfb2xkX3ZhbCh1aW50NjRfdCB2YWxbXSwKIHN0YXRpYyBpbnQgbDNfY2F0X3NldF9uZXdfdmFs KHVpbnQ2NF90IHZhbFtdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3Ry dWN0IGZlYXRfbm9kZSAqZmVhdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2ln bmVkIGludCBvbGRfY29zLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW51bSBjYm1f dHlwZSB0eXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW51bSBwc3JfdmFsX3R5 cGUgdHlwZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90IG0pCiB7Ci0g ICAgaWYgKCB0eXBlICE9IFBTUl9DQk1fVFlQRV9MMyApCisgICAgaWYgKCB0eXBlICE9IFBTUl9W QUxfVFlQRV9MMyApCiAgICAgICAgIC8qIEwzIENBVCB1c2VzIG9uZSBDT1MuIFNraXAgaXQuICov CiAgICAgICAgIHJldHVybiAxOwogCkBAIC00MTgsOSArNDE4LDkgQEAgc3RhdGljIGludCBsM19j YXRfc2V0X25ld192YWwodWludDY0X3QgdmFsW10sCiB9CiAKIHN0YXRpYyB1bnNpZ25lZCBpbnQg bDNfY2F0X2dldF9jb3NfbWF4X2Zyb21fdHlwZShjb25zdCBzdHJ1Y3QgZmVhdF9ub2RlICpmZWF0 LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudW0g Y2JtX3R5cGUgdHlwZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBlbnVtIHBzcl92YWxfdHlwZSB0eXBlKQogewotICAgIGlmICggdHlwZSAhPSBQU1Jf Q0JNX1RZUEVfTDMgKQorICAgIGlmICggdHlwZSAhPSBQU1JfVkFMX1RZUEVfTDMgKQogICAgICAg ICByZXR1cm4gMDsKIAogICAgIHJldHVybiBmZWF0LT5pbmZvLmwzX2NhdF9pbmZvLmNvc19tYXg7 CkBAIC01NTcsMTEgKzU1NywxMSBAQCBzdGF0aWMgdW5zaWduZWQgaW50IGwzX2NkcF9nZXRfbWF4 X2Nvc19tYXgoY29uc3Qgc3RydWN0IGZlYXRfbm9kZSAqZmVhdCkKIH0KIAogc3RhdGljIGJvb2wg bDNfY2RwX2dldF9mZWF0X2luZm8oY29uc3Qgc3RydWN0IGZlYXRfbm9kZSAqZmVhdCwKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudW0gY2JtX3R5cGUgdHlwZSwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGVudW0gcHNyX3ZhbF90eXBlIHR5cGUsCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBkYXRbXSwgdWludDMyX3QgYXJyYXlf bGVuKQogewogICAgIGlmICggIWRhdCB8fCAzID4gYXJyYXlfbGVuIHx8Ci0gICAgICAgICAoIHR5 cGUgIT0gUFNSX0NCTV9UWVBFX0wzX0RBVEEgJiYgdHlwZSAhPSBQU1JfQ0JNX1RZUEVfTDNfQ09E RSkgKQorICAgICAgICAgKCB0eXBlICE9IFBTUl9WQUxfVFlQRV9MM19EQVRBICYmIHR5cGUgIT0g UFNSX1ZBTF9UWVBFX0wzX0NPREUpICkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgZGF0 W0NCTV9MRU5dID0gZmVhdC0+aW5mby5sM19jZHBfaW5mby5jYm1fbGVuOwpAQCAtNTcyLDE2ICs1 NzIsMTYgQEAgc3RhdGljIGJvb2wgbDNfY2RwX2dldF9mZWF0X2luZm8oY29uc3Qgc3RydWN0IGZl YXRfbm9kZSAqZmVhdCwKIH0KIAogc3RhdGljIGJvb2wgbDNfY2RwX2dldF92YWwoY29uc3Qgc3Ry dWN0IGZlYXRfbm9kZSAqZmVhdCwgdW5zaWduZWQgaW50IGNvcywKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgIGVudW0gY2JtX3R5cGUgdHlwZSwgdWludDY0X3QgKnZhbCkKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgIGVudW0gcHNyX3ZhbF90eXBlIHR5cGUsIHVpbnQ2NF90ICp2YWwpCiB7 Ci0gICAgaWYgKCB0eXBlICE9IFBTUl9DQk1fVFlQRV9MM19EQVRBICYmIHR5cGUgIT0gUFNSX0NC TV9UWVBFX0wzX0NPREUgKQorICAgIGlmICggdHlwZSAhPSBQU1JfVkFMX1RZUEVfTDNfREFUQSAm JiB0eXBlICE9IFBTUl9WQUxfVFlQRV9MM19DT0RFICkKICAgICAgICAgcmV0dXJuIGZhbHNlOwog CiAgICAgaWYgKCBjb3MgPiBmZWF0LT5pbmZvLmwzX2NkcF9pbmZvLmNvc19tYXggKQogICAgICAg ICAvKiBVc2UgZGVmYXVsdCB2YWx1ZS4gKi8KICAgICAgICAgY29zID0gMDsKIAotICAgIGlmICgg dHlwZSA9PSBQU1JfQ0JNX1RZUEVfTDNfREFUQSApCisgICAgaWYgKCB0eXBlID09IFBTUl9WQUxf VFlQRV9MM19EQVRBICkKICAgICAgICAgKnZhbCA9IGdldF9jZHBfZGF0YShmZWF0LCBjb3MpOwog ICAgIGVsc2UKICAgICAgICAgKnZhbCA9IGdldF9jZHBfY29kZShmZWF0LCBjb3MpOwpAQCAtNjE0 LDE3ICs2MTQsMTcgQEAgc3RhdGljIGludCBsM19jZHBfZ2V0X29sZF92YWwodWludDY0X3QgdmFs W10sCiBzdGF0aWMgaW50IGwzX2NkcF9zZXRfbmV3X3ZhbCh1aW50NjRfdCB2YWxbXSwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBmZWF0X25vZGUgKmZlYXQsCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgb2xkX2NvcywKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGVudW0gY2JtX3R5cGUgdHlwZSwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGVudW0gcHNyX3ZhbF90eXBlIHR5cGUsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB1aW50NjRfdCBtKQogewotICAgIGlmICggdHlwZSAhPSBQU1JfQ0JN X1RZUEVfTDNfREFUQSAmJiB0eXBlICE9IFBTUl9DQk1fVFlQRV9MM19DT0RFICkKKyAgICBpZiAo IHR5cGUgIT0gUFNSX1ZBTF9UWVBFX0wzX0RBVEEgJiYgdHlwZSAhPSBQU1JfVkFMX1RZUEVfTDNf Q09ERSApCiAgICAgICAgIC8qIENEUCB1c2VzIHR3byBDT1NzLiBTa2lwIHRoZW0gb3V0c2lkZS4g Ki8KICAgICAgICAgcmV0dXJuIDI7CiAKICAgICBpZiAoICFwc3JfY2hlY2tfY2JtKGZlYXQtPmlu Zm8ubDNfY2RwX2luZm8uY2JtX2xlbiwgbSkgKQogICAgICAgICByZXR1cm4gLUVJTlZBTDsKIAot ICAgIGlmICggdHlwZSA9PSBQU1JfQ0JNX1RZUEVfTDNfREFUQSApCisgICAgaWYgKCB0eXBlID09 IFBTUl9WQUxfVFlQRV9MM19EQVRBICkKICAgICAgICAgdmFsWzBdID0gbTsKICAgICBlbHNlCiAg ICAgICAgIHZhbFsxXSA9IG07CkBAIC02MzQsOSArNjM0LDkgQEAgc3RhdGljIGludCBsM19jZHBf c2V0X25ld192YWwodWludDY0X3QgdmFsW10sCiB9CiAKIHN0YXRpYyB1bnNpZ25lZCBpbnQgbDNf Y2RwX2dldF9jb3NfbWF4X2Zyb21fdHlwZShjb25zdCBzdHJ1Y3QgZmVhdF9ub2RlICpmZWF0LAot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudW0gY2Jt X3R5cGUgdHlwZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBlbnVtIHBzcl92YWxfdHlwZSB0eXBlKQogewotICAgIGlmICggdHlwZSAhPSBQU1JfQ0JN X1RZUEVfTDNfREFUQSAmJiB0eXBlICE9IFBTUl9DQk1fVFlQRV9MM19DT0RFICkKKyAgICBpZiAo IHR5cGUgIT0gUFNSX1ZBTF9UWVBFX0wzX0RBVEEgJiYgdHlwZSAhPSBQU1JfVkFMX1RZUEVfTDNf Q09ERSApCiAgICAgICAgIHJldHVybiAwOwogCiAgICAgcmV0dXJuIGZlYXQtPmluZm8ubDNfY2Rw X2luZm8uY29zX21heDsKQEAgLTc3NSwxMCArNzc1LDEwIEBAIHN0YXRpYyB1bnNpZ25lZCBpbnQg bDJfY2F0X2dldF9tYXhfY29zX21heChjb25zdCBzdHJ1Y3QgZmVhdF9ub2RlICpmZWF0KQogfQog CiBzdGF0aWMgYm9vbCBsMl9jYXRfZ2V0X2ZlYXRfaW5mbyhjb25zdCBzdHJ1Y3QgZmVhdF9ub2Rl ICpmZWF0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW51bSBjYm1fdHlwZSB0 eXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW51bSBwc3JfdmFsX3R5cGUg dHlwZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGRhdFtdLCB1 aW50MzJfdCBhcnJheV9sZW4pCiB7Ci0gICAgaWYgKCAhZGF0IHx8IDIgPiBhcnJheV9sZW4gfHwg dHlwZSAhPSBQU1JfQ0JNX1RZUEVfTDIgKQorICAgIGlmICggIWRhdCB8fCAyID4gYXJyYXlfbGVu IHx8IHR5cGUgIT0gUFNSX1ZBTF9UWVBFX0wyICkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAg ICAgZGF0W0NCTV9MRU5dID0gZmVhdC0+aW5mby5sMl9jYXRfaW5mby5jYm1fbGVuOwpAQCAtNzg4 LDkgKzc4OCw5IEBAIHN0YXRpYyBib29sIGwyX2NhdF9nZXRfZmVhdF9pbmZvKGNvbnN0IHN0cnVj dCBmZWF0X25vZGUgKmZlYXQsCiB9CiAKIHN0YXRpYyBib29sIGwyX2NhdF9nZXRfdmFsKGNvbnN0 IHN0cnVjdCBmZWF0X25vZGUgKmZlYXQsIHVuc2lnbmVkIGludCBjb3MsCi0gICAgICAgICAgICAg ICAgICAgICAgICAgIGVudW0gY2JtX3R5cGUgdHlwZSwgdWludDY0X3QgKnZhbCkKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgZW51bSBwc3JfdmFsX3R5cGUgdHlwZSwgdWludDY0X3QgKnZhbCkK IHsKLSAgICBpZiAoIHR5cGUgIT0gUFNSX0NCTV9UWVBFX0wyICkKKyAgICBpZiAoIHR5cGUgIT0g UFNSX1ZBTF9UWVBFX0wyICkKICAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIGlmICggY29z ID4gZmVhdC0+aW5mby5sMl9jYXRfaW5mby5jb3NfbWF4ICkKQEAgLTgyNCwxMCArODI0LDEwIEBA IHN0YXRpYyBpbnQgbDJfY2F0X2dldF9vbGRfdmFsKHVpbnQ2NF90IHZhbFtdLAogc3RhdGljIGlu dCBsMl9jYXRfc2V0X25ld192YWwodWludDY0X3QgdmFsW10sCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBjb25zdCBzdHJ1Y3QgZmVhdF9ub2RlICpmZWF0LAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IG9sZF9jb3MsCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBlbnVtIGNibV90eXBlIHR5cGUsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBlbnVtIHBzcl92YWxfdHlwZSB0eXBlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgdWludDY0X3QgbSkKIHsKLSAgICBpZiAoIHR5cGUgIT0gUFNSX0NCTV9UWVBFX0wyICkKKyAg ICBpZiAoIHR5cGUgIT0gUFNSX1ZBTF9UWVBFX0wyICkKICAgICAgICAgcmV0dXJuIDE7CiAKICAg ICBpZiAoICFwc3JfY2hlY2tfY2JtKGZlYXQtPmluZm8ubDJfY2F0X2luZm8uY2JtX2xlbiwgbSkg KQpAQCAtODQwLDkgKzg0MCw5IEBAIHN0YXRpYyBpbnQgbDJfY2F0X3NldF9uZXdfdmFsKHVpbnQ2 NF90IHZhbFtdLAogfQogCiBzdGF0aWMgdW5zaWduZWQgaW50IGwyX2NhdF9nZXRfY29zX21heF9m cm9tX3R5cGUoY29uc3Qgc3RydWN0IGZlYXRfbm9kZSAqZmVhdCwKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnVtIGNibV90eXBlIHR5cGUpCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW51bSBwc3JfdmFs X3R5cGUgdHlwZSkKIHsKLSAgICBpZiAoIHR5cGUgIT0gUFNSX0NCTV9UWVBFX0wyICkKKyAgICBp ZiAoIHR5cGUgIT0gUFNSX1ZBTF9UWVBFX0wyICkKICAgICAgICAgcmV0dXJuIDA7CiAKICAgICBy ZXR1cm4gZmVhdC0+aW5mby5sMl9jYXRfaW5mby5jb3NfbWF4OwpAQCAtMTEzNCw3ICsxMTM0LDcg QEAgc3RhdGljIHN0cnVjdCBwc3Jfc29ja2V0X2luZm8gKmdldF9zb2NrZXRfaW5mbyh1bnNpZ25l ZCBpbnQgc29ja2V0KQogICAgIHJldHVybiBzb2NrZXRfaW5mbyArIHNvY2tldDsKIH0KIAotaW50 IHBzcl9nZXRfaW5mbyh1bnNpZ25lZCBpbnQgc29ja2V0LCBlbnVtIGNibV90eXBlIHR5cGUsCitp bnQgcHNyX2dldF9pbmZvKHVuc2lnbmVkIGludCBzb2NrZXQsIGVudW0gcHNyX3ZhbF90eXBlIHR5 cGUsCiAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGRhdFtdLCB1aW50MzJfdCBhcnJheV9sZW4p CiB7CiAgICAgc3RydWN0IHBzcl9zb2NrZXRfaW5mbyAqaW5mbyA9IGdldF9zb2NrZXRfaW5mbyhz b2NrZXQpOwpAQCAtMTE1MSw3ICsxMTUxLDcgQEAgaW50IHBzcl9nZXRfaW5mbyh1bnNpZ25lZCBp bnQgc29ja2V0LCBlbnVtIGNibV90eXBlIHR5cGUsCiB9CiAKIGludCBwc3JfZ2V0X3ZhbChzdHJ1 Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgc29ja2V0LAotICAgICAgICAgICAgICAgIHVpbnQ2 NF90ICp2YWwsIGVudW0gY2JtX3R5cGUgdHlwZSkKKyAgICAgICAgICAgICAgICB1aW50NjRfdCAq dmFsLCBlbnVtIHBzcl92YWxfdHlwZSB0eXBlKQogewogICAgIGNvbnN0IHN0cnVjdCBwc3Jfc29j a2V0X2luZm8gKmluZm8gPSBnZXRfc29ja2V0X2luZm8oc29ja2V0KTsKICAgICB1bnNpZ25lZCBp bnQgY29zID0gZC0+YXJjaC5wc3JfY29zX2lkc1tzb2NrZXRdOwpAQCAtMTE4Nyw3ICsxMTg3LDcg QEAgc3RhdGljIGludCBnZXRfb2xkX3NldF9uZXcodWludDY0X3QgKnZhbCwKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHVpbnQzMl90IGFycmF5X2xlbiwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGNvbnN0IHN0cnVjdCBwc3Jfc29ja2V0X2luZm8gKmluZm8sCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgb2xkX2NvcywKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgIGVudW0gY2JtX3R5cGUgdHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGVu dW0gcHNyX3ZhbF90eXBlIHR5cGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50NjRf dCBtKQogewogICAgIGNvbnN0IHN0cnVjdCBmZWF0X25vZGUgKmZlYXRfdG1wOwpAQCAtMTIyNiw3 ICsxMjI2LDcgQEAgc3RhdGljIGludCBnZXRfb2xkX3NldF9uZXcodWludDY0X3QgKnZhbCwKIH0K IAogc3RhdGljIGludCBmaW5kX2Nvcyhjb25zdCB1aW50NjRfdCAqdmFsLCB1aW50MzJfdCBhcnJh eV9sZW4sCi0gICAgICAgICAgICAgICAgICAgIGVudW0gY2JtX3R5cGUgdHlwZSwKKyAgICAgICAg ICAgICAgICAgICAgZW51bSBwc3JfdmFsX3R5cGUgdHlwZSwKICAgICAgICAgICAgICAgICAgICAg Y29uc3Qgc3RydWN0IHBzcl9zb2NrZXRfaW5mbyAqaW5mbykKIHsKICAgICB1bnNpZ25lZCBpbnQg Y29zOwpAQCAtMTMwOSw3ICsxMzA5LDcgQEAgc3RhdGljIGJvb2wgZXhjZWVkc19jb3NfbWF4KGNv bnN0IHVpbnQ2NF90ICp2YWwsCiBzdGF0aWMgaW50IGFsbG9jX25ld19jb3MoY29uc3Qgc3RydWN0 IHBzcl9zb2NrZXRfaW5mbyAqaW5mbywKICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1 aW50NjRfdCAqdmFsLCB1aW50MzJfdCBhcnJheV9sZW4sCiAgICAgICAgICAgICAgICAgICAgICAg ICAgdW5zaWduZWQgaW50IG9sZF9jb3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgZW51bSBj Ym1fdHlwZSB0eXBlKQorICAgICAgICAgICAgICAgICAgICAgICAgIGVudW0gcHNyX3ZhbF90eXBl IHR5cGUpCiB7CiAgICAgdW5zaWduZWQgaW50IGNvczsKICAgICB1bnNpZ25lZCBpbnQgY29zX21h eCA9IDA7CkBAIC0xNDE5LDcgKzE0MTksNyBAQCBzdGF0aWMgaW50IHdyaXRlX3Bzcl9tc3IodW5z aWduZWQgaW50IHNvY2tldCwgdW5zaWduZWQgaW50IGNvcywKIH0KIAogaW50IHBzcl9zZXRfdmFs KHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGludCBzb2NrZXQsCi0gICAgICAgICAgICAgICAg dWludDY0X3QgdmFsLCBlbnVtIGNibV90eXBlIHR5cGUpCisgICAgICAgICAgICAgICAgdWludDY0 X3QgdmFsLCBlbnVtIHBzcl92YWxfdHlwZSB0eXBlKQogewogICAgIHVuc2lnbmVkIGludCBvbGRf Y29zOwogICAgIGludCBjb3MsIHJldDsKQEAgLTE0MzQsMTQgKzE0MzQsMTQgQEAgaW50IHBzcl9z ZXRfdmFsKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGludCBzb2NrZXQsCiAKICAgICAvKiBK dWRnZSBpZiBmZWF0dXJlIGlzIGVuYWJsZWQuICovCiAgICAgc3dpdGNoICggdHlwZSApIHsKLSAg ICBjYXNlIFBTUl9DQk1fVFlQRV9MMzoKKyAgICBjYXNlIFBTUl9WQUxfVFlQRV9MMzoKICAgICAg ICAgZmxhZyA9IFBTUl9TT0NLRVRfTDNfQ0FUOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIFBT Ul9DQk1fVFlQRV9MM19EQVRBOgotICAgIGNhc2UgUFNSX0NCTV9UWVBFX0wzX0NPREU6CisgICAg Y2FzZSBQU1JfVkFMX1RZUEVfTDNfREFUQToKKyAgICBjYXNlIFBTUl9WQUxfVFlQRV9MM19DT0RF OgogICAgICAgICBmbGFnID0gUFNSX1NPQ0tFVF9MM19DRFA7CiAgICAgICAgIGJyZWFrOwotICAg IGNhc2UgUFNSX0NCTV9UWVBFX0wyOgorICAgIGNhc2UgUFNSX1ZBTF9UWVBFX0wyOgogICAgICAg ICBmbGFnID0gUFNSX1NPQ0tFVF9MMl9DQVQ7CiAgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6 CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvc3lzY3RsLmMgYi94ZW4vYXJjaC94ODYvc3lzY3Rs LmMKaW5kZXggY2ZmNTZiYi4uNzM5OTA5YiAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3N5c2N0 bC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9zeXNjdGwuYwpAQCAtMTc5LDcgKzE3OSw3IEBAIGxvbmcg YXJjaF9kb19zeXNjdGwoCiAgICAgICAgIHsKICAgICAgICAgICAgIHVpbnQzMl90IGRhdFszXTsK ICAgICAgICAgICAgIHJldCA9IHBzcl9nZXRfaW5mbyhzeXNjdGwtPnUucHNyX2FsbG9jX29wLnRh cmdldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQU1JfQ0JNX1RZUEVfTDMsIGRh dCwgMyk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFNSX1ZBTF9UWVBFX0wzLCBk YXQsIDMpOwogCiAgICAgICAgICAgICBpZiAoICFyZXQgKQogICAgICAgICAgICAgewpAQCAtMTk0 LDcgKzE5NCw3IEBAIGxvbmcgYXJjaF9kb19zeXNjdGwoCiAgICAgICAgICAgICAgICAgICogb3V0 cHV0IHZhbHVlcyB0byBDRFAncyBpZiBpdCBpcyBlbmFibGVkLgogICAgICAgICAgICAgICAgICAq LwogICAgICAgICAgICAgICAgIHJldCA9IHBzcl9nZXRfaW5mbyhzeXNjdGwtPnUucHNyX2FsbG9j X29wLnRhcmdldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQU1JfQ0JNX1RZUEVf TDNfQ09ERSwgZGF0LCAzKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQU1JfVkFM X1RZUEVfTDNfQ09ERSwgZGF0LCAzKTsKICAgICAgICAgICAgICAgICBpZiAoICFyZXQgKQogICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgc3lzY3RsLT51LnBzcl9hbGxvY19v cC51LmwzX2luZm8uY2JtX2xlbiA9IGRhdFtDQk1fTEVOXTsKQEAgLTIxMSw3ICsyMTEsNyBAQCBs b25nIGFyY2hfZG9fc3lzY3RsKAogICAgICAgICB7CiAgICAgICAgICAgICB1aW50MzJfdCBkYXRb Ml07CiAgICAgICAgICAgICByZXQgPSBwc3JfZ2V0X2luZm8oc3lzY3RsLT51LnBzcl9hbGxvY19v cC50YXJnZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFNSX0NCTV9UWVBFX0wy LCBkYXQsIDIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBTUl9WQUxfVFlQRV9M MiwgZGF0LCAyKTsKICAgICAgICAgICAgIGlmICggcmV0ICkKICAgICAgICAgICAgICAgICBicmVh azsKIApkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9wc3IuaCBiL3hlbi9pbmNsdWRl L2FzbS14ODYvcHNyLmgKaW5kZXggZWU2NWZlNS4uNGQ1MjkxOCAxMDA2NDQKLS0tIGEveGVuL2lu Y2x1ZGUvYXNtLXg4Ni9wc3IuaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L3Bzci5oCkBAIC01 MiwxMSArNTIsMTEgQEAgc3RydWN0IHBzcl9jbXQgewogICAgIHN0cnVjdCBwc3JfY210X2wzIGwz OwogfTsKIAotZW51bSBjYm1fdHlwZSB7Ci0gICAgUFNSX0NCTV9UWVBFX0wzLAotICAgIFBTUl9D Qk1fVFlQRV9MM19DT0RFLAotICAgIFBTUl9DQk1fVFlQRV9MM19EQVRBLAotICAgIFBTUl9DQk1f VFlQRV9MMiwKK2VudW0gcHNyX3ZhbF90eXBlIHsKKyAgICBQU1JfVkFMX1RZUEVfTDMsCisgICAg UFNSX1ZBTF9UWVBFX0wzX0NPREUsCisgICAgUFNSX1ZBTF9UWVBFX0wzX0RBVEEsCisgICAgUFNS X1ZBTF9UWVBFX0wyLAogfTsKIAogZXh0ZXJuIHN0cnVjdCBwc3JfY210ICpwc3JfY210OwpAQCAt NzAsMTIgKzcwLDEyIEBAIGludCBwc3JfYWxsb2Nfcm1pZChzdHJ1Y3QgZG9tYWluICpkKTsKIHZv aWQgcHNyX2ZyZWVfcm1pZChzdHJ1Y3QgZG9tYWluICpkKTsKIHZvaWQgcHNyX2N0eHRfc3dpdGNo X3RvKHN0cnVjdCBkb21haW4gKmQpOwogCi1pbnQgcHNyX2dldF9pbmZvKHVuc2lnbmVkIGludCBz b2NrZXQsIGVudW0gY2JtX3R5cGUgdHlwZSwKK2ludCBwc3JfZ2V0X2luZm8odW5zaWduZWQgaW50 IHNvY2tldCwgZW51bSBwc3JfdmFsX3R5cGUgdHlwZSwKICAgICAgICAgICAgICAgICAgdWludDMy X3QgZGF0W10sIHVpbnQzMl90IGFycmF5X2xlbik7CiBpbnQgcHNyX2dldF92YWwoc3RydWN0IGRv bWFpbiAqZCwgdW5zaWduZWQgaW50IHNvY2tldCwKLSAgICAgICAgICAgICAgICB1aW50NjRfdCAq dmFsLCBlbnVtIGNibV90eXBlIHR5cGUpOworICAgICAgICAgICAgICAgIHVpbnQ2NF90ICp2YWws IGVudW0gcHNyX3ZhbF90eXBlIHR5cGUpOwogaW50IHBzcl9zZXRfdmFsKHN0cnVjdCBkb21haW4g KmQsIHVuc2lnbmVkIGludCBzb2NrZXQsCi0gICAgICAgICAgICAgICAgdWludDY0X3QgdmFsLCBl bnVtIGNibV90eXBlIHR5cGUpOworICAgICAgICAgICAgICAgIHVpbnQ2NF90IHZhbCwgZW51bSBw c3JfdmFsX3R5cGUgdHlwZSk7CiAKIGludCBwc3JfZG9tYWluX2luaXQoc3RydWN0IGRvbWFpbiAq ZCk7CiB2b2lkIHBzcl9kb21haW5fZnJlZShzdHJ1Y3QgZG9tYWluICpkKTsKLS0gCjEuOS4xCgoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVs IG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5v cmcveGVuLWRldmVsCg==