From mboxrd@z Thu Jan 1 00:00:00 1970 From: Oleksandr Grytsov Subject: [PATCH v4 09/13] libxl: change disk to use generic getting list functions Date: Tue, 18 Jul 2017 17:25:26 +0300 Message-ID: <1500387930-16317-10-git-send-email-al1img@gmail.com> References: <1500387930-16317-1-git-send-email-al1img@gmail.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 1dXTRg-0002cj-2H for xen-devel@lists.xenproject.org; Tue, 18 Jul 2017 14:25:52 +0000 Received: by mail-lf0-f65.google.com with SMTP id t72so2015668lff.0 for ; Tue, 18 Jul 2017 07:25:50 -0700 (PDT) In-Reply-To: <1500387930-16317-1-git-send-email-al1img@gmail.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: ian.jackson@eu.citrix.com, wei.liu2@citrix.com, Oleksandr Grytsov List-Id: xen-devel@lists.xenproject.org RnJvbTogT2xla3NhbmRyIEdyeXRzb3YgPG9sZWtzYW5kcl9ncnl0c292QGVwYW0uY29tPgoKU2ln bmVkLW9mZi1ieTogT2xla3NhbmRyIEdyeXRzb3YgPG9sZWtzYW5kcl9ncnl0c292QGVwYW0uY29t PgotLS0KIHRvb2xzL2xpYnhsL2xpYnhsLmggICAgICAgICAgICAgICAgICAgfCAgOSArKystCiB0 b29scy9saWJ4bC9saWJ4bF9jaGVja3BvaW50X2RldmljZS5jIHwgIDcgKystCiB0b29scy9saWJ4 bC9saWJ4bF9jcmVhdGUuYyAgICAgICAgICAgIHwgIDMgKy0KIHRvb2xzL2xpYnhsL2xpYnhsX2Rp c2suYyAgICAgICAgICAgICAgfCA5NCArKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQogdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaCAgICAgICAgICB8ICA3IC0tLQogdG9vbHMv b2NhbWwvbGlicy94bC94ZW5saWdodF9zdHVicy5jICB8ICAzICstCiB0b29scy94bC94bF9ibG9j ay5jICAgICAgICAgICAgICAgICAgIHwgIDMgKy0KIDcgZmlsZXMgY2hhbmdlZCwgNDAgaW5zZXJ0 aW9ucygrKSwgODYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGwu aCBiL3Rvb2xzL2xpYnhsL2xpYnhsLmgKaW5kZXggNGMwZDYxMi4uOTkxYjk0NyAxMDA2NDQKLS0t IGEvdG9vbHMvbGlieGwvbGlieGwuaAorKysgYi90b29scy9saWJ4bC9saWJ4bC5oCkBAIC0xNzIz LDkgKzE3MjMsMTQgQEAgaW50IGxpYnhsX2RldmljZV9kaXNrX2Rlc3Ryb3kobGlieGxfY3R4ICpj dHgsIHVpbnQzMl90IGRvbWlkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg bGlieGxfYXN5bmNvcF9ob3cgKmFvX2hvdykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IExJQlhMX0VYVEVSTkFMX0NBTExFUlNfT05MWTsKIAotbGlieGxfZGV2aWNlX2Rpc2sgKmxpYnhs X2RldmljZV9kaXNrX2xpc3QobGlieGxfY3R4ICpjdHgsIHVpbnQzMl90IGRvbWlkLCBpbnQgKm51 bSk7CitsaWJ4bF9kZXZpY2VfZGlzayAqbGlieGxfZGV2aWNlX2Rpc2tfbGlzdChsaWJ4bF9jdHgg KmN0eCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90 IGRvbWlkLCBpbnQgKm51bSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIExJQlhMX0VYVEVSTkFMX0NBTExFUlNfT05MWTsKK3ZvaWQgbGlieGxfZGV2aWNlX2Rpc2tf bGlzdF9mcmVlKGxpYnhsX2RldmljZV9kaXNrKiBsaXN0LCBpbnQgbnVtKQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgTElCWExfRVhURVJOQUxfQ0FMTEVSU19PTkxZOwogaW50IGxp YnhsX2RldmljZV9kaXNrX2dldGluZm8obGlieGxfY3R4ICpjdHgsIHVpbnQzMl90IGRvbWlkLAot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfZGV2aWNlX2Rpc2sgKmRpc2ssIGxp YnhsX2Rpc2tpbmZvICpkaXNraW5mbyk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBs aWJ4bF9kZXZpY2VfZGlzayAqZGlzaywgbGlieGxfZGlza2luZm8gKmRpc2tpbmZvKQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgTElCWExfRVhURVJOQUxfQ0FMTEVSU19PTkxZOwogCiAv KgogICogSW5zZXJ0IGEgQ0QtUk9NIGRldmljZS4gQSBkZXZpY2UgY29ycmVzcG9uZGluZyB0byBk aXNrIG11c3QgYWxyZWFkeQpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfY2hlY2twb2lu dF9kZXZpY2UuYyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2NoZWNrcG9pbnRfZGV2aWNlLmMKaW5kZXgg MDFlNzRiNS4uN2JkODMyYiAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfY2hlY2twb2lu dF9kZXZpY2UuYworKysgYi90b29scy9saWJ4bC9saWJ4bF9jaGVja3BvaW50X2RldmljZS5jCkBA IC02Niw3ICs2Niw4IEBAIHZvaWQgbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlc19zZXR1cChsaWJ4 bF9fZWdjICplZ2MsCiAgICAgICAgIGNkcy0+bmljcyA9IGxpYnhsX2RldmljZV9uaWNfbGlzdChD VFgsIGNkcy0+ZG9taWQsICZjZHMtPm51bV9uaWNzKTsKIAogICAgIGlmIChjZHMtPmRldmljZV9r aW5kX2ZsYWdzICYgKDEgPDwgTElCWExfX0RFVklDRV9LSU5EX1ZCRCkpCi0gICAgICAgIGNkcy0+ ZGlza3MgPSBsaWJ4bF9kZXZpY2VfZGlza19saXN0KENUWCwgY2RzLT5kb21pZCwgJmNkcy0+bnVt X2Rpc2tzKTsKKyAgICAgICAgY2RzLT5kaXNrcyA9IGxpYnhsX19kZXZpY2VfbGlzdChnYywgJmxp YnhsX19kaXNrX2RldnR5cGUsIGNkcy0+ZG9taWQsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgImRpc2siLCAmY2RzLT5udW1fZGlza3MpOwogCiAgICAgaWYgKGNkcy0+ bnVtX25pY3MgPT0gMCAmJiBjZHMtPm51bV9kaXNrcyA9PSAwKQogICAgICAgICBnb3RvIG91dDsK QEAgLTIyMSw5ICsyMjIsNyBAQCBzdGF0aWMgdm9pZCBkZXZpY2VzX3RlYXJkb3duX2NiKGxpYnhs X19lZ2MgKmVnYywKICAgICBjZHMtPm51bV9uaWNzID0gMDsKIAogICAgIC8qIGNsZWFuIGRpc2sg Ki8KLSAgICBmb3IgKGkgPSAwOyBpIDwgY2RzLT5udW1fZGlza3M7IGkrKykKLSAgICAgICAgbGli eGxfZGV2aWNlX2Rpc2tfZGlzcG9zZSgmY2RzLT5kaXNrc1tpXSk7Ci0gICAgZnJlZShjZHMtPmRp c2tzKTsKKyAgICBsaWJ4bF9fZGV2aWNlX2xpc3RfZnJlZSgmbGlieGxfX3ZkaXNwbF9kZXZ0eXBl LCBjZHMtPmRpc2tzLCBjZHMtPm51bV9kaXNrcyk7CiAgICAgY2RzLT5kaXNrcyA9IE5VTEw7CiAg ICAgY2RzLT5udW1fZGlza3MgPSAwOwogCmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9j cmVhdGUuYyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2NyZWF0ZS5jCmluZGV4IDgwODk3MTMuLjU2OWZm MjUgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2NyZWF0ZS5jCisrKyBiL3Rvb2xzL2xp YnhsL2xpYnhsX2NyZWF0ZS5jCkBAIC05MzYsNyArOTM2LDggQEAgc3RhdGljIHZvaWQgaW5pdGlh dGVfZG9tYWluX2NyZWF0ZShsaWJ4bF9fZWdjICplZ2MsCiAgICAgc3RvcmVfbGlieGxfZW50cnko Z2MsIGRvbWlkLCAmZF9jb25maWctPmJfaW5mbyk7CiAKICAgICBmb3IgKGkgPSAwOyBpIDwgZF9j b25maWctPm51bV9kaXNrczsgaSsrKSB7Ci0gICAgICAgIHJldCA9IGxpYnhsX19kZXZpY2VfZGlz a19zZXRkZWZhdWx0KGdjLCAmZF9jb25maWctPmRpc2tzW2ldLCBkb21pZCk7CisgICAgICAgIHJl dCA9IGxpYnhsX19kaXNrX2RldnR5cGUuc2V0X2RlZmF1bHQoZ2MsIGRvbWlkLCAmZF9jb25maWct PmRpc2tzW2ldLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGZhbHNlKTsKICAgICAgICAgaWYgKHJldCkgewogICAgICAgICAgICAgTE9HRChFUlJPUiwgZG9t aWQsICJVbmFibGUgdG8gc2V0IGRpc2sgZGVmYXVsdHMgZm9yIGRpc2sgJWQiLCBpKTsKICAgICAg ICAgICAgIGdvdG8gZXJyb3Jfb3V0OwpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfZGlz ay5jIGIvdG9vbHMvbGlieGwvbGlieGxfZGlzay5jCmluZGV4IGYyZjM2MzUuLmY0ZjEwY2IgMTAw NjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2Rpc2suYworKysgYi90b29scy9saWJ4bC9saWJ4 bF9kaXNrLmMKQEAgLTE1Miw4ICsxNTIsOCBAQCB2b2lkIGxpYnhsX2V2ZGlzYWJsZV9kaXNrX2Vq ZWN0KGxpYnhsX2N0eCAqY3R4LCBsaWJ4bF9ldmdlbl9kaXNrX2VqZWN0ICpldmcpIHsKICAgICBH Q19GUkVFOwogfQogCi1pbnQgbGlieGxfX2RldmljZV9kaXNrX3NldGRlZmF1bHQobGlieGxfX2dj ICpnYywgbGlieGxfZGV2aWNlX2Rpc2sgKmRpc2ssCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgdWludDMyX3QgZG9taWQpCitzdGF0aWMgaW50IGxpYnhsX19kZXZpY2VfZGlza19z ZXRkZWZhdWx0KGxpYnhsX19nYyAqZ2MsIHVpbnQzMl90IGRvbWlkLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9kZXZpY2VfZGlzayAqZGlzaywgYm9vbCBo b3RwbHVnKQogewogICAgIGludCByYzsKIApAQCAtMTgxLDcgKzE4MSw3IEBAIGludCBsaWJ4bF9f ZGV2aWNlX2Rpc2tfc2V0ZGVmYXVsdChsaWJ4bF9fZ2MgKmdjLCBsaWJ4bF9kZXZpY2VfZGlzayAq ZGlzaywKICAgICByZXR1cm4gcmM7CiB9CiAKLWludCBsaWJ4bF9fZGV2aWNlX2Zyb21fZGlzayhs aWJ4bF9fZ2MgKmdjLCB1aW50MzJfdCBkb21pZCwKK3N0YXRpYyBpbnQgbGlieGxfX2RldmljZV9m cm9tX2Rpc2sobGlieGxfX2djICpnYywgdWludDMyX3QgZG9taWQsCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGNvbnN0IGxpYnhsX2RldmljZV9kaXNrICpkaXNrLAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fZGV2aWNlICpkZXZpY2UpCiB7CkBA IC0yOTYsNyArMjk2LDcgQEAgc3RhdGljIHZvaWQgZGV2aWNlX2Rpc2tfYWRkKGxpYnhsX19lZ2Mg KmVnYywgdWludDMyX3QgZG9taWQsCiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIAotICAgICAg ICByYyA9IGxpYnhsX19kZXZpY2VfZGlza19zZXRkZWZhdWx0KGdjLCBkaXNrLCBkb21pZCk7Cisg ICAgICAgIHJjID0gbGlieGxfX2RldmljZV9kaXNrX3NldGRlZmF1bHQoZ2MsIGRvbWlkLCBkaXNr LCBmYWxzZSk7CiAgICAgICAgIGlmIChyYykgZ290byBvdXQ7CiAKICAgICAgICAgZnJvbnQgPSBm bGV4YXJyYXlfbWFrZShnYywgMTYsIDEpOwpAQCAtNDcyLDE3ICs0NzIsMTUgQEAgc3RhdGljIHZv aWQgbGlieGxfX2RldmljZV9kaXNrX2FkZChsaWJ4bF9fZWdjICplZ2MsIHVpbnQzMl90IGRvbWlk LAogICAgIGRldmljZV9kaXNrX2FkZChlZ2MsIGRvbWlkLCBkaXNrLCBhb2RldiwgTlVMTCwgTlVM TCk7CiB9CiAKLXN0YXRpYyBpbnQgbGlieGxfX2RldmljZV9kaXNrX2Zyb21feGVuc3RvcmUobGli eGxfX2djICpnYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u c3QgY2hhciAqbGlieGxfcGF0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgbGlieGxfZGV2aWNlX2Rpc2sgKmRpc2spCitzdGF0aWMgaW50IGxpYnhsX19kaXNrX2Zy b21feGVuc3RvcmUobGlieGxfX2djICpnYywgY29uc3QgY2hhciAqbGlieGxfcGF0aCwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9kZXZpZCBkZXZpZCwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9kZXZpY2VfZGlzayAqZGlzaykK IHsKICAgICBsaWJ4bF9jdHggKmN0eCA9IGxpYnhsX19nY19vd25lcihnYyk7CiAgICAgdW5zaWdu ZWQgaW50IGxlbjsKICAgICBjaGFyICp0bXA7CiAgICAgaW50IHJjOwogCi0gICAgbGlieGxfZGV2 aWNlX2Rpc2tfaW5pdChkaXNrKTsKLQogICAgIGNvbnN0IGNoYXIgKmJhY2tlbmRfcGF0aDsKICAg ICByYyA9IGxpYnhsX194c19yZWFkX2NoZWNrZWQoZ2MsIFhCVF9OVUxMLAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBHQ1NQUklOVEYoIiVzL2JhY2tlbmQiLCBsaWJ4bF9wYXRoKSwK QEAgLTYxNyw2OSArNjE1LDI4IEBAIGludCBsaWJ4bF92ZGV2X3RvX2RldmljZV9kaXNrKGxpYnhs X2N0eCAqY3R4LCB1aW50MzJfdCBkb21pZCwKICAgICB9CiAgICAgbGlieGxfcGF0aCA9IEdDU1BS SU5URigiJXMvZGV2aWNlL3ZiZC8lZCIsIGRvbV94bF9wYXRoLCBkZXZpZCk7CiAKLSAgICByYyA9 IGxpYnhsX19kZXZpY2VfZGlza19mcm9tX3hlbnN0b3JlKGdjLCBsaWJ4bF9wYXRoLCBkaXNrKTsK KyAgICByYyA9IGxpYnhsX19kaXNrX2Zyb21feGVuc3RvcmUoZ2MsIGxpYnhsX3BhdGgsIGRldmlk LCBkaXNrKTsKIG91dDoKICAgICBHQ19GUkVFOwogICAgIHJldHVybiByYzsKIH0KIAotc3RhdGlj IGludCBsaWJ4bF9fYXBwZW5kX2Rpc2tfbGlzdChsaWJ4bF9fZ2MgKmdjLAotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGRvbWlkLAotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX2RldmljZV9kaXNrICoqZGlz a3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ICpuZGlz a3MpCi17Ci0gICAgY2hhciAqbGlieGxfZGlyX3BhdGggPSBOVUxMOwotICAgIGNoYXIgKipkaXIg PSBOVUxMOwotICAgIHVuc2lnbmVkIGludCBuID0gMDsKLSAgICBsaWJ4bF9kZXZpY2VfZGlzayAq cGRpc2sgPSBOVUxMLCAqcGRpc2tfZW5kID0gTlVMTDsKLSAgICBpbnQgcmM9MDsKLSAgICBpbnQg aW5pdGlhbF9kaXNrcyA9ICpuZGlza3M7Ci0KLSAgICBsaWJ4bF9kaXJfcGF0aCA9IEdDU1BSSU5U RigiJXMvZGV2aWNlL3ZiZCIsCi0gICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9feHNfbGli eGxfcGF0aChnYywgZG9taWQpKTsKLSAgICBkaXIgPSBsaWJ4bF9feHNfZGlyZWN0b3J5KGdjLCBY QlRfTlVMTCwgbGlieGxfZGlyX3BhdGgsICZuKTsKLSAgICBpZiAoZGlyICYmIG4pIHsKLSAgICAg ICAgbGlieGxfZGV2aWNlX2Rpc2sgKnRtcDsKLSAgICAgICAgdG1wID0gcmVhbGxvYygqZGlza3Ms IHNpemVvZiAobGlieGxfZGV2aWNlX2Rpc2spICogKCpuZGlza3MgKyBuKSk7Ci0gICAgICAgIGlm ICh0bXAgPT0gTlVMTCkKLSAgICAgICAgICAgIHJldHVybiBFUlJPUl9OT01FTTsKLSAgICAgICAg KmRpc2tzID0gdG1wOwotICAgICAgICBwZGlzayA9ICpkaXNrcyArIGluaXRpYWxfZGlza3M7Ci0g ICAgICAgIHBkaXNrX2VuZCA9ICpkaXNrcyArIGluaXRpYWxfZGlza3MgKyBuOwotICAgICAgICBm b3IgKDsgcGRpc2sgPCBwZGlza19lbmQ7IHBkaXNrKyssIGRpcisrKSB7Ci0gICAgICAgICAgICBj b25zdCBjaGFyICpwOwotICAgICAgICAgICAgcCA9IEdDU1BSSU5URigiJXMvJXMiLCBsaWJ4bF9k aXJfcGF0aCwgKmRpcik7Ci0gICAgICAgICAgICBpZiAoKHJjPWxpYnhsX19kZXZpY2VfZGlza19m cm9tX3hlbnN0b3JlKGdjLCBwLCBwZGlzaykpKQotICAgICAgICAgICAgICAgIGdvdG8gb3V0Owot ICAgICAgICAgICAgKm5kaXNrcyArPSAxOwotICAgICAgICB9Ci0gICAgfQotb3V0OgotICAgIHJl dHVybiByYzsKLX0KLQogbGlieGxfZGV2aWNlX2Rpc2sgKmxpYnhsX2RldmljZV9kaXNrX2xpc3Qo bGlieGxfY3R4ICpjdHgsIHVpbnQzMl90IGRvbWlkLCBpbnQgKm51bSkKIHsKLSAgICBHQ19JTklU KGN0eCk7Ci0gICAgbGlieGxfZGV2aWNlX2Rpc2sgKmRpc2tzID0gTlVMTDsKLSAgICBpbnQgcmM7 CisgICAgbGlieGxfZGV2aWNlX2Rpc2sgKnI7CiAKLSAgICAqbnVtID0gMDsKKyAgICBHQ19JTklU KGN0eCk7CiAKLSAgICByYyA9IGxpYnhsX19hcHBlbmRfZGlza19saXN0KGdjLCBkb21pZCwgJmRp c2tzLCBudW0pOwotICAgIGlmIChyYykgZ290byBvdXRfZXJyOworICAgIHIgPSBsaWJ4bF9fZGV2 aWNlX2xpc3QoZ2MsICZsaWJ4bF9fZGlza19kZXZ0eXBlLCBkb21pZCwgImRpc2siLCBudW0pOwog CiAgICAgR0NfRlJFRTsKLSAgICByZXR1cm4gZGlza3M7CiAKLW91dF9lcnI6Ci0gICAgTE9HKEVS Uk9SLCAiVW5hYmxlIHRvIGxpc3QgZGlza3MiKTsKLSAgICB3aGlsZSAoZGlza3MgJiYgKm51bSkg ewotICAgICAgICAoKm51bSktLTsKLSAgICAgICAgbGlieGxfZGV2aWNlX2Rpc2tfZGlzcG9zZSgm ZGlza3NbKm51bV0pOwotICAgIH0KLSAgICBmcmVlKGRpc2tzKTsKLSAgICByZXR1cm4gTlVMTDsK KyAgICByZXR1cm4gcjsKK30KKwordm9pZCBsaWJ4bF9kZXZpY2VfZGlza19saXN0X2ZyZWUobGli eGxfZGV2aWNlX2Rpc2sqIGxpc3QsIGludCBudW0pCit7CisgICAgbGlieGxfX2RldmljZV9saXN0 X2ZyZWUoJmxpYnhsX19kaXNrX2RldnR5cGUsIGxpc3QsIG51bSk7CiB9CiAKIGludCBsaWJ4bF9k ZXZpY2VfZGlza19nZXRpbmZvKGxpYnhsX2N0eCAqY3R4LCB1aW50MzJfdCBkb21pZCwKQEAgLTc1 MSw3ICs3MDgsNyBAQCBpbnQgbGlieGxfY2Ryb21faW5zZXJ0KGxpYnhsX2N0eCAqY3R4LCB1aW50 MzJfdCBkb21pZCwgbGlieGxfZGV2aWNlX2Rpc2sgKmRpc2ssCiAgICAgZGlza19lbXB0eS52ZGV2 ID0gbGlieGxfX3N0cmR1cChOT0dDLCBkaXNrLT52ZGV2KTsKICAgICBkaXNrX2VtcHR5LnBkZXZf cGF0aCA9IGxpYnhsX19zdHJkdXAoTk9HQywgIiIpOwogICAgIGRpc2tfZW1wdHkuaXNfY2Ryb20g PSAxOwotICAgIGxpYnhsX19kZXZpY2VfZGlza19zZXRkZWZhdWx0KGdjLCAmZGlza19lbXB0eSwg ZG9taWQpOworICAgIGxpYnhsX19kZXZpY2VfZGlza19zZXRkZWZhdWx0KGdjLCBkb21pZCwgJmRp c2tfZW1wdHksIGZhbHNlKTsKIAogICAgIGxpYnhsX2RvbWFpbl90eXBlIHR5cGUgPSBsaWJ4bF9f ZG9tYWluX3R5cGUoZ2MsIGRvbWlkKTsKICAgICBpZiAodHlwZSA9PSBMSUJYTF9ET01BSU5fVFlQ RV9JTlZBTElEKSB7CkBAIC03ODMsNyArNzQwLDcgQEAgaW50IGxpYnhsX2Nkcm9tX2luc2VydChs aWJ4bF9jdHggKmN0eCwgdWludDMyX3QgZG9taWQsIGxpYnhsX2RldmljZV9kaXNrICpkaXNrLAog ICAgICAgICBnb3RvIG91dDsKICAgICB9CiAKLSAgICBkaXNrcyA9IGxpYnhsX2RldmljZV9kaXNr X2xpc3QoY3R4LCBkb21pZCwgJm51bSk7CisgICAgZGlza3MgPSBsaWJ4bF9fZGV2aWNlX2xpc3Qo Z2MsICZsaWJ4bF9fZGlza19kZXZ0eXBlLCBkb21pZCwgImRpc2siLCAmbnVtKTsKICAgICBmb3Ig KGkgPSAwOyBpIDwgbnVtOyBpKyspIHsKICAgICAgICAgaWYgKGRpc2tzW2ldLmlzX2Nkcm9tICYm ICFzdHJjbXAoZGlzay0+dmRldiwgZGlza3NbaV0udmRldikpCiAgICAgICAgIHsKQEAgLTc5OCw3 ICs3NTUsNyBAQCBpbnQgbGlieGxfY2Ryb21faW5zZXJ0KGxpYnhsX2N0eCAqY3R4LCB1aW50MzJf dCBkb21pZCwgbGlieGxfZGV2aWNlX2Rpc2sgKmRpc2ssCiAgICAgICAgIGdvdG8gb3V0OwogICAg IH0KIAotICAgIHJjID0gbGlieGxfX2RldmljZV9kaXNrX3NldGRlZmF1bHQoZ2MsIGRpc2ssIGRv bWlkKTsKKyAgICByYyA9IGxpYnhsX19kZXZpY2VfZGlza19zZXRkZWZhdWx0KGdjLCBkb21pZCwg ZGlzaywgZmFsc2UpOwogICAgIGlmIChyYykgZ290byBvdXQ7CiAKICAgICBpZiAoIWRpc2stPnBk ZXZfcGF0aCkgewpAQCAtOTIxLDkgKzg3OCw3IEBAIGludCBsaWJ4bF9jZHJvbV9pbnNlcnQobGli eGxfY3R4ICpjdHgsIHVpbnQzMl90IGRvbWlkLCBsaWJ4bF9kZXZpY2VfZGlzayAqZGlzaywKIAog b3V0OgogICAgIGxpYnhsX194c190cmFuc2FjdGlvbl9hYm9ydChnYywgJnQpOwotICAgIGZvciAo aSA9IDA7IGkgPCBudW07IGkrKykKLSAgICAgICAgbGlieGxfZGV2aWNlX2Rpc2tfZGlzcG9zZSgm ZGlza3NbaV0pOwotICAgIGZyZWUoZGlza3MpOworICAgIGxpYnhsX19kZXZpY2VfbGlzdF9mcmVl KCZsaWJ4bF9fZGlza19kZXZ0eXBlLCBkaXNrcywgbnVtKTsKICAgICBsaWJ4bF9kZXZpY2VfZGlz a19kaXNwb3NlKCZkaXNrX2VtcHR5KTsKICAgICBsaWJ4bF9kZXZpY2VfZGlza19kaXNwb3NlKCZk aXNrX3NhdmVkKTsKICAgICBsaWJ4bF9kb21haW5fY29uZmlnX2Rpc3Bvc2UoJmRfY29uZmlnKTsK QEAgLTEwNzMsNyArMTAyOCw4IEBAIHZvaWQgbGlieGxfX2RldmljZV9kaXNrX2xvY2FsX2luaXRp YXRlX2F0dGFjaChsaWJ4bF9fZWdjICplZ2MsCiAgICAgICAgICAgICBkaXNrLT5zY3JpcHQgPSBs aWJ4bF9fc3RyZHVwKGdjLCBpbl9kaXNrLT5zY3JpcHQpOwogICAgICAgICBkaXNrLT52ZGV2ID0g TlVMTDsKIAotICAgICAgICByYyA9IGxpYnhsX19kZXZpY2VfZGlza19zZXRkZWZhdWx0KGdjLCBk aXNrLCBMSUJYTF9UT09MU1RBQ0tfRE9NSUQpOworICAgICAgICByYyA9IGxpYnhsX19kZXZpY2Vf ZGlza19zZXRkZWZhdWx0KGdjLCBMSUJYTF9UT09MU1RBQ0tfRE9NSUQsCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzaywgZmFsc2UpOwogICAgICAgICBpZiAo cmMpIGdvdG8gb3V0OwogCiAgICAgICAgIGxpYnhsX19wcmVwYXJlX2FvX2RldmljZShhbywgJmRs cy0+YW9kZXYpOwpAQCAtMTI0OSw3ICsxMjA1LDkgQEAgc3RhdGljIGludCBsaWJ4bF9kZXZpY2Vf ZGlza19kbV9uZWVkZWQodm9pZCAqZSwgdW5zaWduZWQgZG9taWQpCiBERUZJTkVfREVWSUNFX1RZ UEVfU1RSVUNUKGRpc2ssCiAgICAgLm1lcmdlICAgICAgID0gbGlieGxfZGV2aWNlX2Rpc2tfbWVy Z2UsCiAgICAgLmRtX25lZWRlZCAgID0gbGlieGxfZGV2aWNlX2Rpc2tfZG1fbmVlZGVkLAotICAg IC5za2lwX2F0dGFjaCA9IDEKKyAgICAuZnJvbV94ZW5zdG9yZSA9IChpbnQgKCopKGxpYnhsX19n YyAqLCBjb25zdCBjaGFyICosIGxpYnhsX2RldmlkLCB2b2lkICopKQorICAgICAgICAgICAgICAg ICAgICAgbGlieGxfX2Rpc2tfZnJvbV94ZW5zdG9yZSwKKyAgLnNraXBfYXR0YWNoID0gMQogKTsK IAogLyoKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmggYi90b29scy9s aWJ4bC9saWJ4bF9pbnRlcm5hbC5oCmluZGV4IDM2YjRkMWUuLjlmOGI1NmEgMTAwNjQ0Ci0tLSBh L3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmgKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfaW50 ZXJuYWwuaApAQCAtMTI0Miw5ICsxMjQyLDYgQEAgX2hpZGRlbiBpbnQgbGlieGxfX2RvbWFpbl9j cmVhdGVfaW5mb19zZXRkZWZhdWx0KGxpYnhsX19nYyAqZ2MsCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgbGlieGxfZG9tYWluX2NyZWF0ZV9pbmZvICpjX2luZm8pOwog X2hpZGRlbiBpbnQgbGlieGxfX2RvbWFpbl9idWlsZF9pbmZvX3NldGRlZmF1bHQobGlieGxfX2dj ICpnYywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9kb21h aW5fYnVpbGRfaW5mbyAqYl9pbmZvKTsKLV9oaWRkZW4gaW50IGxpYnhsX19kZXZpY2VfZGlza19z ZXRkZWZhdWx0KGxpYnhsX19nYyAqZ2MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBsaWJ4bF9kZXZpY2VfZGlzayAqZGlzaywKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGRvbWlkKTsKIF9oaWRkZW4gaW50IGxpYnhs X19kZXZpY2VfbmljX3NldGRlZmF1bHQobGlieGxfX2djICpnYywgbGlieGxfZGV2aWNlX25pYyAq bmljLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBk b21pZCwgYm9vbCBob3RwbHVnKTsKIF9oaWRkZW4gaW50IGxpYnhsX19kZXZpY2VfcGNpX3NldGRl ZmF1bHQobGlieGxfX2djICpnYywgbGlieGxfZGV2aWNlX3BjaSAqcGNpKTsKQEAgLTE3NTUsMTAg KzE3NTIsNiBAQCBfaGlkZGVuIGNoYXIgKmxpYnhsX19ibGt0YXBfZGV2cGF0aChsaWJ4bF9fZ2Mg KmdjLAogICovCiBfaGlkZGVuIGludCBsaWJ4bF9fZGV2aWNlX2Rlc3Ryb3lfdGFwZGlzayhsaWJ4 bF9fZ2MgKmdjLCBjb25zdCBjaGFyICpwYXJhbXMpOwogCi1faGlkZGVuIGludCBsaWJ4bF9fZGV2 aWNlX2Zyb21fZGlzayhsaWJ4bF9fZ2MgKmdjLCB1aW50MzJfdCBkb21pZCwKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbGlieGxfZGV2aWNlX2Rpc2sgKmRpc2ssCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19kZXZpY2UgKmRldmljZSk7 Ci0KIC8qIENhbGxzIHBvbGwoKSBhZ2FpbiAtIHVzZWZ1bCB0byBjaGVjayB3aGV0aGVyIGEgc2ln bmFsZWQgY29uZGl0aW9uCiAgKiBpcyBzdGlsbCB0cnVlLiAgQ2Fubm90IGZhaWwuICBSZXR1cm5z IGN1cnJlbnRseS10cnVlIHJldmVudHMuICovCiBfaGlkZGVuIHNob3J0IGxpYnhsX19mZF9wb2xs X3JlY2hlY2sobGlieGxfX2VnYyAqZWdjLCBpbnQgZmQsIHNob3J0IGV2ZW50cyk7CmRpZmYgLS1n aXQgYS90b29scy9vY2FtbC9saWJzL3hsL3hlbmxpZ2h0X3N0dWJzLmMgYi90b29scy9vY2FtbC9s aWJzL3hsL3hlbmxpZ2h0X3N0dWJzLmMKaW5kZXggOThiNTJiOS4uNTVmMDlkNyAxMDA2NDQKLS0t IGEvdG9vbHMvb2NhbWwvbGlicy94bC94ZW5saWdodF9zdHVicy5jCisrKyBiL3Rvb2xzL29jYW1s L2xpYnMveGwveGVubGlnaHRfc3R1YnMuYwpAQCAtNzYzLDkgKzc2Myw4IEBAIHZhbHVlIHN0dWJf eGxfZGV2aWNlX2Rpc2tfbGlzdCh2YWx1ZSBjdHgsIHZhbHVlIGRvbWlkKQogCQlGaWVsZChsaXN0 LCAxKSA9IHRlbXA7CiAJCXRlbXAgPSBsaXN0OwogCQlTdG9yZV9maWVsZChsaXN0LCAwLCBWYWxf ZGV2aWNlX2Rpc2soJmNfbGlzdFtpXSkpOwotCQlsaWJ4bF9kZXZpY2VfZGlza19kaXNwb3NlKCZj X2xpc3RbaV0pOwogCX0KLQlmcmVlKGNfbGlzdCk7CisJbGlieGxfZGV2aWNlX2Rpc2tfbGlzdF9m cmVlKGNfbGlzdCwgbmIpOwogCiAJQ0FNTHJldHVybihsaXN0KTsKIH0KZGlmZiAtLWdpdCBhL3Rv b2xzL3hsL3hsX2Jsb2NrLmMgYi90b29scy94bC94bF9ibG9jay5jCmluZGV4IGRhMzM3ZWYuLmFj YWY5YjkgMTAwNjQ0Ci0tLSBhL3Rvb2xzL3hsL3hsX2Jsb2NrLmMKKysrIGIvdG9vbHMveGwveGxf YmxvY2suYwpAQCAtODgsOSArODgsOCBAQCBpbnQgbWFpbl9ibG9ja2xpc3QoaW50IGFyZ2MsIGNo YXIgKiphcmd2KQogICAgICAgICAgICAgICAgICAgICAgICBkaXNraW5mby5zdGF0ZSwgZGlza2lu Zm8uZXZ0Y2gsIGRpc2tpbmZvLnJyZWYsIGRpc2tpbmZvLmJhY2tlbmQpOwogICAgICAgICAgICAg ICAgIGxpYnhsX2Rpc2tpbmZvX2Rpc3Bvc2UoJmRpc2tpbmZvKTsKICAgICAgICAgICAgIH0KLSAg ICAgICAgICAgIGxpYnhsX2RldmljZV9kaXNrX2Rpc3Bvc2UoJmRpc2tzW2ldKTsKICAgICAgICAg fQotICAgICAgICBmcmVlKGRpc2tzKTsKKyAgICAgICAgbGlieGxfZGV2aWNlX2Rpc2tfbGlzdF9m cmVlKGRpc2tzLCBuYik7CiAgICAgfQogICAgIHJldHVybiAwOwogfQotLSAKMi43LjQKCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFp bGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94 ZW4tZGV2ZWwK