From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7F0926E811 for ; Fri, 19 Jul 2019 11:38:24 +0000 (UTC) From: Simon Ser Date: Fri, 19 Jul 2019 14:38:44 +0300 Message-Id: <20190719113847.32626-2-simon.ser@intel.com> In-Reply-To: <20190719113847.32626-1-simon.ser@intel.com> References: <20190719113847.32626-1-simon.ser@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t 1/4] lib/igt_kms: use struct edid instead of unsigned char List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: igt-dev@lists.freedesktop.org List-ID: VGhpcyBoYXMgc2V2ZXJhbCBhZHZhbnRhZ2VzOgoKKiBObyBtb3JlIG5lZWQgdG8gY29udmVydCBi YWNrIGFuZCBmb3J0aCBiZXR3ZWVuIHRoZXNlIHR3byAoZXZlcnlib2R5IHNob3VsZAogIHVzZSBz dHJ1Y3QgZWRpZCwgdGhlIGV4Y2VwdGlvbiBiZWluZyBsaWIvdGVzdHMvaWd0X2VkaWQgd2hpY2gg cGVyZm9ybXMgc2FuaXR5CiAgY2hlY2tzKQoqIE1ha2VzIGl0IGNsZWFyZXIgdGhhdCB1c2VycyBj YW4gY2FsbCBlZGlkX2dldF9zaXplIG9uIGEgcmV0dXJuZWQgRURJRCBibG9iCiogSW1wcm92ZXMg dHlwZSBzYWZldHkgKGl0J3MgbW9yZSBvYnZpb3VzIGlzIGEgcmFuZG9tIGJsb2IgaXMgdXNlZCBh cyBhbiBFRElEKQoKU2lnbmVkLW9mZi1ieTogU2ltb24gU2VyIDxzaW1vbi5zZXJAaW50ZWwuY29t PgotLS0KIGxpYi9pZ3RfY2hhbWVsaXVtLmMgICAgIHwgIDMgKy0tCiBsaWIvaWd0X2NoYW1lbGl1 bS5oICAgICB8ICAzICsrLQogbGliL2lndF9rbXMuYyAgICAgICAgICAgfCAzOCArKysrKysrKysr KysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLQogbGliL2lndF9rbXMuaCAgICAgICAgICAgfCAx OCArKysrKysrKy0tLS0tLS0tLS0KIGxpYi90ZXN0cy9pZ3RfZWRpZC5jICAgIHwgMTQgKysrKysr KystLS0tLS0KIHRlc3RzL2ttc18zZC5jICAgICAgICAgIHwgIDIgKy0KIHRlc3RzL2ttc19jaGFt ZWxpdW0uYyAgIHwgIDQgKystLQogdGVzdHMva21zX2hkbWlfaW5qZWN0LmMgfCAgNCArKy0tCiA4 IGZpbGVzIGNoYW5nZWQsIDQzIGluc2VydGlvbnMoKyksIDQzIGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL2xpYi9pZ3RfY2hhbWVsaXVtLmMgYi9saWIvaWd0X2NoYW1lbGl1bS5jCmluZGV4IDMw MWU5ZDIxNGRkMS4uYWQzMGU4MDNkMmE1IDEwMDY0NAotLS0gYS9saWIvaWd0X2NoYW1lbGl1bS5j CisrKyBiL2xpYi9pZ3RfY2hhbWVsaXVtLmMKQEAgLTU2MiwxMCArNTYyLDkgQEAgc3RhdGljIHZv aWQgY2hhbWVsaXVtX2Rlc3Ryb3lfZWRpZChzdHJ1Y3QgY2hhbWVsaXVtICpjaGFtZWxpdW0sIGlu dCBlZGlkX2lkKQogICogUmV0dXJuczogQW4gb3BhcXVlIHBvaW50ZXIgdG8gdGhlIENoYW1lbGl1 bSBFRElECiAgKi8KIHN0cnVjdCBjaGFtZWxpdW1fZWRpZCAqY2hhbWVsaXVtX25ld19lZGlkKHN0 cnVjdCBjaGFtZWxpdW0gKmNoYW1lbGl1bSwKLQkJCQkJICBjb25zdCB1bnNpZ25lZCBjaGFyICpy YXdfZWRpZCkKKwkJCQkJICBjb25zdCBzdHJ1Y3QgZWRpZCAqZWRpZCkKIHsKIAlzdHJ1Y3QgY2hh bWVsaXVtX2VkaWQgKmNoYW1lbGl1bV9lZGlkOwotCWNvbnN0IHN0cnVjdCBlZGlkICplZGlkID0g KHN0cnVjdCBlZGlkICopIHJhd19lZGlkOwogCXNpemVfdCBlZGlkX3NpemUgPSBlZGlkX2dldF9z aXplKGVkaWQpOwogCiAJY2hhbWVsaXVtX2VkaWQgPSBjYWxsb2MoMSwgc2l6ZW9mKHN0cnVjdCBj aGFtZWxpdW1fZWRpZCkpOwpkaWZmIC0tZ2l0IGEvbGliL2lndF9jaGFtZWxpdW0uaCBiL2xpYi9p Z3RfY2hhbWVsaXVtLmgKaW5kZXggYjZiN2ViNDQzNmY4Li5jYTZhZWY4MDFiNmYgMTAwNjQ0Ci0t LSBhL2xpYi9pZ3RfY2hhbWVsaXVtLmgKKysrIGIvbGliL2lndF9jaGFtZWxpdW0uaApAQCAtMzQs NiArMzQsNyBAQAogI2luY2x1ZGUgImlndF9kZWJ1Z2ZzLmgiCiAKIHN0cnVjdCBpZ3RfZmI7Citz dHJ1Y3QgZWRpZDsKIAogc3RydWN0IGNoYW1lbGl1bTsKIHN0cnVjdCBjaGFtZWxpdW1fcG9ydDsK QEAgLTExNCw3ICsxMTUsNyBAQCB2b2lkIGNoYW1lbGl1bV9zY2hlZHVsZV9ocGRfdG9nZ2xlKHN0 cnVjdCBjaGFtZWxpdW0gKmNoYW1lbGl1bSwKIAkJCQkgICBzdHJ1Y3QgY2hhbWVsaXVtX3BvcnQg KnBvcnQsIGludCBkZWxheV9tcywKIAkJCQkgICBib29sIHJpc2luZ19lZGdlKTsKIHN0cnVjdCBj aGFtZWxpdW1fZWRpZCAqY2hhbWVsaXVtX25ld19lZGlkKHN0cnVjdCBjaGFtZWxpdW0gKmNoYW1l bGl1bSwKLQkJCQkJICBjb25zdCB1bnNpZ25lZCBjaGFyICplZGlkKTsKKwkJCQkJICBjb25zdCBz dHJ1Y3QgZWRpZCAqZWRpZCk7CiBjb25zdCBzdHJ1Y3QgZWRpZCAqY2hhbWVsaXVtX2VkaWRfZ2V0 X3JhdyhzdHJ1Y3QgY2hhbWVsaXVtX2VkaWQgKmVkaWQsCiAJCQkJCSAgc3RydWN0IGNoYW1lbGl1 bV9wb3J0ICpwb3J0KTsKIHZvaWQgY2hhbWVsaXVtX3BvcnRfc2V0X2VkaWQoc3RydWN0IGNoYW1l bGl1bSAqY2hhbWVsaXVtLApkaWZmIC0tZ2l0IGEvbGliL2lndF9rbXMuYyBiL2xpYi9pZ3Rfa21z LmMKaW5kZXggMTc1ZTcxYzMxMGI3Li5iN2ZiMTY1ZTA2NzggMTAwNjQ0Ci0tLSBhL2xpYi9pZ3Rf a21zLmMKKysrIGIvbGliL2lndF9rbXMuYwpAQCAtMTAwLDcgKzEwMCw3IEBAIHN0YXRpYyBpbnQg Zm9yY2VkX2Nvbm5lY3RvcnNfZGV2aWNlW01BWF9DT05ORUNUT1JTICsgMV07CiAgKgogICogUmV0 dXJuczogYSBiYXNpYyBlZGlkIGJsb2NrCiAgKi8KLWNvbnN0IHVuc2lnbmVkIGNoYXIgKmlndF9r bXNfZ2V0X2Jhc2VfZWRpZCh2b2lkKQorY29uc3Qgc3RydWN0IGVkaWQgKmlndF9rbXNfZ2V0X2Jh c2VfZWRpZCh2b2lkKQogewogCXN0YXRpYyBzdHJ1Y3QgZWRpZCBlZGlkOwogCWRybU1vZGVNb2Rl SW5mbyBtb2RlID0ge307CkBAIC0xMTksNyArMTE5LDcgQEAgY29uc3QgdW5zaWduZWQgY2hhciAq aWd0X2ttc19nZXRfYmFzZV9lZGlkKHZvaWQpCiAJZWRpZF9pbml0X3dpdGhfbW9kZSgmZWRpZCwg Jm1vZGUpOwogCWVkaWRfdXBkYXRlX2NoZWNrc3VtKCZlZGlkKTsKIAotCXJldHVybiAodW5zaWdu ZWQgY2hhciAqKSAmZWRpZDsKKwlyZXR1cm4gJmVkaWQ7CiB9CiAKIC8qKgpAQCAtMTM2LDcgKzEz Niw3IEBAIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmlndF9rbXNfZ2V0X2Jhc2VfZWRpZCh2b2lkKQog ICoKICAqIFJldHVybnM6IGFuIGFsdGVybmF0ZSBlZGlkIGJsb2NrCiAgKi8KLWNvbnN0IHVuc2ln bmVkIGNoYXIgKmlndF9rbXNfZ2V0X2FsdF9lZGlkKHZvaWQpCitjb25zdCBzdHJ1Y3QgZWRpZCAq aWd0X2ttc19nZXRfYWx0X2VkaWQodm9pZCkKIHsKIAlzdGF0aWMgc3RydWN0IGVkaWQgZWRpZDsK IAlkcm1Nb2RlTW9kZUluZm8gbW9kZSA9IHt9OwpAQCAtMTU1LDEyICsxNTUsMTIgQEAgY29uc3Qg dW5zaWduZWQgY2hhciAqaWd0X2ttc19nZXRfYWx0X2VkaWQodm9pZCkKIAllZGlkX2luaXRfd2l0 aF9tb2RlKCZlZGlkLCAmbW9kZSk7CiAJZWRpZF91cGRhdGVfY2hlY2tzdW0oJmVkaWQpOwogCi0J cmV0dXJuICh1bnNpZ25lZCBjaGFyICopICZlZGlkOworCXJldHVybiAmZWRpZDsKIH0KIAogI2Rl ZmluZSBBVURJT19FRElEX0xFTkdUSCAoMiAqIEVESURfTEVOR1RIKQogCi1zdGF0aWMgdm9pZAor c3RhdGljIGNvbnN0IHN0cnVjdCBlZGlkICoKIGdlbmVyYXRlX2F1ZGlvX2VkaWQodW5zaWduZWQg Y2hhciByYXdfZWRpZFtzdGF0aWMgQVVESU9fRURJRF9MRU5HVEhdLAogCQkgICAgYm9vbCB3aXRo X3ZzZGIsIHN0cnVjdCBjZWFfc2FkICpzYWQsCiAJCSAgICBzdHJ1Y3QgY2VhX3NwZWFrZXJfYWxs b2MgKnNwZWFrZXJfYWxsb2MpCkBAIC0yMDYsOSArMjA2LDExIEBAIGdlbmVyYXRlX2F1ZGlvX2Vk aWQodW5zaWduZWQgY2hhciByYXdfZWRpZFtzdGF0aWMgQVVESU9fRURJRF9MRU5HVEhdLAogCiAJ ZWRpZF91cGRhdGVfY2hlY2tzdW0oZWRpZCk7CiAJZWRpZF9leHRfdXBkYXRlX2NlYV9jaGVja3N1 bShlZGlkX2V4dCk7CisKKwlyZXR1cm4gZWRpZDsKIH0KIAotY29uc3QgdW5zaWduZWQgY2hhciAq aWd0X2ttc19nZXRfaGRtaV9hdWRpb19lZGlkKHZvaWQpCitjb25zdCBzdHJ1Y3QgZWRpZCAqaWd0 X2ttc19nZXRfaGRtaV9hdWRpb19lZGlkKHZvaWQpCiB7CiAJaW50IGNoYW5uZWxzOwogCXVpbnQ4 X3Qgc2FtcGxpbmdfcmF0ZXMsIHNhbXBsZV9zaXplczsKQEAgLTIyOSwxMiArMjMxLDEwIEBAIGNv bnN0IHVuc2lnbmVkIGNoYXIgKmlndF9rbXNfZ2V0X2hkbWlfYXVkaW9fZWRpZCh2b2lkKQogCS8q IEluaXRpYWxpemUgdGhlIFNwZWFrZXIgQWxsb2NhdGlvbiBEYXRhICovCiAJc3BlYWtlcl9hbGxv Yy5zcGVha2VycyA9IENFQV9TUEVBS0VSX0ZST05UX0xFRlRfUklHSFRfQ0VOVEVSOwogCi0JZ2Vu ZXJhdGVfYXVkaW9fZWRpZChyYXdfZWRpZCwgdHJ1ZSwgJnNhZCwgJnNwZWFrZXJfYWxsb2MpOwot Ci0JcmV0dXJuIHJhd19lZGlkOworCXJldHVybiBnZW5lcmF0ZV9hdWRpb19lZGlkKHJhd19lZGlk LCB0cnVlLCAmc2FkLCAmc3BlYWtlcl9hbGxvYyk7CiB9CiAKLWNvbnN0IHVuc2lnbmVkIGNoYXIg KmlndF9rbXNfZ2V0X2RwX2F1ZGlvX2VkaWQodm9pZCkKK2NvbnN0IHN0cnVjdCBlZGlkICppZ3Rf a21zX2dldF9kcF9hdWRpb19lZGlkKHZvaWQpCiB7CiAJaW50IGNoYW5uZWxzOwogCXVpbnQ4X3Qg c2FtcGxpbmdfcmF0ZXMsIHNhbXBsZV9zaXplczsKQEAgLTI1NSw5ICsyNTUsNyBAQCBjb25zdCB1 bnNpZ25lZCBjaGFyICppZ3Rfa21zX2dldF9kcF9hdWRpb19lZGlkKHZvaWQpCiAJLyogSW5pdGlh bGl6ZSB0aGUgU3BlYWtlciBBbGxvY2F0aW9uIERhdGEgKi8KIAlzcGVha2VyX2FsbG9jLnNwZWFr ZXJzID0gQ0VBX1NQRUFLRVJfRlJPTlRfTEVGVF9SSUdIVF9DRU5URVI7CiAKLQlnZW5lcmF0ZV9h dWRpb19lZGlkKHJhd19lZGlkLCBmYWxzZSwgJnNhZCwgJnNwZWFrZXJfYWxsb2MpOwotCi0JcmV0 dXJuIHJhd19lZGlkOworCXJldHVybiBnZW5lcmF0ZV9hdWRpb19lZGlkKHJhd19lZGlkLCBmYWxz ZSwgJnNhZCwgJnNwZWFrZXJfYWxsb2MpOwogfQogCiBzdGF0aWMgY29uc3QgdWludDhfdCBlZGlk XzRrX3N2ZHNbXSA9IHsKQEAgLTI2OCw3ICsyNjYsNyBAQCBzdGF0aWMgY29uc3QgdWludDhfdCBl ZGlkXzRrX3N2ZHNbXSA9IHsKIAkxOSwgICAgICAgICAgICAgICAgICAvKiA3MjBwIEAgNTBIeiAq LwogfTsKIAotY29uc3QgdW5zaWduZWQgY2hhciAqaWd0X2ttc19nZXRfNGtfZWRpZCh2b2lkKQor Y29uc3Qgc3RydWN0IGVkaWQgKmlndF9rbXNfZ2V0XzRrX2VkaWQodm9pZCkKIHsKIAlzdGF0aWMg dW5zaWduZWQgY2hhciByYXdfZWRpZFsyNTZdID0gezB9OwogCXN0cnVjdCBlZGlkICplZGlkOwpA QCAtMzE3LDEwICszMTUsMTEgQEAgY29uc3QgdW5zaWduZWQgY2hhciAqaWd0X2ttc19nZXRfNGtf ZWRpZCh2b2lkKQogCiAJZWRpZF91cGRhdGVfY2hlY2tzdW0oZWRpZCk7CiAJZWRpZF9leHRfdXBk YXRlX2NlYV9jaGVja3N1bShlZGlkX2V4dCk7Ci0JcmV0dXJuIHJhd19lZGlkOworCisJcmV0dXJu IGVkaWQ7CiB9CiAKLWNvbnN0IHVuc2lnbmVkIGNoYXIgKmlndF9rbXNfZ2V0XzNkX2VkaWQodm9p ZCkKK2NvbnN0IHN0cnVjdCBlZGlkICppZ3Rfa21zX2dldF8zZF9lZGlkKHZvaWQpCiB7CiAJc3Rh dGljIHVuc2lnbmVkIGNoYXIgcmF3X2VkaWRbMjU2XSA9IHswfTsKIAlzdHJ1Y3QgZWRpZCAqZWRp ZDsKQEAgLTM2OCw3ICszNjcsOCBAQCBjb25zdCB1bnNpZ25lZCBjaGFyICppZ3Rfa21zX2dldF8z ZF9lZGlkKHZvaWQpCiAKIAllZGlkX3VwZGF0ZV9jaGVja3N1bShlZGlkKTsKIAllZGlkX2V4dF91 cGRhdGVfY2VhX2NoZWNrc3VtKGVkaWRfZXh0KTsKLQlyZXR1cm4gcmF3X2VkaWQ7CisKKwlyZXR1 cm4gZWRpZDsKIH0KIAogY29uc3QgY2hhciAqIGNvbnN0IGlndF9wbGFuZV9wcm9wX25hbWVzW0lH VF9OVU1fUExBTkVfUFJPUFNdID0gewpAQCAtMTA4NCw3ICsxMDg0LDcgQEAgYm9vbCBrbXN0ZXN0 X2ZvcmNlX2Nvbm5lY3RvcihpbnQgZHJtX2ZkLCBkcm1Nb2RlQ29ubmVjdG9yICpjb25uZWN0b3Is CiAgKiBJZiBAZWRpZCBpcyBOVUxMLCB0aGUgZm9yY2VkIEVESUQgd2lsbCBiZSByZW1vdmVkLgog ICovCiB2b2lkIGttc3Rlc3RfZm9yY2VfZWRpZChpbnQgZHJtX2ZkLCBkcm1Nb2RlQ29ubmVjdG9y ICpjb25uZWN0b3IsCi0JCQljb25zdCB1bnNpZ25lZCBjaGFyICplZGlkKQorCQkJY29uc3Qgc3Ry dWN0IGVkaWQgKmVkaWQpCiB7CiAJY2hhciAqcGF0aDsKIAlpbnQgZGVidWdmc19mZCwgcmV0OwpA QCAtMTEwMSw3ICsxMTAxLDcgQEAgdm9pZCBrbXN0ZXN0X2ZvcmNlX2VkaWQoaW50IGRybV9mZCwg ZHJtTW9kZUNvbm5lY3RvciAqY29ubmVjdG9yLAogCQlyZXQgPSB3cml0ZShkZWJ1Z2ZzX2ZkLCAi cmVzZXQiLCA1KTsKIAllbHNlCiAJCXJldCA9IHdyaXRlKGRlYnVnZnNfZmQsIGVkaWQsCi0JCQkg ICAgZWRpZF9nZXRfc2l6ZSgoc3RydWN0IGVkaWQgKikgZWRpZCkpOworCQkJICAgIGVkaWRfZ2V0 X3NpemUoZWRpZCkpOwogCWNsb3NlKGRlYnVnZnNfZmQpOwogCiAJLyogVG8gYWxsb3cgY2FsbGVy cyB0byBhbHdheXMgdXNlIEdldENvbm5lY3RvckN1cnJlbnQgd2UgbmVlZCB0byBmb3JjZSBhCmRp ZmYgLS1naXQgYS9saWIvaWd0X2ttcy5oIGIvbGliL2lndF9rbXMuaAppbmRleCAwNDg2NzM3YmI4 YmUuLjBiOTM3NGExNmIwZSAxMDA2NDQKLS0tIGEvbGliL2lndF9rbXMuaAorKysgYi9saWIvaWd0 X2ttcy5oCkBAIC0xOTEsMTEgKzE5MSwxMiBAQCBlbnVtIGludGVsX2Jyb2FkY2FzdF9yZ2JfbW9k ZSB7CiAJQlJPQURDQVNUX1JHQl8xNl8yMzUKIH07CiAKK3N0cnVjdCBlZGlkOwogCiBib29sIGtt c3Rlc3RfZm9yY2VfY29ubmVjdG9yKGludCBmZCwgZHJtTW9kZUNvbm5lY3RvciAqY29ubmVjdG9y LAogCQkJICAgICBlbnVtIGttc3Rlc3RfZm9yY2VfY29ubmVjdG9yX3N0YXRlIHN0YXRlKTsKIHZv aWQga21zdGVzdF9mb3JjZV9lZGlkKGludCBkcm1fZmQsIGRybU1vZGVDb25uZWN0b3IgKmNvbm5l Y3RvciwKLQkJCWNvbnN0IHVuc2lnbmVkIGNoYXIgKmVkaWQpOworCQkJY29uc3Qgc3RydWN0IGVk aWQgKmVkaWQpOwogCiBib29sIGttc3Rlc3RfZ2V0X2Nvbm5lY3Rvcl9kZWZhdWx0X21vZGUoaW50 IGRybV9mZCwgZHJtTW9kZUNvbm5lY3RvciAqY29ubmVjdG9yLAogCQkJCQlkcm1Nb2RlTW9kZUlu Zm8gKm1vZGUpOwpAQCAtNzUzLDE2ICs3NTQsMTMgQEAgdm9pZCBpZ3RfcmVzZXRfY29ubmVjdG9y cyh2b2lkKTsKIAogdWludDMyX3Qga21zdGVzdF9nZXRfdmJsX2ZsYWcodWludDMyX3QgcGlwZV9p ZCk7CiAKLXN0cnVjdCBjZWFfc2FkOwotc3RydWN0IGNlYV9zcGVha2VyX2FsbG9jOwotCiAjZGVm aW5lIEVESURfTEVOR1RIIDEyOAotY29uc3QgdW5zaWduZWQgY2hhciAqaWd0X2ttc19nZXRfYmFz ZV9lZGlkKHZvaWQpOwotY29uc3QgdW5zaWduZWQgY2hhciAqaWd0X2ttc19nZXRfYWx0X2VkaWQo dm9pZCk7Ci1jb25zdCB1bnNpZ25lZCBjaGFyICppZ3Rfa21zX2dldF9oZG1pX2F1ZGlvX2VkaWQo dm9pZCk7Ci1jb25zdCB1bnNpZ25lZCBjaGFyICppZ3Rfa21zX2dldF9kcF9hdWRpb19lZGlkKHZv aWQpOwotY29uc3QgdW5zaWduZWQgY2hhciAqaWd0X2ttc19nZXRfNGtfZWRpZCh2b2lkKTsKLWNv bnN0IHVuc2lnbmVkIGNoYXIgKmlndF9rbXNfZ2V0XzNkX2VkaWQodm9pZCk7Citjb25zdCBzdHJ1 Y3QgZWRpZCAqaWd0X2ttc19nZXRfYmFzZV9lZGlkKHZvaWQpOworY29uc3Qgc3RydWN0IGVkaWQg KmlndF9rbXNfZ2V0X2FsdF9lZGlkKHZvaWQpOworY29uc3Qgc3RydWN0IGVkaWQgKmlndF9rbXNf Z2V0X2hkbWlfYXVkaW9fZWRpZCh2b2lkKTsKK2NvbnN0IHN0cnVjdCBlZGlkICppZ3Rfa21zX2dl dF9kcF9hdWRpb19lZGlkKHZvaWQpOworY29uc3Qgc3RydWN0IGVkaWQgKmlndF9rbXNfZ2V0XzRr X2VkaWQodm9pZCk7Citjb25zdCBzdHJ1Y3QgZWRpZCAqaWd0X2ttc19nZXRfM2RfZWRpZCh2b2lk KTsKIAogc3RydWN0IHVkZXZfbW9uaXRvciAqaWd0X3dhdGNoX2hvdHBsdWcodm9pZCk7CiBib29s IGlndF9ob3RwbHVnX2RldGVjdGVkKHN0cnVjdCB1ZGV2X21vbml0b3IgKm1vbiwKZGlmZiAtLWdp dCBhL2xpYi90ZXN0cy9pZ3RfZWRpZC5jIGIvbGliL3Rlc3RzL2lndF9lZGlkLmMKaW5kZXggZmM5 OGYxYmI3MWNlLi5iYmJmMTUwNTg5ODIgMTAwNjQ0Ci0tLSBhL2xpYi90ZXN0cy9pZ3RfZWRpZC5j CisrKyBiL2xpYi90ZXN0cy9pZ3RfZWRpZC5jCkBAIC02NCw3ICs2NCw3IEBAIHN0YXRpYyBib29s IGVkaWRfYmxvY2tfY2hlY2tzdW0oY29uc3QgdW5zaWduZWQgY2hhciAqcmF3X2VkaWQpCiAJcmV0 dXJuIGNzdW0gPT0gMDsKIH0KIAotdHlwZWRlZiBjb25zdCB1bnNpZ25lZCBjaGFyICooKmdldF9l ZGlkX2Z1bmMpKHZvaWQpOwordHlwZWRlZiBjb25zdCBzdHJ1Y3QgZWRpZCAqKCpnZXRfZWRpZF9m dW5jKSh2b2lkKTsKIAogaWd0X3NpbXBsZV9tYWluCiB7CkBAIC04MCwyMyArODAsMjUgQEAgaWd0 X3NpbXBsZV9tYWluCiAJCXsgIjNkIiwgaWd0X2ttc19nZXRfM2RfZWRpZCwgMSB9LAogCQl7MH0s CiAJfSwgKmY7Ci0JY29uc3QgdW5zaWduZWQgY2hhciAqZWRpZDsKKwljb25zdCBzdHJ1Y3QgZWRp ZCAqZWRpZDsKKwljb25zdCB1aW50OF90ICpyYXdfZWRpZDsKIAlzaXplX3QgaTsKIAogCWZvciAo ZiA9IGZ1bmNzOyBmLT5mOyBmKyspIHsKIAkJZWRpZCA9IGYtPmYoKTsKKwkJcmF3X2VkaWQgPSAo dWludDhfdCAqKSBlZGlkOwogCi0JCWlndF9hc3NlcnRfZihlZGlkX2hlYWRlcl9pc192YWxpZChl ZGlkKSwKKwkJaWd0X2Fzc2VydF9mKGVkaWRfaGVhZGVyX2lzX3ZhbGlkKHJhd19lZGlkKSwKIAkJ CSAgICAgImludmFsaWQgaGVhZGVyIG9uICVzIEVESUQiLCBmLT5kZXNjKTsKIAkJLyogY2hlY2sg YmFzZSBlZGlkIGJsb2NrICovCi0JCWlndF9hc3NlcnRfZihlZGlkX2Jsb2NrX2NoZWNrc3VtKGVk aWQpLAorCQlpZ3RfYXNzZXJ0X2YoZWRpZF9ibG9ja19jaGVja3N1bShyYXdfZWRpZCksCiAJCQkg ICAgICJjaGVja3N1bSBmYWlsZWQgb24gJXMgRURJRCIsIGYtPmRlc2MpOwogCQkvKiBjaGVjayBl eHRlbnNpb24gYmxvY2tzLCBpZiBhbnkgKi8KLQkJaWd0X2Fzc2VydF9mKGVkaWRbMTI2XSA9PSBm LT5leHRzLAorCQlpZ3RfYXNzZXJ0X2YocmF3X2VkaWRbMTI2XSA9PSBmLT5leHRzLAogCQkJICAg ICAidW5leHBlY3RlZCBudW1iZXIgb2YgZXh0ZW5zaW9ucyBvbiAlcyBFRElEIiwKIAkJCSAgICAg Zi0+ZGVzYyk7CiAJCWZvciAoaSA9IDA7IGkgPCBmLT5leHRzOyBpKyspCi0JCQlpZ3RfYXNzZXJ0 X2YoZWRpZF9ibG9ja19jaGVja3N1bShlZGlkICsgKGkgKyAxKSAqIEVESURfTEVOR1RIKSwKKwkJ CWlndF9hc3NlcnRfZihlZGlkX2Jsb2NrX2NoZWNrc3VtKHJhd19lZGlkICsgKGkgKyAxKSAqIEVE SURfTEVOR1RIKSwKIAkJCQkgICAgICJDRUEgYmxvY2sgY2hlY2tzdW0gZmFpbGVkIG9uICVzIEVE SUQiLCBmLT5kZXNjKTsKIAl9CiB9CmRpZmYgLS1naXQgYS90ZXN0cy9rbXNfM2QuYyBiL3Rlc3Rz L2ttc18zZC5jCmluZGV4IDhhZGU2ZDM0N2EyOS4uN2U4ODBkZDIyZTMwIDEwMDY0NAotLS0gYS90 ZXN0cy9rbXNfM2QuYworKysgYi90ZXN0cy9rbXNfM2QuYwpAQCAtMzEsNyArMzEsNyBAQCBpZ3Rf c2ltcGxlX21haW4KIAlpbnQgZHJtX2ZkOwogCWRybU1vZGVSZXMgKnJlczsKIAlkcm1Nb2RlQ29u bmVjdG9yICpjb25uZWN0b3I7Ci0JY29uc3QgdW5zaWduZWQgY2hhciAqZWRpZDsKKwljb25zdCBz dHJ1Y3QgZWRpZCAqZWRpZDsKIAlpbnQgbW9kZV9jb3VudCwgY29ubmVjdG9yX2lkOwogCiAJZHJt X2ZkID0gZHJtX29wZW5fZHJpdmVyX21hc3RlcihEUklWRVJfSU5URUwpOwpkaWZmIC0tZ2l0IGEv dGVzdHMva21zX2NoYW1lbGl1bS5jIGIvdGVzdHMva21zX2NoYW1lbGl1bS5jCmluZGV4IGI3ZDMw YTJkMGY1NS4uMDNjZDkzNzBjODRmIDEwMDY0NAotLS0gYS90ZXN0cy9rbXNfY2hhbWVsaXVtLmMK KysrIGIvdGVzdHMva21zX2NoYW1lbGl1bS5jCkBAIC0yNjAsNyArMjYwLDcgQEAgdGVzdF9iYXNp Y19ob3RwbHVnKGRhdGFfdCAqZGF0YSwgc3RydWN0IGNoYW1lbGl1bV9wb3J0ICpwb3J0LCBpbnQg dG9nZ2xlX2NvdW50KQogCWlndF9ocGRfc3Rvcm1fcmVzZXQoZGF0YS0+ZHJtX2ZkKTsKIH0KIAot c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmdldF9lZGlkKGVudW0gdGVzdF9lZGlkIGVkaWQp Oworc3RhdGljIGNvbnN0IHN0cnVjdCBlZGlkICpnZXRfZWRpZChlbnVtIHRlc3RfZWRpZCBlZGlk KTsKIAogc3RhdGljIHZvaWQgc2V0X2VkaWQoZGF0YV90ICpkYXRhLCBzdHJ1Y3QgY2hhbWVsaXVt X3BvcnQgKnBvcnQsCiAJCSAgICAgZW51bSB0ZXN0X2VkaWQgZWRpZCkKQEAgLTIxNDEsNyArMjE0 MSw3IEBAIHRlc3RfaHBkX3N0b3JtX2Rpc2FibGUoZGF0YV90ICpkYXRhLCBzdHJ1Y3QgY2hhbWVs aXVtX3BvcnQgKnBvcnQsIGludCB3aWR0aCkKIAlpZ3RfaHBkX3N0b3JtX3Jlc2V0KGRhdGEtPmRy bV9mZCk7CiB9CiAKLXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyICpnZXRfZWRpZChlbnVtIHRl c3RfZWRpZCBlZGlkKQorc3RhdGljIGNvbnN0IHN0cnVjdCBlZGlkICpnZXRfZWRpZChlbnVtIHRl c3RfZWRpZCBlZGlkKQogewogCXN3aXRjaCAoZWRpZCkgewogCWNhc2UgVEVTVF9FRElEX0JBU0U6 CmRpZmYgLS1naXQgYS90ZXN0cy9rbXNfaGRtaV9pbmplY3QuYyBiL3Rlc3RzL2ttc19oZG1pX2lu amVjdC5jCmluZGV4IDc4Njg0MjQxNzM3Yi4uMTU3ZDU4Mjc1MTA3IDEwMDY0NAotLS0gYS90ZXN0 cy9rbXNfaGRtaV9pbmplY3QuYworKysgYi90ZXN0cy9rbXNfaGRtaV9pbmplY3QuYwpAQCAtNzks NyArNzksNyBAQCBnZXRfY29ubmVjdG9yKGludCBkcm1fZmQsIGRybU1vZGVSZXMgKnJlcykKIHN0 YXRpYyB2b2lkCiBoZG1pX2luamVjdF80ayhpbnQgZHJtX2ZkLCBkcm1Nb2RlQ29ubmVjdG9yICpj b25uZWN0b3IpCiB7Ci0JY29uc3QgdW5zaWduZWQgY2hhciAqZWRpZDsKKwljb25zdCBzdHJ1Y3Qg ZWRpZCAqZWRpZDsKIAlzdHJ1Y3Qga21zdGVzdF9jb25uZWN0b3JfY29uZmlnIGNvbmZpZzsKIAlp bnQgcmV0LCBjaWQsIGksIGNydGNfbWFzayA9IC0xOwogCWludCBmYl9pZDsKQEAgLTE0MCw3ICsx NDAsNyBAQCBoZG1pX2luamVjdF80ayhpbnQgZHJtX2ZkLCBkcm1Nb2RlQ29ubmVjdG9yICpjb25u ZWN0b3IpCiBzdGF0aWMgdm9pZAogaGRtaV9pbmplY3RfYXVkaW8oaW50IGRybV9mZCwgZHJtTW9k ZUNvbm5lY3RvciAqY29ubmVjdG9yKQogewotCWNvbnN0IHVuc2lnbmVkIGNoYXIgKmVkaWQ7CisJ Y29uc3Qgc3RydWN0IGVkaWQgKmVkaWQ7CiAJaW50IGZiX2lkLCBjaWQsIHJldCwgY3J0Y19tYXNr ID0gLTE7CiAJc3RydWN0IGlndF9mYiBmYjsKIAlzdHJ1Y3Qga21zdGVzdF9jb25uZWN0b3JfY29u ZmlnIGNvbmZpZzsKLS0gCjIuMjIuMAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KaWd0LWRldiBtYWlsaW5nIGxpc3QKaWd0LWRldkBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9p Z3QtZGV2