From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH] dom_ids array implementation. Date: Thu, 20 Apr 2017 13:38:24 +0800 Message-ID: <1492666704-6626-1-git-send-email-yi.y.sun@linux.intel.com> References: <1491054836-30488-10-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 1d14vY-0005jy-J8 for xen-devel@lists.xenproject.org; Thu, 20 Apr 2017 05:46:48 +0000 In-Reply-To: <1491054836-30488-10-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: Yi Sun , jbeulich@suse.com List-Id: xen-devel@lists.xenproject.org SGksIEphbiwKClBsZWFzZSBoZWxwIHRvIHJldmlldyB0aGlzIHBhdGNoLiBUaGFuayB5b3UhCgpT aWduZWQtb2ZmLWJ5OiBZaSBTdW4gPHlpLnkuc3VuQGxpbnV4LmludGVsLmNvbT4KLS0tCiB4ZW4v YXJjaC94ODYvcHNyLmMgfCAxMzUgKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA1NSBpbnNlcnRpb25zKCspLCA4MCBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvcHNyLmMgYi94ZW4vYXJjaC94 ODYvcHNyLmMKaW5kZXggYTg1ZWE5OS4uN2JjMjEyZiAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2 L3Bzci5jCisrKyBiL3hlbi9hcmNoL3g4Ni9wc3IuYwpAQCAtMTI1LDYgKzEyNSw4IEBAIHN0cnVj dCBmZWF0X25vZGUgewogICAgIHVpbnQzMl90IGNvc19yZWdfdmFsW01BWF9DT1NfUkVHX0NOVF07 CiB9OwogCisjZGVmaW5lIFBTUl9ET01fSURTX05VTSAoKERPTUlEX0lETEUgKyAxKSAvIHNpemVv Zih1aW50MzJfdCkpCisKIC8qCiAgKiBQU1IgZmVhdHVyZXMgYXJlIG1hbmFnZWQgcGVyIHNvY2tl dC4gQmVsb3cgc3RydWN0dXJlIGRlZmluZXMgdGhlIG1lbWJlcnMKICAqIHVzZWQgdG8gbWFuYWdl IHRoZXNlIGZlYXR1cmVzLgpAQCAtMTM0LDkgKzEzNiwxMSBAQCBzdHJ1Y3QgZmVhdF9ub2RlIHsK ICAqICAgICAgICAgICAgIENPUyBJRC4gRXZlcnkgZW50cnkgb2YgY29zX3JlZiBjb3JyZXNwb25k cyB0byBvbmUgQ09TIElELgogICovCiBzdHJ1Y3QgcHNyX3NvY2tldF9pbmZvIHsKLSAgICBzdHJ1 Y3QgZmVhdF9ub2RlICpmZWF0dXJlc1tQU1JfU09DS0VUX01BWF9GRUFUXTsKICAgICBzcGlubG9j a190IHJlZl9sb2NrOworICAgIHNwaW5sb2NrX3QgZG9tX2lkc19sb2NrOworICAgIHN0cnVjdCBm ZWF0X25vZGUgKmZlYXR1cmVzW1BTUl9TT0NLRVRfTUFYX0ZFQVRdOwogICAgIHVuc2lnbmVkIGlu dCBjb3NfcmVmW01BWF9DT1NfUkVHX0NOVF07CisgICAgdWludDMyX3QgZG9tX2lkc1tQU1JfRE9N X0lEU19OVU1dOwogfTsKIAogc3RydWN0IHBzcl9hc3NvYyB7CkBAIC0xOTQsMjYgKzE5OCwxMSBA QCBzdGF0aWMgdm9pZCBmcmVlX3NvY2tldF9yZXNvdXJjZXModW5zaWduZWQgaW50IHNvY2tldCkK IHsKICAgICB1bnNpZ25lZCBpbnQgaTsKICAgICBzdHJ1Y3QgcHNyX3NvY2tldF9pbmZvICppbmZv ID0gc29ja2V0X2luZm8gKyBzb2NrZXQ7Ci0gICAgc3RydWN0IGRvbWFpbiAqZDsKKyAgICB1bnNp Z25lZCBsb25nIGZsYWc7CiAKICAgICBpZiAoICFpbmZvICkKICAgICAgICAgcmV0dXJuOwogCi0g ICAgLyogUmVzdG9yZSBkb21haW4gY29zIGlkIHRvIDAgd2hlbiBzb2NrZXQgaXMgb2ZmbGluZS4g Ki8KLSAgICBmb3JfZWFjaF9kb21haW4gKCBkICkKLSAgICB7Ci0gICAgICAgIHVuc2lnbmVkIGlu dCBjb3MgPSBkLT5hcmNoLnBzcl9jb3NfaWRzW3NvY2tldF07Ci0gICAgICAgIGlmICggY29zID09 IDAgKQotICAgICAgICAgICAgY29udGludWU7Ci0KLSAgICAgICAgc3Bpbl9sb2NrKCZpbmZvLT5y ZWZfbG9jayk7Ci0gICAgICAgIEFTU0VSVCghY29zIHx8IGluZm8tPmNvc19yZWZbY29zXSk7Ci0g ICAgICAgIGluZm8tPmNvc19yZWZbY29zXS0tOwotICAgICAgICBzcGluX3VubG9jaygmaW5mby0+ cmVmX2xvY2spOwotCi0gICAgICAgIGQtPmFyY2gucHNyX2Nvc19pZHNbc29ja2V0XSA9IDA7Ci0g ICAgfQotCiAgICAgLyoKICAgICAgKiBGcmVlIHJlc291cmNlcyBvZiBmZWF0dXJlcy4gVGhlIGds b2JhbCBmZWF0dXJlIG9iamVjdCwgZS5nLiBmZWF0X2wzX2NhdCwKICAgICAgKiBtYXkgbm90IGJl IGZyZWVkIGhlcmUgaWYgaXQgaXMgbm90IGFkZGVkIGludG8gYXJyYXkuIEl0IGlzIHNpbXBseSBi ZWluZwpAQCAtMjIxLDEyICsyMTAsMTcgQEAgc3RhdGljIHZvaWQgZnJlZV9zb2NrZXRfcmVzb3Vy Y2VzKHVuc2lnbmVkIGludCBzb2NrZXQpCiAgICAgICovCiAgICAgZm9yICggaSA9IDA7IGkgPCBQ U1JfU09DS0VUX01BWF9GRUFUOyBpKysgKQogICAgIHsKLSAgICAgICAgaWYgKCAhaW5mby0+ZmVh dHVyZXNbaV0gKQotICAgICAgICAgICAgY29udGludWU7Ci0KICAgICAgICAgeGZyZWUoaW5mby0+ ZmVhdHVyZXNbaV0pOwogICAgICAgICBpbmZvLT5mZWF0dXJlc1tpXSA9IE5VTEw7CiAgICAgfQor CisgICAgc3Bpbl9sb2NrKCZpbmZvLT5yZWZfbG9jayk7CisgICAgbWVtc2V0KGluZm8tPmNvc19y ZWYsIDAsIE1BWF9DT1NfUkVHX0NOVCAqIHNpemVvZih1bnNpZ25lZCBpbnQpKTsKKyAgICBzcGlu X3VubG9jaygmaW5mby0+cmVmX2xvY2spOworCisgICAgc3Bpbl9sb2NrX2lycXNhdmUoJmluZm8t PmRvbV9pZHNfbG9jaywgZmxhZyk7CisgICAgbWVtc2V0KGluZm8tPmRvbV9pZHMsIDAsIFBTUl9E T01fSURTX05VTSAqIHNpemVvZih1aW50MzJfdCkpOworICAgIHNwaW5fdW5sb2NrX2lycXJlc3Rv cmUoJmluZm8tPmRvbV9pZHNfbG9jaywgZmxhZyk7CiB9CiAKIHN0YXRpYyBib29sIGZlYXRfaW5p dF9kb25lKGNvbnN0IHN0cnVjdCBwc3Jfc29ja2V0X2luZm8gKmluZm8pCkBAIC02ODIsOSArNjc2 LDM3IEBAIHZvaWQgcHNyX2N0eHRfc3dpdGNoX3RvKHN0cnVjdCBkb21haW4gKmQpCiAgICAgICAg IHBzcl9hc3NvY19ybWlkKCZyZWcsIGQtPmFyY2gucHNyX3JtaWQpOwogCiAgICAgaWYgKCBwc3Jh LT5jb3NfbWFzayApCi0gICAgICAgIHBzcl9hc3NvY19jb3MoJnJlZywgZC0+YXJjaC5wc3JfY29z X2lkcyA/Ci0gICAgICAgICAgICAgICAgICAgICAgZC0+YXJjaC5wc3JfY29zX2lkc1tjcHVfdG9f c29ja2V0KHNtcF9wcm9jZXNzb3JfaWQoKSldIDoKLSAgICAgICAgICAgICAgICAgICAgICAwLCBw c3JhLT5jb3NfbWFzayk7CisgICAgeworICAgICAgICB1bnNpZ25lZCBpbnQgc29ja2V0ID0gY3B1 X3RvX3NvY2tldChzbXBfcHJvY2Vzc29yX2lkKCkpOworICAgICAgICBzdHJ1Y3QgcHNyX3NvY2tl dF9pbmZvICppbmZvID0gc29ja2V0X2luZm8gKyBzb2NrZXQ7CisKKyAgICAgICAgaWYgKCB0ZXN0 X2JpdChkLT5kb21haW5faWQsIGluZm8tPmRvbV9pZHMpICkKKyAgICAgICAgICAgIGdvdG8gc2V0 X2Fzc29jOworCisgICAgICAgIHNwaW5fbG9jaygmaW5mby0+ZG9tX2lkc19sb2NrKTsKKworICAg ICAgICBpbnQgb2xkX2JpdCA9IHRlc3RfYW5kX3NldF9iaXQoZC0+ZG9tYWluX2lkLCBpbmZvLT5k b21faWRzKTsKKworICAgICAgICAvKgorICAgICAgICAgKiBJZiBvbGRfYml0IGlzIDAsIHRoYXQg bWVhbnMgdGhpcyBpcyB0aGUgZmlyc3QgdGltZSB0aGUgZG9tYWluIGlzCisgICAgICAgICAqIHN3 aXRjaGVkIHRvIHRoaXMgc29ja2V0IG9yIGRvbWFpbidzIENPUyBJRCBoYXMgbm90IGJlZW4gc2V0 IHNpbmNlCisgICAgICAgICAqIHRoZSBzb2NrZXQgaXMgb25saW5lLiBTbywgdGhlIGRvbWFpbidz IENPUyBJRCBvbiB0aGlzIHNvY2tldCBzaG91bGQKKyAgICAgICAgICogYmUgZGVmYXVsdCB2YWx1 ZSwgMC4gSWYgbm90LCB0aGF0IG1lYW5zIHRoaXMgc29ja2V0IGhhcyBiZWVuIG9mZmxpbmUKKyAg ICAgICAgICogYW5kIHRoZSBkb21haW4ncyBDT1MgSUQgaGFzIGJlZW4gc2V0IHdoZW4gdGhlIHNv Y2tldCB3YXMgb25saW5lLiBTbywKKyAgICAgICAgICogdGhpcyBDT1MgSUQgaXMgaW52YWxpZCBh bmQgd2UgaGF2ZSB0byByZXN0b3JlIGl0IHRvIDAuCisgICAgICAgICAqLworICAgICAgICBpZiAo IGQtPmFyY2gucHNyX2Nvc19pZHMgJiYKKyAgICAgICAgICAgICBvbGRfYml0ID09IDAgJiYKKyAg ICAgICAgICAgICBkLT5hcmNoLnBzcl9jb3NfaWRzW3NvY2tldF0gIT0gMCApCisgICAgICAgICAg ICBkLT5hcmNoLnBzcl9jb3NfaWRzW3NvY2tldF0gPSAwOworCisgICAgICAgIHNwaW5fdW5sb2Nr KCZpbmZvLT5kb21faWRzX2xvY2spOworCisgc2V0X2Fzc29jOgorICAgICAgICBwc3JfYXNzb2Nf Y29zKCZyZWcsCisgICAgICAgICAgICAgICAgICAgICAgZC0+YXJjaC5wc3JfY29zX2lkcyA/IGQt PmFyY2gucHNyX2Nvc19pZHNbc29ja2V0XSA6IDAsCisgICAgICAgICAgICAgICAgICAgICAgcHNy YS0+Y29zX21hc2spOworICAgIH0KIAogICAgIGlmICggcmVnICE9IHBzcmEtPnZhbCApCiAgICAg ewpAQCAtMTE0Niw0MCArMTE2OCw2IEBAIHN0YXRpYyBpbnQgd3JpdGVfcHNyX21zcih1bnNpZ25l ZCBpbnQgc29ja2V0LCB1bnNpZ25lZCBpbnQgY29zLAogICAgIHJldHVybiAwOwogfQogCi1zdGF0 aWMgdm9pZCByZXN0b3JlX2RlZmF1bHRfdmFsKHVuc2lnbmVkIGludCBzb2NrZXQsIHVuc2lnbmVk IGludCBjb3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudW0gcHNyX2ZlYXRf dHlwZSBmZWF0X3R5cGUpCi17Ci0gICAgdW5zaWduZWQgaW50IGksIGo7Ci0gICAgdWludDMyX3Qg ZGVmYXVsdF92YWw7Ci0gICAgY29uc3Qgc3RydWN0IHBzcl9zb2NrZXRfaW5mbyAqaW5mbyA9IGdl dF9zb2NrZXRfaW5mbyhzb2NrZXQpOwotCi0gICAgZm9yICggaSA9IDA7IGkgPCBQU1JfU09DS0VU X01BWF9GRUFUOyBpKysgKQotICAgIHsKLSAgICAgICAgY29uc3Qgc3RydWN0IGZlYXRfbm9kZSAq ZmVhdCA9IGluZm8tPmZlYXR1cmVzW2ldOwotICAgICAgICAvKgotICAgICAgICAgKiBUaGVyZSBh cmUgZm91ciBqdWRnZW1lbnRzOgotICAgICAgICAgKiAxLiBJbnB1dCAnZmVhdF90eXBlJyBpcyB2 YWxpZCBzbyB3ZSBoYXZlIHRvIGdldCBmZWF0dXJlIGFjY29yZGluZyB0bwotICAgICAgICAgKiAg ICBpdC4gSWYgY3VycmVudCBmZWF0dXJlIHR5cGUgKGkpIGRvZXMgbm90IG1hdGNoICdmZWF0X3R5 cGUnLCB3ZQotICAgICAgICAgKiAgICBuZWVkIHNraXAgaXQsIHNvIGNvbnRpbnVlIHRvIGNoZWNr IG5leHQgZmVhdHVyZS4KLSAgICAgICAgICogMi4gSW5wdXQgJ2ZlYXRfdHlwZScgaXMgJ1BTUl9T T0NLRVRfTUFYX0ZFQVQnIHdoaWNoIG1lYW5zIHdlIHNob3VsZAotICAgICAgICAgKiAgICBoYW5k bGUgYWxsIGZlYXR1cmVzIGluIHRoaXMgY2FzZS4gU28sIGdvIHRvIG5leHQgbG9vcC4KLSAgICAg ICAgICogMy4gRG8gbm90IG5lZWQgcmVzdG9yZSB0aGUgQ09TIHZhbHVlIGJhY2sgdG8gZGVmYXVs dCBpZiBjb3NfbnVtIGlzIDEsCi0gICAgICAgICAqICAgIGUuZy4gTDMgQ0FULiBCZWNhdXNlIG5l eHQgdmFsdWUgc2V0dGluZyB3aWxsIG92ZXJ3cml0ZSBpdC4KLSAgICAgICAgICogNC4gJ2ZlYXQn IHdlIGdvdCBpcyBOVUxMLCBjb250aW51ZS4KLSAgICAgICAgICovCi0gICAgICAgIGlmICggKCBm ZWF0X3R5cGUgIT0gUFNSX1NPQ0tFVF9NQVhfRkVBVCAmJiBmZWF0X3R5cGUgIT0gaSApIHx8Ci0g ICAgICAgICAgICAgIWZlYXQgfHwgZmVhdC0+cHJvcHMtPmNvc19udW0gPT0gMSApCi0gICAgICAg ICAgICBjb250aW51ZTsKLQotICAgICAgICBmb3IgKCBqID0gMDsgaiA8IGZlYXQtPnByb3BzLT5j b3NfbnVtOyBqKysgKQotICAgICAgICB7Ci0gICAgICAgICAgICBmZWF0LT5wcm9wcy0+Z2V0X3Zh bChmZWF0LCAwLCBmZWF0LT5wcm9wcy0+dHlwZVtqXSwgJmRlZmF1bHRfdmFsKTsKLSAgICAgICAg ICAgIHdyaXRlX3Bzcl9tc3Ioc29ja2V0LCBjb3MsIGRlZmF1bHRfdmFsLAotICAgICAgICAgICAg ICAgICAgICAgICAgICBmZWF0LT5wcm9wcy0+dHlwZVtqXSwgaSk7Ci0gICAgICAgIH0KLSAgICB9 Ci19Ci0KIC8qIFRoZSB3aG9sZSBzZXQgcHJvY2VzcyBpcyBwcm90ZWN0ZWQgYnkgZG9tY3RsX2xv Y2suICovCiBpbnQgcHNyX3NldF92YWwoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IHNv Y2tldCwKICAgICAgICAgICAgICAgICB1aW50MzJfdCB2YWwsIGVudW0gY2JtX3R5cGUgdHlwZSkK QEAgLTExOTEsNiArMTE3OSw3IEBAIGludCBwc3Jfc2V0X3ZhbChzdHJ1Y3QgZG9tYWluICpkLCB1 bnNpZ25lZCBpbnQgc29ja2V0LAogICAgIHN0cnVjdCBwc3Jfc29ja2V0X2luZm8gKmluZm8gPSBn ZXRfc29ja2V0X2luZm8oc29ja2V0KTsKICAgICB1bnNpZ25lZCBpbnQgYXJyYXlfbGVuOwogICAg IGVudW0gcHNyX2ZlYXRfdHlwZSBmZWF0X3R5cGU7CisgICAgdW5zaWduZWQgbG9uZyBmbGFnOwog CiAgICAgaWYgKCBJU19FUlIoaW5mbykgKQogICAgICAgICByZXR1cm4gUFRSX0VSUihpbmZvKTsK QEAgLTEyODYsMjIgKzEyNzUsNiBAQCBpbnQgcHNyX3NldF92YWwoc3RydWN0IGRvbWFpbiAqZCwg dW5zaWduZWQgaW50IHNvY2tldCwKICAgICBBU1NFUlQoIWNvcyB8fCByZWZbY29zXSk7CiAgICAg QVNTRVJUKCFvbGRfY29zIHx8IHJlZltvbGRfY29zXSk7CiAgICAgcmVmW29sZF9jb3NdLS07Ci0K LSAgICAvKgotICAgICAqIFN0ZXAgNjoKLSAgICAgKiBGb3IgZmVhdHVyZXMsICBlLmcuIENEUCwg d2hpY2ggY29zX251bSBpcyBtb3JlIHRoYW4gMSwgd2UgaGF2ZSB0bwotICAgICAqIHJlc3RvcmUg dGhlIG9sZF9jb3MgdmFsdWUgYmFjayB0byBkZWZhdWx0IHdoZW4gcmVmW29sZF9jb3NdIGlzIDAu Ci0gICAgICogT3RoZXJ3aXNlLCB1c2VyIHdpbGwgc2VlIHdyb25nIHZhbHVlcyB3aGVuIHRoaXMg Q09TIElEIGlzIHJldXNlZC4gRS5nLgotICAgICAqIHVzZXIgd2FudHMgdG8gc2V0IERBVEEgdG8g MHgzZmYgZm9yIGEgbmV3IGRvbWFpbi4gSGUgaG9wZXMgdG8gc2VlIHRoZQotICAgICAqIERBVEEg aXMgc2V0IHRvIDB4M2ZmIGFuZCBDT0RFIHNob3VsZCBiZSB0aGUgZGVmYXVsdCB2YWx1ZSwgMHg3 ZmYuIEJ1dAotICAgICAqIGlmIHRoZSBDT1MgSUQgcGlja2VkIGZvciB0aGlzIGFjdGlvbiBpcyB0 aGUgb25lIHRoYXQgaGFzIGJlZW4gdXNlZCBieQotICAgICAqIG90aGVyIGRvbWFpbiBhbmQgdGhl IENPREUgaGFzIGJlZW4gc2V0IHRvIDB4MWZmLiBUaGVuLCB1c2VyIHdpbGwgc2VlCi0gICAgICog REFUQTogMHgzZmYsIENPREU6IDB4MWZmLiBTbywgd2UgaGF2ZSB0byByZXN0b3JlIENPUyB2YWx1 ZXMgZm9yIGZlYXR1cmVzCi0gICAgICogdXNpbmcgbXVsdGlwbGUgQ09Tcy4KLSAgICAgKi8KLSAg ICBpZiAoIG9sZF9jb3MgJiYgIXJlZltvbGRfY29zXSApCi0gICAgICAgIHJlc3RvcmVfZGVmYXVs dF92YWwoc29ja2V0LCBvbGRfY29zLCBmZWF0X3R5cGUpOwotCiAgICAgc3Bpbl91bmxvY2soJmlu Zm8tPnJlZl9sb2NrKTsKIAogICAgIC8qCkBAIC0xMzEwLDcgKzEyODMsMTAgQEAgaW50IHBzcl9z ZXRfdmFsKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGludCBzb2NrZXQsCiAgICAgICogd2hp Y2ggQ09TIHRoZSBkb21haW4gaXMgdXNpbmcgb24gdGhlIHNvY2tldC4gT25lIGRvbWFpbiBjYW4g b25seSB1c2UKICAgICAgKiBvbmUgQ09TIElEIGF0IHNhbWUgdGltZSBvbiBlYWNoIHNvY2tldC4K ICAgICAgKi8KKyAgICBzcGluX2xvY2tfaXJxc2F2ZSgmaW5mby0+ZG9tX2lkc19sb2NrLCBmbGFn KTsKICAgICBkLT5hcmNoLnBzcl9jb3NfaWRzW3NvY2tldF0gPSBjb3M7CisgICAgdGVzdF9hbmRf c2V0X2JpdChkLT5kb21haW5faWQsIGluZm8tPmRvbV9pZHMpOworICAgIHNwaW5fdW5sb2NrX2ly cXJlc3RvcmUoJmluZm8tPmRvbV9pZHNfbG9jaywgZmxhZyk7CiAKICAgICB4ZnJlZSh2YWxfYXJy YXkpOwogICAgIHJldHVybiByZXQ7CkBAIC0xMzM2LDYgKzEzMTIsNyBAQCBzdGF0aWMgdm9pZCBw c3JfZnJlZV9jb3Moc3RydWN0IGRvbWFpbiAqZCkKICAgICBmb3IgKCBzb2NrZXQgPSAwOyBzb2Nr ZXQgPCBucl9zb2NrZXRzOyBzb2NrZXQrKyApCiAgICAgewogICAgICAgICBzdHJ1Y3QgcHNyX3Nv Y2tldF9pbmZvICppbmZvOworICAgICAgICB1bnNpZ25lZCBsb25nIGZsYWc7CiAKICAgICAgICAg LyogY29zIDAgaXMgZGVmYXVsdCBvbmUgd2hpY2ggZG9lcyBub3QgbmVlZCBiZSBoYW5kbGVkLiAq LwogICAgICAgICBjb3MgPSBkLT5hcmNoLnBzcl9jb3NfaWRzW3NvY2tldF07CkBAIC0xMzQ2LDE0 ICsxMzIzLDExIEBAIHN0YXRpYyB2b2lkIHBzcl9mcmVlX2NvcyhzdHJ1Y3QgZG9tYWluICpkKQog ICAgICAgICBzcGluX2xvY2soJmluZm8tPnJlZl9sb2NrKTsKICAgICAgICAgQVNTRVJUKCFjb3Mg fHwgaW5mby0+Y29zX3JlZltjb3NdKTsKICAgICAgICAgaW5mby0+Y29zX3JlZltjb3NdLS07Ci0g ICAgICAgIC8qCi0gICAgICAgICAqIFRoZSAnY29zX3JlZltjb3NdJyBvZiAnZCcgaXMgMCBub3cg c28gd2UgbmVlZCByZXN0b3JlIGNvcnJlc3BvbmRpbmcKLSAgICAgICAgICogQ09TIHJlZ2lzdGVy cyB0byBkZWZhdWx0IHZhbHVlLiBCZWNhdXNlIHRoaXMgY2FzZSBoYXBwZW5zIHdoZW4gYQotICAg ICAgICAgKiBkb21haW4gaXMgZGVzdHJvaWVkLCB3ZSBuZWVkIHJlc3RvcmUgYWxsIGZlYXR1cmVz LgotICAgICAgICAgKi8KLSAgICAgICAgaWYgKCAhaW5mby0+Y29zX3JlZltjb3NdICkKLSAgICAg ICAgICAgIHJlc3RvcmVfZGVmYXVsdF92YWwoc29ja2V0LCBjb3MsIFBTUl9TT0NLRVRfTUFYX0ZF QVQpOwogICAgICAgICBzcGluX3VubG9jaygmaW5mby0+cmVmX2xvY2spOworCisgICAgICAgIHNw aW5fbG9ja19pcnFzYXZlKCZpbmZvLT5kb21faWRzX2xvY2ssIGZsYWcpOworICAgICAgICBjbGVh cl9iaXQoZC0+ZG9tYWluX2lkLCBpbmZvLT5kb21faWRzKTsKKyAgICAgICAgc3Bpbl91bmxvY2tf aXJxcmVzdG9yZSgmaW5mby0+ZG9tX2lkc19sb2NrLCBmbGFnKTsKICAgICB9CiAKICAgICB4ZnJl ZShkLT5hcmNoLnBzcl9jb3NfaWRzKTsKQEAgLTE0NTMsNiArMTQyNyw3IEBAIHN0YXRpYyB2b2lk IHBzcl9jcHVfaW5pdCh2b2lkKQogICAgICAgICBnb3RvIGFzc29jX2luaXQ7CiAKICAgICBzcGlu X2xvY2tfaW5pdCgmaW5mby0+cmVmX2xvY2spOworICAgIHNwaW5fbG9ja19pbml0KCZpbmZvLT5k b21faWRzX2xvY2spOwogCiAgICAgY3B1aWRfY291bnRfbGVhZihQU1JfQ1BVSURfTEVWRUxfQ0FU LCAwLCAmcmVncyk7CiAgICAgaWYgKCByZWdzLmIgJiBQU1JfUkVTT1VSQ0VfVFlQRV9MMyApCi0t IAoxLjkuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Clhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9s aXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=