From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lucas De Marchi Subject: [PATCH libdrm v2 01/13] intel: annotate public functions Date: Thu, 13 Sep 2018 16:57:12 -0700 Message-ID: <20180913235724.30476-2-lucas.demarchi@intel.com> References: <20180913235724.30476-1-lucas.demarchi@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id DAEE66E3C7 for ; Thu, 13 Sep 2018 23:58:26 +0000 (UTC) In-Reply-To: <20180913235724.30476-1-lucas.demarchi@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org Cc: Eric Engestrom , Daniel Vetter , Rodrigo Vivi List-Id: dri-devel@lists.freedesktop.org VGhpcyB3YXMgZG9uZSB3aXRoOgp3aGlsZSByZWFkIHN5bTsgZG8KCXJlYWQgZiBmdW5jIGxpbmUg XyA8PDwkKGNzY29wZSAtZCAtTCAtMSAkc3ltKQoJaWYgWyAhIC16ICIkZiIgXTsgdGhlbgoJCWxp bmU9JCgobGluZS0xKSkKCQlzZWQgLWkgIiR7bGluZX1zL14vZHJtX3B1YmxpYyAvIiAkZgoJZmkK ZG9uZSA8IC90bXAvYS50eHQKClRoZW4gc29tZSBjb3JuZXIgY2FzZXMgd2VyZSBtYW51YWxseSBm aXhlZC4gImEudHh0IiBhYm92ZSBjb250YWlucyB0aGUKc3ltYm9scyBjb2xsZWN0ZWQgZnJvbSBp bnRlbC9pbnRlbC1zeW1ib2wtY2hlY2suIFRoZSBpZGVhIGhlcmUgd2lsbCBiZQp0byBzd2l0Y2gg dGhlIGRlZmF1bHQgdmlzaWJpbGl0eSB0byBoaWRkZW4gc28gd2UgZG9uJ3QgZXhwb3J0IHN5bWJv bHMgd2UKc2hvdWxkbid0LgoKU2lnbmVkLW9mZi1ieTogTHVjYXMgRGUgTWFyY2hpIDxsdWNhcy5k ZW1hcmNoaUBpbnRlbC5jb20+Ci0tLQogaW50ZWwvaW50ZWxfYnVmbWdyLmMgICAgICB8IDY0ICsr KysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0KIGludGVsL2ludGVsX2J1Zm1ncl9mYWtl LmMgfCAxMCArKystLS0KIGludGVsL2ludGVsX2J1Zm1ncl9nZW0uYyAgfCA3MyArKysrKysrKysr KysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0KIGludGVsL2ludGVsX2RlY29kZS5jICAgICAg fCAxNCArKysrLS0tLQogbGliZHJtX21hY3Jvcy5oICAgICAgICAgICB8ICAyICsrCiA1IGZpbGVz IGNoYW5nZWQsIDgyIGluc2VydGlvbnMoKyksIDgxIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L2ludGVsL2ludGVsX2J1Zm1nci5jIGIvaW50ZWwvaW50ZWxfYnVmbWdyLmMKaW5kZXggMTkyZGUw OTMuLjY4ZDk3YzBlIDEwMDY0NAotLS0gYS9pbnRlbC9pbnRlbF9idWZtZ3IuYworKysgYi9pbnRl bC9pbnRlbF9idWZtZ3IuYwpAQCAtNDUsMjEgKzQ1LDIxIEBACiAgKiBDb252ZW5pZW5jZSBmdW5j dGlvbnMgZm9yIGJ1ZmZlciBtYW5hZ2VtZW50IG1ldGhvZHMuCiAgKi8KIAotZHJtX2ludGVsX2Jv ICoKK2RybV9wdWJsaWMgZHJtX2ludGVsX2JvICoKIGRybV9pbnRlbF9ib19hbGxvYyhkcm1faW50 ZWxfYnVmbWdyICpidWZtZ3IsIGNvbnN0IGNoYXIgKm5hbWUsCiAJCSAgIHVuc2lnbmVkIGxvbmcg c2l6ZSwgdW5zaWduZWQgaW50IGFsaWdubWVudCkKIHsKIAlyZXR1cm4gYnVmbWdyLT5ib19hbGxv YyhidWZtZ3IsIG5hbWUsIHNpemUsIGFsaWdubWVudCk7CiB9CiAKLWRybV9pbnRlbF9ibyAqCitk cm1fcHVibGljIGRybV9pbnRlbF9ibyAqCiBkcm1faW50ZWxfYm9fYWxsb2NfZm9yX3JlbmRlcihk cm1faW50ZWxfYnVmbWdyICpidWZtZ3IsIGNvbnN0IGNoYXIgKm5hbWUsCiAJCQkgICAgICB1bnNp Z25lZCBsb25nIHNpemUsIHVuc2lnbmVkIGludCBhbGlnbm1lbnQpCiB7CiAJcmV0dXJuIGJ1Zm1n ci0+Ym9fYWxsb2NfZm9yX3JlbmRlcihidWZtZ3IsIG5hbWUsIHNpemUsIGFsaWdubWVudCk7CiB9 CiAKLWRybV9pbnRlbF9ibyAqCitkcm1fcHVibGljIGRybV9pbnRlbF9ibyAqCiBkcm1faW50ZWxf Ym9fYWxsb2NfdXNlcnB0cihkcm1faW50ZWxfYnVmbWdyICpidWZtZ3IsCiAJCQkgICBjb25zdCBj aGFyICpuYW1lLCB2b2lkICphZGRyLAogCQkJICAgdWludDMyX3QgdGlsaW5nX21vZGUsCkBAIC03 Myw3ICs3Myw3IEBAIGRybV9pbnRlbF9ib19hbGxvY191c2VycHRyKGRybV9pbnRlbF9idWZtZ3Ig KmJ1Zm1nciwKIAlyZXR1cm4gTlVMTDsKIH0KIAotZHJtX2ludGVsX2JvICoKK2RybV9wdWJsaWMg ZHJtX2ludGVsX2JvICoKIGRybV9pbnRlbF9ib19hbGxvY190aWxlZChkcm1faW50ZWxfYnVmbWdy ICpidWZtZ3IsIGNvbnN0IGNoYXIgKm5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg eCwgaW50IHksIGludCBjcHAsIHVpbnQzMl90ICp0aWxpbmdfbW9kZSwKICAgICAgICAgICAgICAg ICAgICAgICAgIHVuc2lnbmVkIGxvbmcgKnBpdGNoLCB1bnNpZ25lZCBsb25nIGZsYWdzKQpAQCAt ODIsMTMgKzgyLDEzIEBAIGRybV9pbnRlbF9ib19hbGxvY190aWxlZChkcm1faW50ZWxfYnVmbWdy ICpidWZtZ3IsIGNvbnN0IGNoYXIgKm5hbWUsCiAJCQkJICAgICAgdGlsaW5nX21vZGUsIHBpdGNo LCBmbGFncyk7CiB9CiAKLXZvaWQKK2RybV9wdWJsaWMgdm9pZAogZHJtX2ludGVsX2JvX3JlZmVy ZW5jZShkcm1faW50ZWxfYm8gKmJvKQogewogCWJvLT5idWZtZ3ItPmJvX3JlZmVyZW5jZShibyk7 CiB9CiAKLXZvaWQKK2RybV9wdWJsaWMgdm9pZAogZHJtX2ludGVsX2JvX3VucmVmZXJlbmNlKGRy bV9pbnRlbF9ibyAqYm8pCiB7CiAJaWYgKGJvID09IE5VTEwpCkBAIC05NywyNiArOTcsMjYgQEAg ZHJtX2ludGVsX2JvX3VucmVmZXJlbmNlKGRybV9pbnRlbF9ibyAqYm8pCiAJYm8tPmJ1Zm1nci0+ Ym9fdW5yZWZlcmVuY2UoYm8pOwogfQogCi1pbnQKK2RybV9wdWJsaWMgaW50CiBkcm1faW50ZWxf Ym9fbWFwKGRybV9pbnRlbF9ibyAqYnVmLCBpbnQgd3JpdGVfZW5hYmxlKQogewogCXJldHVybiBi dWYtPmJ1Zm1nci0+Ym9fbWFwKGJ1Ziwgd3JpdGVfZW5hYmxlKTsKIH0KIAotaW50Citkcm1fcHVi bGljIGludAogZHJtX2ludGVsX2JvX3VubWFwKGRybV9pbnRlbF9ibyAqYnVmKQogewogCXJldHVy biBidWYtPmJ1Zm1nci0+Ym9fdW5tYXAoYnVmKTsKIH0KIAotaW50Citkcm1fcHVibGljIGludAog ZHJtX2ludGVsX2JvX3N1YmRhdGEoZHJtX2ludGVsX2JvICpibywgdW5zaWduZWQgbG9uZyBvZmZz ZXQsCiAJCSAgICAgdW5zaWduZWQgbG9uZyBzaXplLCBjb25zdCB2b2lkICpkYXRhKQogewogCXJl dHVybiBiby0+YnVmbWdyLT5ib19zdWJkYXRhKGJvLCBvZmZzZXQsIHNpemUsIGRhdGEpOwogfQog Ci1pbnQKK2RybV9wdWJsaWMgaW50CiBkcm1faW50ZWxfYm9fZ2V0X3N1YmRhdGEoZHJtX2ludGVs X2JvICpibywgdW5zaWduZWQgbG9uZyBvZmZzZXQsCiAJCQkgdW5zaWduZWQgbG9uZyBzaXplLCB2 b2lkICpkYXRhKQogewpAQCAtMTM1LDI2ICsxMzUsMjYgQEAgZHJtX2ludGVsX2JvX2dldF9zdWJk YXRhKGRybV9pbnRlbF9ibyAqYm8sIHVuc2lnbmVkIGxvbmcgb2Zmc2V0LAogCXJldHVybiAwOwog fQogCi12b2lkCitkcm1fcHVibGljIHZvaWQKIGRybV9pbnRlbF9ib193YWl0X3JlbmRlcmluZyhk cm1faW50ZWxfYm8gKmJvKQogewogCWJvLT5idWZtZ3ItPmJvX3dhaXRfcmVuZGVyaW5nKGJvKTsK IH0KIAotdm9pZAorZHJtX3B1YmxpYyB2b2lkCiBkcm1faW50ZWxfYnVmbWdyX2Rlc3Ryb3koZHJt X2ludGVsX2J1Zm1nciAqYnVmbWdyKQogewogCWJ1Zm1nci0+ZGVzdHJveShidWZtZ3IpOwogfQog Ci1pbnQKK2RybV9wdWJsaWMgaW50CiBkcm1faW50ZWxfYm9fZXhlYyhkcm1faW50ZWxfYm8gKmJv LCBpbnQgdXNlZCwKIAkJICBkcm1fY2xpcF9yZWN0X3QgKiBjbGlwcmVjdHMsIGludCBudW1fY2xp cHJlY3RzLCBpbnQgRFI0KQogewogCXJldHVybiBiby0+YnVmbWdyLT5ib19leGVjKGJvLCB1c2Vk LCBjbGlwcmVjdHMsIG51bV9jbGlwcmVjdHMsIERSNCk7CiB9CiAKLWludAorZHJtX3B1YmxpYyBp bnQKIGRybV9pbnRlbF9ib19tcmJfZXhlYyhkcm1faW50ZWxfYm8gKmJvLCBpbnQgdXNlZCwKIAkJ ZHJtX2NsaXBfcmVjdF90ICpjbGlwcmVjdHMsIGludCBudW1fY2xpcHJlY3RzLCBpbnQgRFI0LAog CQl1bnNpZ25lZCBpbnQgcmluZ3MpCkBAIC0xNzQsMTkgKzE3NCwxOSBAQCBkcm1faW50ZWxfYm9f bXJiX2V4ZWMoZHJtX2ludGVsX2JvICpibywgaW50IHVzZWQsCiAJfQogfQogCi12b2lkCitkcm1f cHVibGljIHZvaWQKIGRybV9pbnRlbF9idWZtZ3Jfc2V0X2RlYnVnKGRybV9pbnRlbF9idWZtZ3Ig KmJ1Zm1nciwgaW50IGVuYWJsZV9kZWJ1ZykKIHsKIAlidWZtZ3ItPmRlYnVnID0gZW5hYmxlX2Rl YnVnOwogfQogCi1pbnQKK2RybV9wdWJsaWMgaW50CiBkcm1faW50ZWxfYnVmbWdyX2NoZWNrX2Fw ZXJ0dXJlX3NwYWNlKGRybV9pbnRlbF9ibyAqKiBib19hcnJheSwgaW50IGNvdW50KQogewogCXJl dHVybiBib19hcnJheVswXS0+YnVmbWdyLT5jaGVja19hcGVydHVyZV9zcGFjZShib19hcnJheSwg Y291bnQpOwogfQogCi1pbnQKK2RybV9wdWJsaWMgaW50CiBkcm1faW50ZWxfYm9fZmxpbmsoZHJt X2ludGVsX2JvICpibywgdWludDMyX3QgKiBuYW1lKQogewogCWlmIChiby0+YnVmbWdyLT5ib19m bGluaykKQEAgLTE5NSw3ICsxOTUsNyBAQCBkcm1faW50ZWxfYm9fZmxpbmsoZHJtX2ludGVsX2Jv ICpibywgdWludDMyX3QgKiBuYW1lKQogCXJldHVybiAtRU5PREVWOwogfQogCi1pbnQKK2RybV9w dWJsaWMgaW50CiBkcm1faW50ZWxfYm9fZW1pdF9yZWxvYyhkcm1faW50ZWxfYm8gKmJvLCB1aW50 MzJfdCBvZmZzZXQsCiAJCQlkcm1faW50ZWxfYm8gKnRhcmdldF9ibywgdWludDMyX3QgdGFyZ2V0 X29mZnNldCwKIAkJCXVpbnQzMl90IHJlYWRfZG9tYWlucywgdWludDMyX3Qgd3JpdGVfZG9tYWlu KQpAQCAtMjA2LDcgKzIwNiw3IEBAIGRybV9pbnRlbF9ib19lbWl0X3JlbG9jKGRybV9pbnRlbF9i byAqYm8sIHVpbnQzMl90IG9mZnNldCwKIH0KIAogLyogRm9yIGZlbmNlIHJlZ2lzdGVycywgbm90 IEdMIGZlbmNlcyAqLwotaW50Citkcm1fcHVibGljIGludAogZHJtX2ludGVsX2JvX2VtaXRfcmVs b2NfZmVuY2UoZHJtX2ludGVsX2JvICpibywgdWludDMyX3Qgb2Zmc2V0LAogCQkJICAgICAgZHJt X2ludGVsX2JvICp0YXJnZXRfYm8sIHVpbnQzMl90IHRhcmdldF9vZmZzZXQsCiAJCQkgICAgICB1 aW50MzJfdCByZWFkX2RvbWFpbnMsIHVpbnQzMl90IHdyaXRlX2RvbWFpbikKQEAgLTIxNyw3ICsy MTcsNyBAQCBkcm1faW50ZWxfYm9fZW1pdF9yZWxvY19mZW5jZShkcm1faW50ZWxfYm8gKmJvLCB1 aW50MzJfdCBvZmZzZXQsCiB9CiAKIAotaW50Citkcm1fcHVibGljIGludAogZHJtX2ludGVsX2Jv X3Bpbihkcm1faW50ZWxfYm8gKmJvLCB1aW50MzJfdCBhbGlnbm1lbnQpCiB7CiAJaWYgKGJvLT5i dWZtZ3ItPmJvX3BpbikKQEAgLTIyNiw3ICsyMjYsNyBAQCBkcm1faW50ZWxfYm9fcGluKGRybV9p bnRlbF9ibyAqYm8sIHVpbnQzMl90IGFsaWdubWVudCkKIAlyZXR1cm4gLUVOT0RFVjsKIH0KIAot aW50Citkcm1fcHVibGljIGludAogZHJtX2ludGVsX2JvX3VucGluKGRybV9pbnRlbF9ibyAqYm8p CiB7CiAJaWYgKGJvLT5idWZtZ3ItPmJvX3VucGluKQpAQCAtMjM1LDcgKzIzNSw3IEBAIGRybV9p bnRlbF9ib191bnBpbihkcm1faW50ZWxfYm8gKmJvKQogCXJldHVybiAtRU5PREVWOwogfQogCi1p bnQKK2RybV9wdWJsaWMgaW50CiBkcm1faW50ZWxfYm9fc2V0X3RpbGluZyhkcm1faW50ZWxfYm8g KmJvLCB1aW50MzJfdCAqIHRpbGluZ19tb2RlLAogCQkJdWludDMyX3Qgc3RyaWRlKQogewpAQCAt MjQ2LDcgKzI0Niw3IEBAIGRybV9pbnRlbF9ib19zZXRfdGlsaW5nKGRybV9pbnRlbF9ibyAqYm8s IHVpbnQzMl90ICogdGlsaW5nX21vZGUsCiAJcmV0dXJuIDA7CiB9CiAKLWludAorZHJtX3B1Ymxp YyBpbnQKIGRybV9pbnRlbF9ib19nZXRfdGlsaW5nKGRybV9pbnRlbF9ibyAqYm8sIHVpbnQzMl90 ICogdGlsaW5nX21vZGUsCiAJCQl1aW50MzJfdCAqIHN3aXp6bGVfbW9kZSkKIHsKQEAgLTI1OCw3 ICsyNTgsNyBAQCBkcm1faW50ZWxfYm9fZ2V0X3RpbGluZyhkcm1faW50ZWxfYm8gKmJvLCB1aW50 MzJfdCAqIHRpbGluZ19tb2RlLAogCXJldHVybiAwOwogfQogCi1pbnQKK2RybV9wdWJsaWMgaW50 CiBkcm1faW50ZWxfYm9fc2V0X3NvZnRwaW5fb2Zmc2V0KGRybV9pbnRlbF9ibyAqYm8sIHVpbnQ2 NF90IG9mZnNldCkKIHsKIAlpZiAoYm8tPmJ1Zm1nci0+Ym9fc2V0X3NvZnRwaW5fb2Zmc2V0KQpA QCAtMjY3LDcgKzI2Nyw3IEBAIGRybV9pbnRlbF9ib19zZXRfc29mdHBpbl9vZmZzZXQoZHJtX2lu dGVsX2JvICpibywgdWludDY0X3Qgb2Zmc2V0KQogCXJldHVybiAtRU5PREVWOwogfQogCi1pbnQK K2RybV9wdWJsaWMgaW50CiBkcm1faW50ZWxfYm9fZGlzYWJsZV9yZXVzZShkcm1faW50ZWxfYm8g KmJvKQogewogCWlmIChiby0+YnVmbWdyLT5ib19kaXNhYmxlX3JldXNlKQpAQCAtMjc1LDcgKzI3 NSw3IEBAIGRybV9pbnRlbF9ib19kaXNhYmxlX3JldXNlKGRybV9pbnRlbF9ibyAqYm8pCiAJcmV0 dXJuIDA7CiB9CiAKLWludAorZHJtX3B1YmxpYyBpbnQKIGRybV9pbnRlbF9ib19pc19yZXVzYWJs ZShkcm1faW50ZWxfYm8gKmJvKQogewogCWlmIChiby0+YnVmbWdyLT5ib19pc19yZXVzYWJsZSkK QEAgLTI4Myw3ICsyODMsNyBAQCBkcm1faW50ZWxfYm9faXNfcmV1c2FibGUoZHJtX2ludGVsX2Jv ICpibykKIAlyZXR1cm4gMDsKIH0KIAotaW50Citkcm1fcHVibGljIGludAogZHJtX2ludGVsX2Jv X2J1c3koZHJtX2ludGVsX2JvICpibykKIHsKIAlpZiAoYm8tPmJ1Zm1nci0+Ym9fYnVzeSkKQEAg LTI5MSw3ICsyOTEsNyBAQCBkcm1faW50ZWxfYm9fYnVzeShkcm1faW50ZWxfYm8gKmJvKQogCXJl dHVybiAwOwogfQogCi1pbnQKK2RybV9wdWJsaWMgaW50CiBkcm1faW50ZWxfYm9fbWFkdmlzZShk cm1faW50ZWxfYm8gKmJvLCBpbnQgbWFkdikKIHsKIAlpZiAoYm8tPmJ1Zm1nci0+Ym9fbWFkdmlz ZSkKQEAgLTI5OSw3ICsyOTksNyBAQCBkcm1faW50ZWxfYm9fbWFkdmlzZShkcm1faW50ZWxfYm8g KmJvLCBpbnQgbWFkdikKIAlyZXR1cm4gLTE7CiB9CiAKLWludAorZHJtX3B1YmxpYyBpbnQKIGRy bV9pbnRlbF9ib191c2VfNDhiX2FkZHJlc3NfcmFuZ2UoZHJtX2ludGVsX2JvICpibywgdWludDMy X3QgZW5hYmxlKQogewogCWlmIChiby0+YnVmbWdyLT5ib191c2VfNDhiX2FkZHJlc3NfcmFuZ2Up IHsKQEAgLTMxMCwxMyArMzEwLDEzIEBAIGRybV9pbnRlbF9ib191c2VfNDhiX2FkZHJlc3NfcmFu Z2UoZHJtX2ludGVsX2JvICpibywgdWludDMyX3QgZW5hYmxlKQogCXJldHVybiAtRU5PREVWOwog fQogCi1pbnQKK2RybV9wdWJsaWMgaW50CiBkcm1faW50ZWxfYm9fcmVmZXJlbmNlcyhkcm1faW50 ZWxfYm8gKmJvLCBkcm1faW50ZWxfYm8gKnRhcmdldF9ibykKIHsKIAlyZXR1cm4gYm8tPmJ1Zm1n ci0+Ym9fcmVmZXJlbmNlcyhibywgdGFyZ2V0X2JvKTsKIH0KIAotaW50Citkcm1fcHVibGljIGlu dAogZHJtX2ludGVsX2dldF9waXBlX2Zyb21fY3J0Y19pZChkcm1faW50ZWxfYnVmbWdyICpidWZt Z3IsIGludCBjcnRjX2lkKQogewogCWlmIChidWZtZ3ItPmdldF9waXBlX2Zyb21fY3J0Y19pZCkK QEAgLTM2MCw3ICszNjAsNyBAQCBkcm1faW50ZWxfcHJvYmVfYWdwX2FwZXJ0dXJlX3NpemUoaW50 IGZkKQogfQogI2VuZGlmCiAKLWludAorZHJtX3B1YmxpYyBpbnQKIGRybV9pbnRlbF9nZXRfYXBl cnR1cmVfc2l6ZXMoaW50IGZkLCBzaXplX3QgKm1hcHBhYmxlLCBzaXplX3QgKnRvdGFsKQogewog CmRpZmYgLS1naXQgYS9pbnRlbC9pbnRlbF9idWZtZ3JfZmFrZS5jIGIvaW50ZWwvaW50ZWxfYnVm bWdyX2Zha2UuYwppbmRleCAzYjI0YjgxYi4uNTdjYmM1MzYgMTAwNjQ0Ci0tLSBhL2ludGVsL2lu dGVsX2J1Zm1ncl9mYWtlLmMKKysrIGIvaW50ZWwvaW50ZWxfYnVmbWdyX2Zha2UuYwpAQCAtNzY0 LDcgKzc2NCw3IEBAIGRybV9pbnRlbF9mYWtlX2JvX3dhaXRfcmVuZGVyaW5nKGRybV9pbnRlbF9i byAqYm8pCiAgKiAgLS0ganVzdCBldmljdCBldmVyeXRoaW5nCiAgKiAgLS0gYW5kIHdhaXQgZm9y IGlkbGUKICAqLwotdm9pZAorZHJtX3B1YmxpYyB2b2lkCiBkcm1faW50ZWxfYnVmbWdyX2Zha2Vf Y29udGVuZGVkX2xvY2tfdGFrZShkcm1faW50ZWxfYnVmbWdyICpidWZtZ3IpCiB7CiAJZHJtX2lu dGVsX2J1Zm1ncl9mYWtlICpidWZtZ3JfZmFrZSA9IChkcm1faW50ZWxfYnVmbWdyX2Zha2UgKikg YnVmbWdyOwpAQCAtODYwLDcgKzg2MCw3IEBAIGRybV9pbnRlbF9mYWtlX2JvX2FsbG9jX3RpbGVk KGRybV9pbnRlbF9idWZtZ3IgKiBidWZtZ3IsCiAJCQkJICAgICAgIDQwOTYpOwogfQogCi1kcm1f aW50ZWxfYm8gKgorZHJtX3B1YmxpYyBkcm1faW50ZWxfYm8gKgogZHJtX2ludGVsX2JvX2Zha2Vf YWxsb2Nfc3RhdGljKGRybV9pbnRlbF9idWZtZ3IgKmJ1Zm1nciwKIAkJCSAgICAgICBjb25zdCBj aGFyICpuYW1lLAogCQkJICAgICAgIHVuc2lnbmVkIGxvbmcgb2Zmc2V0LApAQCAtMTUzMiw3ICsx NTMyLDcgQEAgZHJtX2ludGVsX2Zha2VfY2hlY2tfYXBlcnR1cmVfc3BhY2UoZHJtX2ludGVsX2Jv ICoqIGJvX2FycmF5LCBpbnQgY291bnQpCiAgKiBVc2VkIGJ5IHRoZSBYIFNlcnZlciBvbiBMZWF2 ZVZULCB3aGVuIHRoZSBjYXJkIG1lbW9yeSBpcyBubyBsb25nZXIgb3VyCiAgKiBvd24uCiAgKi8K LXZvaWQKK2RybV9wdWJsaWMgdm9pZAogZHJtX2ludGVsX2J1Zm1ncl9mYWtlX2V2aWN0X2FsbChk cm1faW50ZWxfYnVmbWdyICpidWZtZ3IpCiB7CiAJZHJtX2ludGVsX2J1Zm1ncl9mYWtlICpidWZt Z3JfZmFrZSA9IChkcm1faW50ZWxfYnVmbWdyX2Zha2UgKikgYnVmbWdyOwpAQCAtMTU2Nyw3ICsx NTY3LDcgQEAgZHJtX2ludGVsX2J1Zm1ncl9mYWtlX2V2aWN0X2FsbChkcm1faW50ZWxfYnVmbWdy ICpidWZtZ3IpCiAJcHRocmVhZF9tdXRleF91bmxvY2soJmJ1Zm1ncl9mYWtlLT5sb2NrKTsKIH0K IAotdm9pZAorZHJtX3B1YmxpYyB2b2lkCiBkcm1faW50ZWxfYnVmbWdyX2Zha2Vfc2V0X2xhc3Rf ZGlzcGF0Y2goZHJtX2ludGVsX2J1Zm1nciAqYnVmbWdyLAogCQkJCQl2b2xhdGlsZSB1bnNpZ25l ZCBpbnQKIAkJCQkJKmxhc3RfZGlzcGF0Y2gpCkBAIC0xNTc3LDcgKzE1NzcsNyBAQCBkcm1faW50 ZWxfYnVmbWdyX2Zha2Vfc2V0X2xhc3RfZGlzcGF0Y2goZHJtX2ludGVsX2J1Zm1nciAqYnVmbWdy LAogCWJ1Zm1ncl9mYWtlLT5sYXN0X2Rpc3BhdGNoID0gKHZvbGF0aWxlIGludCAqKWxhc3RfZGlz cGF0Y2g7CiB9CiAKLWRybV9pbnRlbF9idWZtZ3IgKgorZHJtX3B1YmxpYyBkcm1faW50ZWxfYnVm bWdyICoKIGRybV9pbnRlbF9idWZtZ3JfZmFrZV9pbml0KGludCBmZCwgdW5zaWduZWQgbG9uZyBs b3dfb2Zmc2V0LAogCQkJICAgdm9pZCAqbG93X3ZpcnR1YWwsIHVuc2lnbmVkIGxvbmcgc2l6ZSwK IAkJCSAgIHZvbGF0aWxlIHVuc2lnbmVkIGludCAqbGFzdF9kaXNwYXRjaCkKZGlmZiAtLWdpdCBh L2ludGVsL2ludGVsX2J1Zm1ncl9nZW0uYyBiL2ludGVsL2ludGVsX2J1Zm1ncl9nZW0uYwppbmRl eCBkNjU4N2I3Ni4uZmJmNDg3MzAgMTAwNjQ0Ci0tLSBhL2ludGVsL2ludGVsX2J1Zm1ncl9nZW0u YworKysgYi9pbnRlbC9pbnRlbF9idWZtZ3JfZ2VtLmMKQEAgLTEwNzUsNyArMTA3NSw3IEBAIGNo ZWNrX2JvX2FsbG9jX3VzZXJwdHIoZHJtX2ludGVsX2J1Zm1nciAqYnVmbWdyLAogICogVGhpcyBj YW4gYmUgdXNlZCB3aGVuIG9uZSBhcHBsaWNhdGlvbiBuZWVkcyB0byBwYXNzIGEgYnVmZmVyIG9i amVjdAogICogdG8gYW5vdGhlci4KICAqLwotZHJtX2ludGVsX2JvICoKK2RybV9wdWJsaWMgZHJt X2ludGVsX2JvICoKIGRybV9pbnRlbF9ib19nZW1fY3JlYXRlX2Zyb21fbmFtZShkcm1faW50ZWxf YnVmbWdyICpidWZtZ3IsCiAJCQkJICBjb25zdCBjaGFyICpuYW1lLAogCQkJCSAgdW5zaWduZWQg aW50IGhhbmRsZSkKQEAgLTE1NjIsNyArMTU2Miw3IEBAIG1hcF9ndHQoZHJtX2ludGVsX2JvICpi bykKIAlyZXR1cm4gMDsKIH0KIAotaW50Citkcm1fcHVibGljIGludAogZHJtX2ludGVsX2dlbV9i b19tYXBfZ3R0KGRybV9pbnRlbF9ibyAqYm8pCiB7CiAJZHJtX2ludGVsX2J1Zm1ncl9nZW0gKmJ1 Zm1ncl9nZW0gPSAoZHJtX2ludGVsX2J1Zm1ncl9nZW0gKikgYm8tPmJ1Zm1ncjsKQEAgLTE2MjEs NyArMTYyMSw3IEBAIGRybV9pbnRlbF9nZW1fYm9fbWFwX2d0dChkcm1faW50ZWxfYm8gKmJvKQog ICogdW5kZWZpbmVkKS4KICAqLwogCi1pbnQKK2RybV9wdWJsaWMgaW50CiBkcm1faW50ZWxfZ2Vt X2JvX21hcF91bnN5bmNocm9uaXplZChkcm1faW50ZWxfYm8gKmJvKQogewogCWRybV9pbnRlbF9i dWZtZ3JfZ2VtICpidWZtZ3JfZ2VtID0gKGRybV9pbnRlbF9idWZtZ3JfZ2VtICopIGJvLT5idWZt Z3I7CkBAIC0xNzEwLDcgKzE3MTAsNyBAQCBzdGF0aWMgaW50IGRybV9pbnRlbF9nZW1fYm9fdW5t YXAoZHJtX2ludGVsX2JvICpibykKIAlyZXR1cm4gcmV0OwogfQogCi1pbnQKK2RybV9wdWJsaWMg aW50CiBkcm1faW50ZWxfZ2VtX2JvX3VubWFwX2d0dChkcm1faW50ZWxfYm8gKmJvKQogewogCXJl dHVybiBkcm1faW50ZWxfZ2VtX2JvX3VubWFwKGJvKTsKQEAgLTE4MzUsNyArMTgzNSw3IEBAIGRy bV9pbnRlbF9nZW1fYm9fd2FpdF9yZW5kZXJpbmcoZHJtX2ludGVsX2JvICpibykKICAqIE5vdGUg dGhhdCBzb21lIGtlcm5lbHMgaGF2ZSBicm9rZW4gdGhlIGluaWZpdGUgd2FpdCBmb3IgbmVnYXRp dmUgdmFsdWVzCiAgKiBwcm9taXNlLCB1cGdyYWRlIHRvIGxhdGVzdCBzdGFibGUga2VybmVscyBp ZiB0aGlzIGlzIHRoZSBjYXNlLgogICovCi1pbnQKK2RybV9wdWJsaWMgaW50CiBkcm1faW50ZWxf Z2VtX2JvX3dhaXQoZHJtX2ludGVsX2JvICpibywgaW50NjRfdCB0aW1lb3V0X25zKQogewogCWRy bV9pbnRlbF9idWZtZ3JfZ2VtICpidWZtZ3JfZ2VtID0gKGRybV9pbnRlbF9idWZtZ3JfZ2VtICop IGJvLT5idWZtZ3I7CkBAIC0xODcxLDcgKzE4NzEsNyBAQCBkcm1faW50ZWxfZ2VtX2JvX3dhaXQo ZHJtX2ludGVsX2JvICpibywgaW50NjRfdCB0aW1lb3V0X25zKQogICogSW4gY29tYmluYXRpb24g d2l0aCBkcm1faW50ZWxfZ2VtX2JvX3BpbigpIGFuZCBtYW51YWwgZmVuY2UgbWFuYWdlbWVudCwg d2UKICAqIGNhbiBkbyB0aWxlZCBwaXhtYXBzIHRoaXMgd2F5LgogICovCi12b2lkCitkcm1fcHVi bGljIHZvaWQKIGRybV9pbnRlbF9nZW1fYm9fc3RhcnRfZ3R0X2FjY2Vzcyhkcm1faW50ZWxfYm8g KmJvLCBpbnQgd3JpdGVfZW5hYmxlKQogewogCWRybV9pbnRlbF9idWZtZ3JfZ2VtICpidWZtZ3Jf Z2VtID0gKGRybV9pbnRlbF9idWZtZ3JfZ2VtICopIGJvLT5idWZtZ3I7CkBAIC0yMDk4LDcgKzIw OTgsNyBAQCBkcm1faW50ZWxfZ2VtX2JvX2VtaXRfcmVsb2NfZmVuY2UoZHJtX2ludGVsX2JvICpi bywgdWludDMyX3Qgb2Zmc2V0LAogCQkJCXJlYWRfZG9tYWlucywgd3JpdGVfZG9tYWluLCB0cnVl KTsKIH0KIAotaW50Citkcm1fcHVibGljIGludAogZHJtX2ludGVsX2dlbV9ib19nZXRfcmVsb2Nf Y291bnQoZHJtX2ludGVsX2JvICpibykKIHsKIAlkcm1faW50ZWxfYm9fZ2VtICpib19nZW0gPSAo ZHJtX2ludGVsX2JvX2dlbSAqKSBibzsKQEAgLTIxMjEsNyArMjEyMSw3IEBAIGRybV9pbnRlbF9n ZW1fYm9fZ2V0X3JlbG9jX2NvdW50KGRybV9pbnRlbF9ibyAqYm8pCiAgKgogICogVGhpcyBhbHNv IHJlbW92ZXMgYWxsIHNvZnRwaW5uZWQgdGFyZ2V0cyBiZWluZyByZWZlcmVuY2VkIGJ5IHRoZSBC Ty4KICAqLwotdm9pZAorZHJtX3B1YmxpYyB2b2lkCiBkcm1faW50ZWxfZ2VtX2JvX2NsZWFyX3Jl bG9jcyhkcm1faW50ZWxfYm8gKmJvLCBpbnQgc3RhcnQpCiB7CiAJZHJtX2ludGVsX2J1Zm1ncl9n ZW0gKmJ1Zm1ncl9nZW0gPSAoZHJtX2ludGVsX2J1Zm1ncl9nZW0gKikgYm8tPmJ1Zm1ncjsKQEAg LTIyNzcsNyArMjI3Nyw3IEBAIGRybV9pbnRlbF91cGRhdGVfYnVmZmVyX29mZnNldHMyIChkcm1f aW50ZWxfYnVmbWdyX2dlbSAqYnVmbWdyX2dlbSkKIAl9CiB9CiAKLXZvaWQKK2RybV9wdWJsaWMg dm9pZAogZHJtX2ludGVsX2dlbV9ib19hdWJfZHVtcF9ibXAoZHJtX2ludGVsX2JvICpibywKIAkJ CSAgICAgIGludCB4MSwgaW50IHkxLCBpbnQgd2lkdGgsIGludCBoZWlnaHQsCiAJCQkgICAgICBl bnVtIGF1Yl9kdW1wX2JtcF9mb3JtYXQgZm9ybWF0LApAQCAtMjQ3OSwxNCArMjQ3OSwxNCBAQCBk cm1faW50ZWxfZ2VtX2JvX21yYl9leGVjMihkcm1faW50ZWxfYm8gKmJvLCBpbnQgdXNlZCwKIAkJ CS0xLCBOVUxMLCBmbGFncyk7CiB9CiAKLWludAorZHJtX3B1YmxpYyBpbnQKIGRybV9pbnRlbF9n ZW1fYm9fY29udGV4dF9leGVjKGRybV9pbnRlbF9ibyAqYm8sIGRybV9pbnRlbF9jb250ZXh0ICpj dHgsCiAJCQkgICAgICBpbnQgdXNlZCwgdW5zaWduZWQgaW50IGZsYWdzKQogewogCXJldHVybiBk b19leGVjMihibywgdXNlZCwgY3R4LCBOVUxMLCAwLCAwLCAtMSwgTlVMTCwgZmxhZ3MpOwogfQog Ci1pbnQKK2RybV9wdWJsaWMgaW50CiBkcm1faW50ZWxfZ2VtX2JvX2ZlbmNlX2V4ZWMoZHJtX2lu dGVsX2JvICpibywKIAkJCSAgICBkcm1faW50ZWxfY29udGV4dCAqY3R4LAogCQkJICAgIGludCB1 c2VkLApAQCAtMjYyNyw3ICsyNjI3LDcgQEAgZHJtX2ludGVsX2dlbV9ib19zZXRfc29mdHBpbl9v ZmZzZXQoZHJtX2ludGVsX2JvICpibywgdWludDY0X3Qgb2Zmc2V0KQogCXJldHVybiAwOwogfQog Ci1kcm1faW50ZWxfYm8gKgorZHJtX3B1YmxpYyBkcm1faW50ZWxfYm8gKgogZHJtX2ludGVsX2Jv X2dlbV9jcmVhdGVfZnJvbV9wcmltZShkcm1faW50ZWxfYnVmbWdyICpidWZtZ3IsIGludCBwcmlt ZV9mZCwgaW50IHNpemUpCiB7CiAJZHJtX2ludGVsX2J1Zm1ncl9nZW0gKmJ1Zm1ncl9nZW0gPSAo ZHJtX2ludGVsX2J1Zm1ncl9nZW0gKikgYnVmbWdyOwpAQCAtMjcxMCw3ICsyNzEwLDcgQEAgZXJy OgogCXJldHVybiBOVUxMOwogfQogCi1pbnQKK2RybV9wdWJsaWMgaW50CiBkcm1faW50ZWxfYm9f Z2VtX2V4cG9ydF90b19wcmltZShkcm1faW50ZWxfYm8gKmJvLCBpbnQgKnByaW1lX2ZkKQogewog CWRybV9pbnRlbF9idWZtZ3JfZ2VtICpidWZtZ3JfZ2VtID0gKGRybV9pbnRlbF9idWZtZ3JfZ2Vt ICopIGJvLT5idWZtZ3I7CkBAIC0yNzYyLDcgKzI3NjIsNyBAQCBkcm1faW50ZWxfZ2VtX2JvX2Zs aW5rKGRybV9pbnRlbF9ibyAqYm8sIHVpbnQzMl90ICogbmFtZSkKICAqIHNpemUgaXMgb25seSBi b3VuZGVkIGJ5IGhvdyBtYW55IGJ1ZmZlcnMgb2YgdGhhdCBzaXplIHdlJ3ZlIG1hbmFnZWQgdG8g aGF2ZQogICogaW4gZmxpZ2h0IGF0IG9uY2UuCiAgKi8KLXZvaWQKK2RybV9wdWJsaWMgdm9pZAog ZHJtX2ludGVsX2J1Zm1ncl9nZW1fZW5hYmxlX3JldXNlKGRybV9pbnRlbF9idWZtZ3IgKmJ1Zm1n cikKIHsKIAlkcm1faW50ZWxfYnVmbWdyX2dlbSAqYnVmbWdyX2dlbSA9IChkcm1faW50ZWxfYnVm bWdyX2dlbSAqKSBidWZtZ3I7CkBAIC0yNzg0LDcgKzI3ODQsNyBAQCBkcm1faW50ZWxfYnVmbWdy X2dlbV9lbmFibGVfcmV1c2UoZHJtX2ludGVsX2J1Zm1nciAqYnVmbWdyKQogICogd2hpY2ggY2Fu IGJlIGNoZWNrZWQgdXNpbmcgZHJtX2ludGVsX2J1Zm1ncl9jYW5fZGlzYWJsZV9pbXBsaWNpdF9z eW5jLAogICogb3Igc3Vic2VxdWVudCBleGVjYnVmcyBpbnZvbHZpbmcgdGhlIGJvIHdpbGwgZ2Vu ZXJhdGUgRUlOVkFMLgogICovCi12b2lkCitkcm1fcHVibGljIHZvaWQKIGRybV9pbnRlbF9nZW1f Ym9fZGlzYWJsZV9pbXBsaWNpdF9zeW5jKGRybV9pbnRlbF9ibyAqYm8pCiB7CiAJZHJtX2ludGVs X2JvX2dlbSAqYm9fZ2VtID0gKGRybV9pbnRlbF9ib19nZW0gKikgYm87CkBAIC0yODAzLDcgKzI4 MDMsNyBAQCBkcm1faW50ZWxfZ2VtX2JvX2Rpc2FibGVfaW1wbGljaXRfc3luYyhkcm1faW50ZWxf Ym8gKmJvKQogICogZnVuY3Rpb24gY2FuIGJlIHVzZWQgdG8gcmVzdG9yZSB0aGUgaW1wbGljaXQg c3luYyBiZWZvcmUgc3Vic2VxdWVudAogICogcmVuZGVyaW5nLgogICovCi12b2lkCitkcm1fcHVi bGljIHZvaWQKIGRybV9pbnRlbF9nZW1fYm9fZW5hYmxlX2ltcGxpY2l0X3N5bmMoZHJtX2ludGVs X2JvICpibykKIHsKIAlkcm1faW50ZWxfYm9fZ2VtICpib19nZW0gPSAoZHJtX2ludGVsX2JvX2dl bSAqKSBibzsKQEAgLTI4MTUsNyArMjgxNSw3IEBAIGRybV9pbnRlbF9nZW1fYm9fZW5hYmxlX2lt cGxpY2l0X3N5bmMoZHJtX2ludGVsX2JvICpibykKICAqIFF1ZXJ5IHdoZXRoZXIgdGhlIGtlcm5l bCBzdXBwb3J0cyBkaXNhYmxpbmcgb2YgaXRzIGltcGxpY2l0IHN5bmNocm9uaXNhdGlvbgogICog YmVmb3JlIGV4ZWNidWYuIFNlZSBkcm1faW50ZWxfZ2VtX2JvX2Rpc2FibGVfaW1wbGljaXRfc3lu YygpCiAgKi8KLWludAorZHJtX3B1YmxpYyBpbnQKIGRybV9pbnRlbF9idWZtZ3JfZ2VtX2Nhbl9k aXNhYmxlX2ltcGxpY2l0X3N5bmMoZHJtX2ludGVsX2J1Zm1nciAqYnVmbWdyKQogewogCWRybV9p bnRlbF9idWZtZ3JfZ2VtICpidWZtZ3JfZ2VtID0gKGRybV9pbnRlbF9idWZtZ3JfZ2VtICopIGJ1 Zm1ncjsKQEAgLTI4MzAsNyArMjgzMCw3IEBAIGRybV9pbnRlbF9idWZtZ3JfZ2VtX2Nhbl9kaXNh YmxlX2ltcGxpY2l0X3N5bmMoZHJtX2ludGVsX2J1Zm1nciAqYnVmbWdyKQogICogYWxsb2NhdGlv bi4gIElmIHRoaXMgb3B0aW9uIGlzIG5vdCBlbmFibGVkLCBhbGwgcmVsb2NzIHdpbGwgaGF2ZSBm ZW5jZQogICogcmVnaXN0ZXIgYWxsb2NhdGVkLgogICovCi12b2lkCitkcm1fcHVibGljIHZvaWQK IGRybV9pbnRlbF9idWZtZ3JfZ2VtX2VuYWJsZV9mZW5jZWRfcmVsb2NzKGRybV9pbnRlbF9idWZt Z3IgKmJ1Zm1ncikKIHsKIAlkcm1faW50ZWxfYnVmbWdyX2dlbSAqYnVmbWdyX2dlbSA9IChkcm1f aW50ZWxfYnVmbWdyX2dlbSAqKWJ1Zm1ncjsKQEAgLTMxMDksNyArMzEwOSw3IEBAIGluaXRfY2Fj aGVfYnVja2V0cyhkcm1faW50ZWxfYnVmbWdyX2dlbSAqYnVmbWdyX2dlbSkKIAl9CiB9CiAKLXZv aWQKK2RybV9wdWJsaWMgdm9pZAogZHJtX2ludGVsX2J1Zm1ncl9nZW1fc2V0X3ZtYV9jYWNoZV9z aXplKGRybV9pbnRlbF9idWZtZ3IgKmJ1Zm1nciwgaW50IGxpbWl0KQogewogCWRybV9pbnRlbF9i dWZtZ3JfZ2VtICpidWZtZ3JfZ2VtID0gKGRybV9pbnRlbF9idWZtZ3JfZ2VtICopYnVmbWdyOwpA QCAtMzE3OCw3ICszMTc4LDcgQEAgZ2V0X3BjaV9kZXZpY2VfaWQoZHJtX2ludGVsX2J1Zm1ncl9n ZW0gKmJ1Zm1ncl9nZW0pCiAJcmV0dXJuIGRldmlkOwogfQogCi1pbnQKK2RybV9wdWJsaWMgaW50 CiBkcm1faW50ZWxfYnVmbWdyX2dlbV9nZXRfZGV2aWQoZHJtX2ludGVsX2J1Zm1nciAqYnVmbWdy KQogewogCWRybV9pbnRlbF9idWZtZ3JfZ2VtICpidWZtZ3JfZ2VtID0gKGRybV9pbnRlbF9idWZt Z3JfZ2VtICopYnVmbWdyOwpAQCAtMzE5Miw3ICszMTkyLDcgQEAgZHJtX2ludGVsX2J1Zm1ncl9n ZW1fZ2V0X2RldmlkKGRybV9pbnRlbF9idWZtZ3IgKmJ1Zm1ncikKICAqIFRoaXMgZnVuY3Rpb24g aGFzIHRvIGJlIGNhbGxlZCBiZWZvcmUgZHJtX2ludGVsX2J1Zm1ncl9nZW1fc2V0X2F1Yl9kdW1w KCkKICAqIGZvciBpdCB0byBoYXZlIGFueSBlZmZlY3QuCiAgKi8KLXZvaWQKK2RybV9wdWJsaWMg dm9pZAogZHJtX2ludGVsX2J1Zm1ncl9nZW1fc2V0X2F1Yl9maWxlbmFtZShkcm1faW50ZWxfYnVm bWdyICpidWZtZ3IsCiAJCQkJICAgICAgY29uc3QgY2hhciAqZmlsZW5hbWUpCiB7CkBAIC0zMjA2 LDcgKzMyMDYsNyBAQCBkcm1faW50ZWxfYnVmbWdyX2dlbV9zZXRfYXViX2ZpbGVuYW1lKGRybV9p bnRlbF9idWZtZ3IgKmJ1Zm1nciwKICAqIFlvdSBjYW4gc2V0IHVwIGEgR1RUIGFuZCB1cGxvYWQg eW91ciBvYmplY3RzIGludG8gdGhlIHJlZmVyZW5jZWQKICAqIHNwYWNlLCB0aGVuIHNlbmQgb2Zm IGJhdGNoYnVmZmVycyBhbmQgZ2V0IEJNUHMgb3V0IHRoZSBvdGhlciBlbmQuCiAgKi8KLXZvaWQK K2RybV9wdWJsaWMgdm9pZAogZHJtX2ludGVsX2J1Zm1ncl9nZW1fc2V0X2F1Yl9kdW1wKGRybV9p bnRlbF9idWZtZ3IgKmJ1Zm1nciwgaW50IGVuYWJsZSkKIHsKIAlmcHJpbnRmKHN0ZGVyciwgImxp YmRybSBhdWIgZHVtcGluZyBpcyBkZXByZWNhdGVkLlxuXG4iCkBAIC0zMjE2LDcgKzMyMTYsNyBA QCBkcm1faW50ZWxfYnVmbWdyX2dlbV9zZXRfYXViX2R1bXAoZHJtX2ludGVsX2J1Zm1nciAqYnVm bWdyLCBpbnQgZW5hYmxlKQogCQkiU2VlIHRoZSBpbnRlbF9hdWJkdW1wIG1hbiBwYWdlIGZvciBt b3JlIGRldGFpbHMuXG4iKTsKIH0KIAotZHJtX2ludGVsX2NvbnRleHQgKgorZHJtX3B1YmxpYyBk cm1faW50ZWxfY29udGV4dCAqCiBkcm1faW50ZWxfZ2VtX2NvbnRleHRfY3JlYXRlKGRybV9pbnRl bF9idWZtZ3IgKmJ1Zm1ncikKIHsKIAlkcm1faW50ZWxfYnVmbWdyX2dlbSAqYnVmbWdyX2dlbSA9 IChkcm1faW50ZWxfYnVmbWdyX2dlbSAqKWJ1Zm1ncjsKQEAgLTMyNDMsNyArMzI0Myw3IEBAIGRy bV9pbnRlbF9nZW1fY29udGV4dF9jcmVhdGUoZHJtX2ludGVsX2J1Zm1nciAqYnVmbWdyKQogCXJl dHVybiBjb250ZXh0OwogfQogCi1pbnQKK2RybV9wdWJsaWMgaW50CiBkcm1faW50ZWxfZ2VtX2Nv bnRleHRfZ2V0X2lkKGRybV9pbnRlbF9jb250ZXh0ICpjdHgsIHVpbnQzMl90ICpjdHhfaWQpCiB7 CiAJaWYgKGN0eCA9PSBOVUxMKQpAQCAtMzI1NCw3ICszMjU0LDcgQEAgZHJtX2ludGVsX2dlbV9j b250ZXh0X2dldF9pZChkcm1faW50ZWxfY29udGV4dCAqY3R4LCB1aW50MzJfdCAqY3R4X2lkKQog CXJldHVybiAwOwogfQogCi12b2lkCitkcm1fcHVibGljIHZvaWQKIGRybV9pbnRlbF9nZW1fY29u dGV4dF9kZXN0cm95KGRybV9pbnRlbF9jb250ZXh0ICpjdHgpCiB7CiAJZHJtX2ludGVsX2J1Zm1n cl9nZW0gKmJ1Zm1ncl9nZW07CkBAIC0zMjc3LDcgKzMyNzcsNyBAQCBkcm1faW50ZWxfZ2VtX2Nv bnRleHRfZGVzdHJveShkcm1faW50ZWxfY29udGV4dCAqY3R4KQogCWZyZWUoY3R4KTsKIH0KIAot aW50Citkcm1fcHVibGljIGludAogZHJtX2ludGVsX2dldF9yZXNldF9zdGF0cyhkcm1faW50ZWxf Y29udGV4dCAqY3R4LAogCQkJICB1aW50MzJfdCAqcmVzZXRfY291bnQsCiAJCQkgIHVpbnQzMl90 ICphY3RpdmUsCkBAIC0zMzExLDcgKzMzMTEsNyBAQCBkcm1faW50ZWxfZ2V0X3Jlc2V0X3N0YXRz KGRybV9pbnRlbF9jb250ZXh0ICpjdHgsCiAJcmV0dXJuIHJldDsKIH0KIAotaW50Citkcm1fcHVi bGljIGludAogZHJtX2ludGVsX3JlZ19yZWFkKGRybV9pbnRlbF9idWZtZ3IgKmJ1Zm1nciwKIAkJ ICAgdWludDMyX3Qgb2Zmc2V0LAogCQkgICB1aW50NjRfdCAqcmVzdWx0KQpAQCAtMzMyOSw3ICsz MzI5LDcgQEAgZHJtX2ludGVsX3JlZ19yZWFkKGRybV9pbnRlbF9idWZtZ3IgKmJ1Zm1nciwKIAly ZXR1cm4gcmV0OwogfQogCi1pbnQKK2RybV9wdWJsaWMgaW50CiBkcm1faW50ZWxfZ2V0X3N1YnNs aWNlX3RvdGFsKGludCBmZCwgdW5zaWduZWQgaW50ICpzdWJzbGljZV90b3RhbCkKIHsKIAlkcm1f aTkxNV9nZXRwYXJhbV90IGdwOwpAQCAtMzM0NSw3ICszMzQ1LDcgQEAgZHJtX2ludGVsX2dldF9z dWJzbGljZV90b3RhbChpbnQgZmQsIHVuc2lnbmVkIGludCAqc3Vic2xpY2VfdG90YWwpCiAJcmV0 dXJuIDA7CiB9CiAKLWludAorZHJtX3B1YmxpYyBpbnQKIGRybV9pbnRlbF9nZXRfZXVfdG90YWwo aW50IGZkLCB1bnNpZ25lZCBpbnQgKmV1X3RvdGFsKQogewogCWRybV9pOTE1X2dldHBhcmFtX3Qg Z3A7CkBAIC0zMzYxLDcgKzMzNjEsNyBAQCBkcm1faW50ZWxfZ2V0X2V1X3RvdGFsKGludCBmZCwg dW5zaWduZWQgaW50ICpldV90b3RhbCkKIAlyZXR1cm4gMDsKIH0KIAotaW50Citkcm1fcHVibGlj IGludAogZHJtX2ludGVsX2dldF9wb29sZWRfZXUoaW50IGZkKQogewogCWRybV9pOTE1X2dldHBh cmFtX3QgZ3A7CkBAIC0zMzc2LDcgKzMzNzYsNyBAQCBkcm1faW50ZWxfZ2V0X3Bvb2xlZF9ldShp bnQgZmQpCiAJcmV0dXJuIHJldDsKIH0KIAotaW50Citkcm1fcHVibGljIGludAogZHJtX2ludGVs X2dldF9taW5fZXVfaW5fcG9vbChpbnQgZmQpCiB7CiAJZHJtX2k5MTVfZ2V0cGFyYW1fdCBncDsK QEAgLTM0MTIsOCArMzQxMiw3IEBAIGRybV9pbnRlbF9nZXRfbWluX2V1X2luX3Bvb2woaW50IGZk KQogICogZGVmYXVsdCBzdGF0ZSAobm8gYW5ub3RhdGlvbnMpLCBjYWxsIHRoaXMgZnVuY3Rpb24g d2l0aCBhIFxjIGNvdW50CiAgKiBvZiB6ZXJvLgogICovCi12b2lkCi1kcm1faW50ZWxfYnVmbWdy X2dlbV9zZXRfYXViX2Fubm90YXRpb25zKGRybV9pbnRlbF9ibyAqYm8sCitkcm1fcHVibGljIHZv aWQgZHJtX2ludGVsX2J1Zm1ncl9nZW1fc2V0X2F1Yl9hbm5vdGF0aW9ucyhkcm1faW50ZWxfYm8g KmJvLAogCQkJCQkgZHJtX2ludGVsX2F1Yl9hbm5vdGF0aW9uICphbm5vdGF0aW9ucywKIAkJCQkJ IHVuc2lnbmVkIGNvdW50KQogewpAQCAtMzQ1NCw3ICszNDUzLDcgQEAgZHJtX2ludGVsX2J1Zm1n cl9nZW1fdW5yZWYoZHJtX2ludGVsX2J1Zm1nciAqYnVmbWdyKQogCX0KIH0KIAotdm9pZCAqZHJt X2ludGVsX2dlbV9ib19tYXBfX2d0dChkcm1faW50ZWxfYm8gKmJvKQorZHJtX3B1YmxpYyB2b2lk ICpkcm1faW50ZWxfZ2VtX2JvX21hcF9fZ3R0KGRybV9pbnRlbF9ibyAqYm8pCiB7CiAJZHJtX2lu dGVsX2J1Zm1ncl9nZW0gKmJ1Zm1ncl9nZW0gPSAoZHJtX2ludGVsX2J1Zm1ncl9nZW0gKikgYm8t PmJ1Zm1ncjsKIAlkcm1faW50ZWxfYm9fZ2VtICpib19nZW0gPSAoZHJtX2ludGVsX2JvX2dlbSAq KSBibzsKQEAgLTM1MDIsNyArMzUwMSw3IEBAIHZvaWQgKmRybV9pbnRlbF9nZW1fYm9fbWFwX19n dHQoZHJtX2ludGVsX2JvICpibykKIAlyZXR1cm4gYm9fZ2VtLT5ndHRfdmlydHVhbDsKIH0KIAot dm9pZCAqZHJtX2ludGVsX2dlbV9ib19tYXBfX2NwdShkcm1faW50ZWxfYm8gKmJvKQorZHJtX3B1 YmxpYyB2b2lkICpkcm1faW50ZWxfZ2VtX2JvX21hcF9fY3B1KGRybV9pbnRlbF9ibyAqYm8pCiB7 CiAJZHJtX2ludGVsX2J1Zm1ncl9nZW0gKmJ1Zm1ncl9nZW0gPSAoZHJtX2ludGVsX2J1Zm1ncl9n ZW0gKikgYm8tPmJ1Zm1ncjsKIAlkcm1faW50ZWxfYm9fZ2VtICpib19nZW0gPSAoZHJtX2ludGVs X2JvX2dlbSAqKSBibzsKQEAgLTM1NDYsNyArMzU0NSw3IEBAIHZvaWQgKmRybV9pbnRlbF9nZW1f Ym9fbWFwX19jcHUoZHJtX2ludGVsX2JvICpibykKIAlyZXR1cm4gYm9fZ2VtLT5tZW1fdmlydHVh bDsKIH0KIAotdm9pZCAqZHJtX2ludGVsX2dlbV9ib19tYXBfX3djKGRybV9pbnRlbF9ibyAqYm8p Citkcm1fcHVibGljIHZvaWQgKmRybV9pbnRlbF9nZW1fYm9fbWFwX193Yyhkcm1faW50ZWxfYm8g KmJvKQogewogCWRybV9pbnRlbF9idWZtZ3JfZ2VtICpidWZtZ3JfZ2VtID0gKGRybV9pbnRlbF9i dWZtZ3JfZ2VtICopIGJvLT5idWZtZ3I7CiAJZHJtX2ludGVsX2JvX2dlbSAqYm9fZ2VtID0gKGRy bV9pbnRlbF9ib19nZW0gKikgYm87CkBAIC0zNTk1LDcgKzM1OTQsNyBAQCB2b2lkICpkcm1faW50 ZWxfZ2VtX2JvX21hcF9fd2MoZHJtX2ludGVsX2JvICpibykKICAqCiAgKiBccGFyYW0gZmQgRmls ZSBkZXNjcmlwdG9yIG9mIHRoZSBvcGVuZWQgRFJNIGRldmljZS4KICAqLwotZHJtX2ludGVsX2J1 Zm1nciAqCitkcm1fcHVibGljIGRybV9pbnRlbF9idWZtZ3IgKgogZHJtX2ludGVsX2J1Zm1ncl9n ZW1faW5pdChpbnQgZmQsIGludCBiYXRjaF9zaXplKQogewogCWRybV9pbnRlbF9idWZtZ3JfZ2Vt ICpidWZtZ3JfZ2VtOwpkaWZmIC0tZ2l0IGEvaW50ZWwvaW50ZWxfZGVjb2RlLmMgYi9pbnRlbC9p bnRlbF9kZWNvZGUuYwppbmRleCAwZmYwOTViYy4uZTBhNTE2NjQgMTAwNjQ0Ci0tLSBhL2ludGVs L2ludGVsX2RlY29kZS5jCisrKyBiL2ludGVsL2ludGVsX2RlY29kZS5jCkBAIC0zODExLDcgKzM4 MTEsNyBAQCBkZWNvZGVfM2RfaTgzMChzdHJ1Y3QgZHJtX2ludGVsX2RlY29kZSAqY3R4KQogCXJl dHVybiAxOwogfQogCi1zdHJ1Y3QgZHJtX2ludGVsX2RlY29kZSAqCitkcm1fcHVibGljIHN0cnVj dCBkcm1faW50ZWxfZGVjb2RlICoKIGRybV9pbnRlbF9kZWNvZGVfY29udGV4dF9hbGxvYyh1aW50 MzJfdCBkZXZpZCkKIHsKIAlzdHJ1Y3QgZHJtX2ludGVsX2RlY29kZSAqY3R4OwpAQCAtMzg0NSwy MCArMzg0NSwyMCBAQCBkcm1faW50ZWxfZGVjb2RlX2NvbnRleHRfYWxsb2ModWludDMyX3QgZGV2 aWQpCiAJcmV0dXJuIGN0eDsKIH0KIAotdm9pZAorZHJtX3B1YmxpYyB2b2lkCiBkcm1faW50ZWxf ZGVjb2RlX2NvbnRleHRfZnJlZShzdHJ1Y3QgZHJtX2ludGVsX2RlY29kZSAqY3R4KQogewogCWZy ZWUoY3R4KTsKIH0KIAotdm9pZAorZHJtX3B1YmxpYyB2b2lkCiBkcm1faW50ZWxfZGVjb2RlX3Nl dF9kdW1wX3Bhc3RfZW5kKHN0cnVjdCBkcm1faW50ZWxfZGVjb2RlICpjdHgsCiAJCQkJICAgaW50 IGR1bXBfcGFzdF9lbmQpCiB7CiAJY3R4LT5kdW1wX3Bhc3RfZW5kID0gISFkdW1wX3Bhc3RfZW5k OwogfQogCi12b2lkCitkcm1fcHVibGljIHZvaWQKIGRybV9pbnRlbF9kZWNvZGVfc2V0X2JhdGNo X3BvaW50ZXIoc3RydWN0IGRybV9pbnRlbF9kZWNvZGUgKmN0eCwKIAkJCQkgICB2b2lkICpkYXRh LCB1aW50MzJfdCBod19vZmZzZXQsIGludCBjb3VudCkKIHsKQEAgLTM4NjcsNyArMzg2Nyw3IEBA IGRybV9pbnRlbF9kZWNvZGVfc2V0X2JhdGNoX3BvaW50ZXIoc3RydWN0IGRybV9pbnRlbF9kZWNv ZGUgKmN0eCwKIAljdHgtPmJhc2VfY291bnQgPSBjb3VudDsKIH0KIAotdm9pZAorZHJtX3B1Ymxp YyB2b2lkCiBkcm1faW50ZWxfZGVjb2RlX3NldF9oZWFkX3RhaWwoc3RydWN0IGRybV9pbnRlbF9k ZWNvZGUgKmN0eCwKIAkJCSAgICAgICB1aW50MzJfdCBoZWFkLCB1aW50MzJfdCB0YWlsKQogewpA QCAtMzg3NSw3ICszODc1LDcgQEAgZHJtX2ludGVsX2RlY29kZV9zZXRfaGVhZF90YWlsKHN0cnVj dCBkcm1faW50ZWxfZGVjb2RlICpjdHgsCiAJY3R4LT50YWlsID0gdGFpbDsKIH0KIAotdm9pZAor ZHJtX3B1YmxpYyB2b2lkCiBkcm1faW50ZWxfZGVjb2RlX3NldF9vdXRwdXRfZmlsZShzdHJ1Y3Qg ZHJtX2ludGVsX2RlY29kZSAqY3R4LAogCQkJCSBGSUxFICpvdXRwdXQpCiB7CkBAIC0zODg5LDcg KzM4ODksNyBAQCBkcm1faW50ZWxfZGVjb2RlX3NldF9vdXRwdXRfZmlsZShzdHJ1Y3QgZHJtX2lu dGVsX2RlY29kZSAqY3R4LAogICogXHBhcmFtIGNvdW50IG51bWJlciBvZiBEV09SRHMgdG8gZGVj b2RlIGluIHRoZSBiYXRjaCBidWZmZXIKICAqIFxwYXJhbSBod19vZmZzZXQgaGFyZHdhcmUgYWRk cmVzcyBmb3IgdGhlIGJ1ZmZlcgogICovCi12b2lkCitkcm1fcHVibGljIHZvaWQKIGRybV9pbnRl bF9kZWNvZGUoc3RydWN0IGRybV9pbnRlbF9kZWNvZGUgKmN0eCkKIHsKIAlpbnQgcmV0OwpkaWZm IC0tZ2l0IGEvbGliZHJtX21hY3Jvcy5oIGIvbGliZHJtX21hY3Jvcy5oCmluZGV4IDIxMWZhYjIx Li45NWYwZWY1NSAxMDA2NDQKLS0tIGEvbGliZHJtX21hY3Jvcy5oCisrKyBiL2xpYmRybV9tYWNy b3MuaApAQCAtMjUsOCArMjUsMTAgQEAKIAogI2lmIEhBVkVfVklTSUJJTElUWQogIyAgZGVmaW5l IGRybV9wcml2YXRlIF9fYXR0cmlidXRlX18oKHZpc2liaWxpdHkoImhpZGRlbiIpKSkKKyMgIGRl ZmluZSBkcm1fcHVibGljICBfX2F0dHJpYnV0ZV9fKCh2aXNpYmlsaXR5KCJkZWZhdWx0IikpKQog I2Vsc2UKICMgIGRlZmluZSBkcm1fcHJpdmF0ZQorIyAgZGVmaW5lIGRybV9wdWJsaWMKICNlbmRp ZgogCiAKLS0gCjIuMTcuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJp LWRldmVsCg==