From mboxrd@z Thu Jan 1 00:00:00 1970 From: Oleksandr Grytsov Subject: [PATCH v5 09/12] libxl: change disk to use generic getting list functions Date: Mon, 11 Sep 2017 20:14:59 +0300 Message-ID: <1505150102-30806-10-git-send-email-al1img@gmail.com> References: <1505150102-30806-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.bemta5.messagelabs.com ([195.245.231.135]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1drSJ2-0001zP-QY for xen-devel@lists.xenproject.org; Mon, 11 Sep 2017 17:15:33 +0000 Received: by mail-lf0-f68.google.com with SMTP id h80so4236974lfe.1 for ; Mon, 11 Sep 2017 10:15:30 -0700 (PDT) In-Reply-To: <1505150102-30806-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 bC9saWJ4bF9jcmVhdGUuYyAgICAgICAgICAgIHwgIDQgKy0KIHRvb2xzL2xpYnhsL2xpYnhsX2Rp c2suYyAgICAgICAgICAgICAgfCA4MyArKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQogdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaCAgICAgICAgICB8ICA3IC0tLQogdG9vbHMv b2NhbWwvbGlicy94bC94ZW5saWdodF9zdHVicy5jICB8ICAzICstCiB0b29scy94bC94bF9ibG9j ay5jICAgICAgICAgICAgICAgICAgIHwgIDMgKy0KIDcgZmlsZXMgY2hhbmdlZCwgMzQgaW5zZXJ0 aW9ucygrKSwgODIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGwu aCBiL3Rvb2xzL2xpYnhsL2xpYnhsLmgKaW5kZXggZTM4NjM1Ny4uZDVhM2FiNyAxMDA2NDQKLS0t IGEvdG9vbHMvbGlieGwvbGlieGwuaAorKysgYi90b29scy9saWJ4bC9saWJ4bC5oCkBAIC0xNzQ5 LDkgKzE3NDksMTQgQEAgaW50IGxpYnhsX2RldmljZV9kaXNrX2Rlc3Ryb3kobGlieGxfY3R4ICpj dHgsIHVpbnQzMl90IGRvbWlkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg bGlieGxfYXN5bmNvcF9ob3cgKmFvX2hvdykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IExJQlhMX0VYVEVSTkFMX0NBTExFUlNfT05MWTsKIAotbGlieGxfZGV2aWNlX2Rpc2sgKmxpYnhs X2RldmljZV9kaXNrX2xpc3QobGlieGxfY3R4ICpjdHgsIHVpbnQzMl90IGRvbWlkLCBpbnQgKm51 bSk7CitsaWJ4bF9kZXZpY2VfZGlzayAqbGlieGxfZGV2aWNlX2Rpc2tfbGlzdChsaWJ4bF9jdHgg KmN0eCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90 IGRvbWlkLCBpbnQgKm51bSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIExJQlhMX0VYVEVSTkFMX0NBTExFUlNfT05MWTsKK3ZvaWQgbGlieGxfZGV2aWNlX2Rpc2tf bGlzdF9mcmVlKGxpYnhsX2RldmljZV9kaXNrKiBsaXN0LCBpbnQgbnVtKQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgTElCWExfRVhURVJOQUxfQ0FMTEVSU19PTkxZOwogaW50IGxp YnhsX2RldmljZV9kaXNrX2dldGluZm8obGlieGxfY3R4ICpjdHgsIHVpbnQzMl90IGRvbWlkLAot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfZGV2aWNlX2Rpc2sgKmRpc2ssIGxp YnhsX2Rpc2tpbmZvICpkaXNraW5mbyk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBs aWJ4bF9kZXZpY2VfZGlzayAqZGlzaywgbGlieGxfZGlza2luZm8gKmRpc2tpbmZvKQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgTElCWExfRVhURVJOQUxfQ0FMTEVSU19PTkxZOwogCiAv KgogICogSW5zZXJ0IGEgQ0QtUk9NIGRldmljZS4gQSBkZXZpY2UgY29ycmVzcG9uZGluZyB0byBk aXNrIG11c3QgYWxyZWFkeQpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfY2hlY2twb2lu dF9kZXZpY2UuYyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2NoZWNrcG9pbnRfZGV2aWNlLmMKaW5kZXgg MDFlNzRiNS4uZjZhNDQzNyAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfY2hlY2twb2lu dF9kZXZpY2UuYworKysgYi90b29scy9saWJ4bC9saWJ4bF9jaGVja3BvaW50X2RldmljZS5jCkBA IC02Niw3ICs2Niw4IEBAIHZvaWQgbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlc19zZXR1cChsaWJ4 bF9fZWdjICplZ2MsCiAgICAgICAgIGNkcy0+bmljcyA9IGxpYnhsX2RldmljZV9uaWNfbGlzdChD VFgsIGNkcy0+ZG9taWQsICZjZHMtPm51bV9uaWNzKTsKIAogICAgIGlmIChjZHMtPmRldmljZV9r aW5kX2ZsYWdzICYgKDEgPDwgTElCWExfX0RFVklDRV9LSU5EX1ZCRCkpCi0gICAgICAgIGNkcy0+ ZGlza3MgPSBsaWJ4bF9kZXZpY2VfZGlza19saXN0KENUWCwgY2RzLT5kb21pZCwgJmNkcy0+bnVt X2Rpc2tzKTsKKyAgICAgICAgY2RzLT5kaXNrcyA9IGxpYnhsX19kZXZpY2VfbGlzdChnYywgJmxp YnhsX19kaXNrX2RldnR5cGUsIGNkcy0+ZG9taWQsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgImRpc2siLCAmY2RzLT5udW1fZGlza3MpOwogCiAgICAgaWYgKGNkcy0+ bnVtX25pY3MgPT0gMCAmJiBjZHMtPm51bV9kaXNrcyA9PSAwKQogICAgICAgICBnb3RvIG91dDsK QEAgLTIyMSw5ICsyMjIsNyBAQCBzdGF0aWMgdm9pZCBkZXZpY2VzX3RlYXJkb3duX2NiKGxpYnhs X19lZ2MgKmVnYywKICAgICBjZHMtPm51bV9uaWNzID0gMDsKIAogICAgIC8qIGNsZWFuIGRpc2sg Ki8KLSAgICBmb3IgKGkgPSAwOyBpIDwgY2RzLT5udW1fZGlza3M7IGkrKykKLSAgICAgICAgbGli eGxfZGV2aWNlX2Rpc2tfZGlzcG9zZSgmY2RzLT5kaXNrc1tpXSk7Ci0gICAgZnJlZShjZHMtPmRp c2tzKTsKKyAgICBsaWJ4bF9fZGV2aWNlX2xpc3RfZnJlZSgmbGlieGxfX2Rpc2tfZGV2dHlwZSwg Y2RzLT5kaXNrcywgY2RzLT5udW1fZGlza3MpOwogICAgIGNkcy0+ZGlza3MgPSBOVUxMOwogICAg IGNkcy0+bnVtX2Rpc2tzID0gMDsKIApkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfY3Jl YXRlLmMgYi90b29scy9saWJ4bC9saWJ4bF9jcmVhdGUuYwppbmRleCA3MDA0OGZlLi4wZWY1NGQy IDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9jcmVhdGUuYworKysgYi90b29scy9saWJ4 bC9saWJ4bF9jcmVhdGUuYwpAQCAtOTM4LDggKzkzOCw4IEBAIHN0YXRpYyB2b2lkIGluaXRpYXRl X2RvbWFpbl9jcmVhdGUobGlieGxfX2VnYyAqZWdjLAogICAgIHN0b3JlX2xpYnhsX2VudHJ5KGdj LCBkb21pZCwgJmRfY29uZmlnLT5iX2luZm8pOwogCiAgICAgZm9yIChpID0gMDsgaSA8IGRfY29u ZmlnLT5udW1fZGlza3M7IGkrKykgewotICAgICAgICByZXQgPSBsaWJ4bF9fZGV2aWNlX2Rpc2tf c2V0ZGVmYXVsdChnYywgZG9taWQsICZkX2NvbmZpZy0+ZGlza3NbaV0sCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlKTsKKyAgICAgICAgcmV0ID0gbGli eGxfX2Rpc2tfZGV2dHlwZS5zZXRfZGVmYXVsdChnYywgZG9taWQsICZkX2NvbmZpZy0+ZGlza3Nb aV0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2Up OwogICAgICAgICBpZiAocmV0KSB7CiAgICAgICAgICAgICBMT0dEKEVSUk9SLCBkb21pZCwgIlVu YWJsZSB0byBzZXQgZGlzayBkZWZhdWx0cyBmb3IgZGlzayAlZCIsIGkpOwogICAgICAgICAgICAg Z290byBlcnJvcl9vdXQ7CmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9kaXNrLmMgYi90 b29scy9saWJ4bC9saWJ4bF9kaXNrLmMKaW5kZXggOTFjNzdhZC4uMGY3Mjg3NCAxMDA2NDQKLS0t IGEvdG9vbHMvbGlieGwvbGlieGxfZGlzay5jCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2Rpc2su YwpAQCAtMTUyLDggKzE1Miw4IEBAIHZvaWQgbGlieGxfZXZkaXNhYmxlX2Rpc2tfZWplY3QobGli eGxfY3R4ICpjdHgsIGxpYnhsX2V2Z2VuX2Rpc2tfZWplY3QgKmV2ZykgewogICAgIEdDX0ZSRUU7 CiB9CiAKLWludCBsaWJ4bF9fZGV2aWNlX2Rpc2tfc2V0ZGVmYXVsdChsaWJ4bF9fZ2MgKmdjLCB1 aW50MzJfdCBkb21pZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9k ZXZpY2VfZGlzayAqZGlzaywgYm9vbCBob3RwbHVnKQorc3RhdGljIGludCBsaWJ4bF9fZGV2aWNl X2Rpc2tfc2V0ZGVmYXVsdChsaWJ4bF9fZ2MgKmdjLCB1aW50MzJfdCBkb21pZCwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfZGV2aWNlX2Rpc2sgKmRpc2ss IGJvb2wgaG90cGx1ZykKIHsKICAgICBpbnQgcmM7CiAKQEAgLTE4MSw3ICsxODEsNyBAQCBpbnQg bGlieGxfX2RldmljZV9kaXNrX3NldGRlZmF1bHQobGlieGxfX2djICpnYywgdWludDMyX3QgZG9t aWQsCiAgICAgcmV0dXJuIHJjOwogfQogCi1pbnQgbGlieGxfX2RldmljZV9mcm9tX2Rpc2sobGli eGxfX2djICpnYywgdWludDMyX3QgZG9taWQsCitzdGF0aWMgaW50IGxpYnhsX19kZXZpY2VfZnJv bV9kaXNrKGxpYnhsX19nYyAqZ2MsIHVpbnQzMl90IGRvbWlkLAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBjb25zdCBsaWJ4bF9kZXZpY2VfZGlzayAqZGlzaywKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2RldmljZSAqZGV2aWNlKQogewpAQCAt NDcyLDE3ICs0NzIsMTUgQEAgc3RhdGljIHZvaWQgbGlieGxfX2RldmljZV9kaXNrX2FkZChsaWJ4 bF9fZWdjICplZ2MsIHVpbnQzMl90IGRvbWlkLAogICAgIGRldmljZV9kaXNrX2FkZChlZ2MsIGRv bWlkLCBkaXNrLCBhb2RldiwgTlVMTCwgTlVMTCk7CiB9CiAKLXN0YXRpYyBpbnQgbGlieGxfX2Rl dmljZV9kaXNrX2Zyb21feGVuc3RvcmUobGlieGxfX2djICpnYywKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqbGlieGxfcGF0aCwKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfZGV2aWNlX2Rpc2sgKmRpc2sp CitzdGF0aWMgaW50IGxpYnhsX19kaXNrX2Zyb21feGVuc3RvcmUobGlieGxfX2djICpnYywgY29u c3QgY2hhciAqbGlieGxfcGF0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBsaWJ4bF9kZXZpZCBkZXZpZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBsaWJ4bF9kZXZpY2VfZGlzayAqZGlzaykKIHsKICAgICBsaWJ4bF9jdHggKmN0eCA9IGxpYnhs X19nY19vd25lcihnYyk7CiAgICAgdW5zaWduZWQgaW50IGxlbjsKICAgICBjaGFyICp0bXA7CiAg ICAgaW50IHJjOwogCi0gICAgbGlieGxfZGV2aWNlX2Rpc2tfaW5pdChkaXNrKTsKLQogICAgIGNv bnN0IGNoYXIgKmJhY2tlbmRfcGF0aDsKICAgICByYyA9IGxpYnhsX194c19yZWFkX2NoZWNrZWQo Z2MsIFhCVF9OVUxMLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHQ1NQUklOVEYo IiVzL2JhY2tlbmQiLCBsaWJ4bF9wYXRoKSwKQEAgLTYxNyw2OSArNjE1LDI4IEBAIGludCBsaWJ4 bF92ZGV2X3RvX2RldmljZV9kaXNrKGxpYnhsX2N0eCAqY3R4LCB1aW50MzJfdCBkb21pZCwKICAg ICB9CiAgICAgbGlieGxfcGF0aCA9IEdDU1BSSU5URigiJXMvZGV2aWNlL3ZiZC8lZCIsIGRvbV94 bF9wYXRoLCBkZXZpZCk7CiAKLSAgICByYyA9IGxpYnhsX19kZXZpY2VfZGlza19mcm9tX3hlbnN0 b3JlKGdjLCBsaWJ4bF9wYXRoLCBkaXNrKTsKKyAgICByYyA9IGxpYnhsX19kaXNrX2Zyb21feGVu c3RvcmUoZ2MsIGxpYnhsX3BhdGgsIGRldmlkLCBkaXNrKTsKIG91dDoKICAgICBHQ19GUkVFOwog ICAgIHJldHVybiByYzsKIH0KIAotc3RhdGljIGludCBsaWJ4bF9fYXBwZW5kX2Rpc2tfbGlzdChs aWJ4bF9fZ2MgKmdjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHVpbnQzMl90IGRvbWlkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGxpYnhsX2RldmljZV9kaXNrICoqZGlza3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgaW50ICpuZGlza3MpCi17Ci0gICAgY2hhciAqbGlieGxfZGlyX3Bh dGggPSBOVUxMOwotICAgIGNoYXIgKipkaXIgPSBOVUxMOwotICAgIHVuc2lnbmVkIGludCBuID0g MDsKLSAgICBsaWJ4bF9kZXZpY2VfZGlzayAqcGRpc2sgPSBOVUxMLCAqcGRpc2tfZW5kID0gTlVM TDsKLSAgICBpbnQgcmM9MDsKLSAgICBpbnQgaW5pdGlhbF9kaXNrcyA9ICpuZGlza3M7Ci0KLSAg ICBsaWJ4bF9kaXJfcGF0aCA9IEdDU1BSSU5URigiJXMvZGV2aWNlL3ZiZCIsCi0gICAgICAgICAg ICAgICAgICAgICAgICBsaWJ4bF9feHNfbGlieGxfcGF0aChnYywgZG9taWQpKTsKLSAgICBkaXIg PSBsaWJ4bF9feHNfZGlyZWN0b3J5KGdjLCBYQlRfTlVMTCwgbGlieGxfZGlyX3BhdGgsICZuKTsK LSAgICBpZiAoZGlyICYmIG4pIHsKLSAgICAgICAgbGlieGxfZGV2aWNlX2Rpc2sgKnRtcDsKLSAg ICAgICAgdG1wID0gcmVhbGxvYygqZGlza3MsIHNpemVvZiAobGlieGxfZGV2aWNlX2Rpc2spICog KCpuZGlza3MgKyBuKSk7Ci0gICAgICAgIGlmICh0bXAgPT0gTlVMTCkKLSAgICAgICAgICAgIHJl dHVybiBFUlJPUl9OT01FTTsKLSAgICAgICAgKmRpc2tzID0gdG1wOwotICAgICAgICBwZGlzayA9 ICpkaXNrcyArIGluaXRpYWxfZGlza3M7Ci0gICAgICAgIHBkaXNrX2VuZCA9ICpkaXNrcyArIGlu aXRpYWxfZGlza3MgKyBuOwotICAgICAgICBmb3IgKDsgcGRpc2sgPCBwZGlza19lbmQ7IHBkaXNr KyssIGRpcisrKSB7Ci0gICAgICAgICAgICBjb25zdCBjaGFyICpwOwotICAgICAgICAgICAgcCA9 IEdDU1BSSU5URigiJXMvJXMiLCBsaWJ4bF9kaXJfcGF0aCwgKmRpcik7Ci0gICAgICAgICAgICBp ZiAoKHJjPWxpYnhsX19kZXZpY2VfZGlza19mcm9tX3hlbnN0b3JlKGdjLCBwLCBwZGlzaykpKQot ICAgICAgICAgICAgICAgIGdvdG8gb3V0OwotICAgICAgICAgICAgKm5kaXNrcyArPSAxOwotICAg ICAgICB9Ci0gICAgfQotb3V0OgotICAgIHJldHVybiByYzsKLX0KLQogbGlieGxfZGV2aWNlX2Rp c2sgKmxpYnhsX2RldmljZV9kaXNrX2xpc3QobGlieGxfY3R4ICpjdHgsIHVpbnQzMl90IGRvbWlk LCBpbnQgKm51bSkKIHsKLSAgICBHQ19JTklUKGN0eCk7Ci0gICAgbGlieGxfZGV2aWNlX2Rpc2sg KmRpc2tzID0gTlVMTDsKLSAgICBpbnQgcmM7CisgICAgbGlieGxfZGV2aWNlX2Rpc2sgKnI7CiAK LSAgICAqbnVtID0gMDsKKyAgICBHQ19JTklUKGN0eCk7CiAKLSAgICByYyA9IGxpYnhsX19hcHBl bmRfZGlza19saXN0KGdjLCBkb21pZCwgJmRpc2tzLCBudW0pOwotICAgIGlmIChyYykgZ290byBv dXRfZXJyOworICAgIHIgPSBsaWJ4bF9fZGV2aWNlX2xpc3QoZ2MsICZsaWJ4bF9fZGlza19kZXZ0 eXBlLCBkb21pZCwgImRpc2siLCBudW0pOwogCiAgICAgR0NfRlJFRTsKLSAgICByZXR1cm4gZGlz a3M7CiAKLW91dF9lcnI6Ci0gICAgTE9HKEVSUk9SLCAiVW5hYmxlIHRvIGxpc3QgZGlza3MiKTsK LSAgICB3aGlsZSAoZGlza3MgJiYgKm51bSkgewotICAgICAgICAoKm51bSktLTsKLSAgICAgICAg bGlieGxfZGV2aWNlX2Rpc2tfZGlzcG9zZSgmZGlza3NbKm51bV0pOwotICAgIH0KLSAgICBmcmVl KGRpc2tzKTsKLSAgICByZXR1cm4gTlVMTDsKKyAgICByZXR1cm4gcjsKK30KKwordm9pZCBsaWJ4 bF9kZXZpY2VfZGlza19saXN0X2ZyZWUobGlieGxfZGV2aWNlX2Rpc2sqIGxpc3QsIGludCBudW0p Cit7CisgICAgbGlieGxfX2RldmljZV9saXN0X2ZyZWUoJmxpYnhsX19kaXNrX2RldnR5cGUsIGxp c3QsIG51bSk7CiB9CiAKIGludCBsaWJ4bF9kZXZpY2VfZGlza19nZXRpbmZvKGxpYnhsX2N0eCAq Y3R4LCB1aW50MzJfdCBkb21pZCwKQEAgLTc4Myw3ICs3NDAsNyBAQCBpbnQgbGlieGxfY2Ryb21f aW5zZXJ0KGxpYnhsX2N0eCAqY3R4LCB1aW50MzJfdCBkb21pZCwgbGlieGxfZGV2aWNlX2Rpc2sg KmRpc2ssCiAgICAgICAgIGdvdG8gb3V0OwogICAgIH0KIAotICAgIGRpc2tzID0gbGlieGxfZGV2 aWNlX2Rpc2tfbGlzdChjdHgsIGRvbWlkLCAmbnVtKTsKKyAgICBkaXNrcyA9IGxpYnhsX19kZXZp Y2VfbGlzdChnYywgJmxpYnhsX19kaXNrX2RldnR5cGUsIGRvbWlkLCAiZGlzayIsICZudW0pOwog ICAgIGZvciAoaSA9IDA7IGkgPCBudW07IGkrKykgewogICAgICAgICBpZiAoZGlza3NbaV0uaXNf Y2Ryb20gJiYgIXN0cmNtcChkaXNrLT52ZGV2LCBkaXNrc1tpXS52ZGV2KSkKICAgICAgICAgewpA QCAtOTIxLDkgKzg3OCw3IEBAIGludCBsaWJ4bF9jZHJvbV9pbnNlcnQobGlieGxfY3R4ICpjdHgs IHVpbnQzMl90IGRvbWlkLCBsaWJ4bF9kZXZpY2VfZGlzayAqZGlzaywKIAogb3V0OgogICAgIGxp YnhsX194c190cmFuc2FjdGlvbl9hYm9ydChnYywgJnQpOwotICAgIGZvciAoaSA9IDA7IGkgPCBu dW07IGkrKykKLSAgICAgICAgbGlieGxfZGV2aWNlX2Rpc2tfZGlzcG9zZSgmZGlza3NbaV0pOwot ICAgIGZyZWUoZGlza3MpOworICAgIGxpYnhsX19kZXZpY2VfbGlzdF9mcmVlKCZsaWJ4bF9fZGlz a19kZXZ0eXBlLCBkaXNrcywgbnVtKTsKICAgICBsaWJ4bF9kZXZpY2VfZGlza19kaXNwb3NlKCZk aXNrX2VtcHR5KTsKICAgICBsaWJ4bF9kZXZpY2VfZGlza19kaXNwb3NlKCZkaXNrX3NhdmVkKTsK ICAgICBsaWJ4bF9kb21haW5fY29uZmlnX2Rpc3Bvc2UoJmRfY29uZmlnKTsKQEAgLTEyNTAsNiAr MTIwNSw4IEBAIHN0YXRpYyBpbnQgbGlieGxfZGV2aWNlX2Rpc2tfZG1fbmVlZGVkKHZvaWQgKmUs IHVuc2lnbmVkIGRvbWlkKQogREVGSU5FX0RFVklDRV9UWVBFX1NUUlVDVChkaXNrLAogICAgIC5t ZXJnZSAgICAgICA9IGxpYnhsX2RldmljZV9kaXNrX21lcmdlLAogICAgIC5kbV9uZWVkZWQgICA9 IGxpYnhsX2RldmljZV9kaXNrX2RtX25lZWRlZCwKKyAgICAuZnJvbV94ZW5zdG9yZSA9IChpbnQg KCopKGxpYnhsX19nYyAqLCBjb25zdCBjaGFyICosIGxpYnhsX2RldmlkLCB2b2lkICopKQorICAg ICAgICAgICAgICAgICAgICAgbGlieGxfX2Rpc2tfZnJvbV94ZW5zdG9yZSwKICAgICAuc2tpcF9h dHRhY2ggPSAxCiApOwogCmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5o IGIvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaAppbmRleCA2YjIxODEyLi5kZTE3MDZjIDEw MDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oCisrKyBiL3Rvb2xzL2xpYnhs L2xpYnhsX2ludGVybmFsLmgKQEAgLTEyNDIsOSArMTI0Miw2IEBAIF9oaWRkZW4gaW50IGxpYnhs X19kb21haW5fY3JlYXRlX2luZm9fc2V0ZGVmYXVsdChsaWJ4bF9fZ2MgKmdjLAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX2RvbWFpbl9jcmVhdGVfaW5mbyAq Y19pbmZvKTsKIF9oaWRkZW4gaW50IGxpYnhsX19kb21haW5fYnVpbGRfaW5mb19zZXRkZWZhdWx0 KGxpYnhsX19nYyAqZ2MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg bGlieGxfZG9tYWluX2J1aWxkX2luZm8gKmJfaW5mbyk7Ci1faGlkZGVuIGludCBsaWJ4bF9fZGV2 aWNlX2Rpc2tfc2V0ZGVmYXVsdChsaWJ4bF9fZ2MgKmdjLCB1aW50MzJfdCBkb21pZCwKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX2RldmljZV9kaXNrICpk aXNrLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBob3Rw bHVnKTsKIF9oaWRkZW4gaW50IGxpYnhsX19kZXZpY2VfbmljX3NldGRlZmF1bHQobGlieGxfX2dj ICpnYywgdWludDMyX3QgZG9taWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGxpYnhsX2RldmljZV9uaWMgKm5pYywgYm9vbCBob3RwbHVnKTsKIF9oaWRkZW4gdm9p ZCBsaWJ4bF9fcmRtX3NldGRlZmF1bHQobGlieGxfX2djICpnYywKQEAgLTE3NTQsMTAgKzE3NTEs NiBAQCBfaGlkZGVuIGNoYXIgKmxpYnhsX19ibGt0YXBfZGV2cGF0aChsaWJ4bF9fZ2MgKmdjLAog ICovCiBfaGlkZGVuIGludCBsaWJ4bF9fZGV2aWNlX2Rlc3Ryb3lfdGFwZGlzayhsaWJ4bF9fZ2Mg KmdjLCBjb25zdCBjaGFyICpwYXJhbXMpOwogCi1faGlkZGVuIGludCBsaWJ4bF9fZGV2aWNlX2Zy b21fZGlzayhsaWJ4bF9fZ2MgKmdjLCB1aW50MzJfdCBkb21pZCwKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgY29uc3QgbGlieGxfZGV2aWNlX2Rpc2sgKmRpc2ssCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19kZXZpY2UgKmRldmljZSk7Ci0KIC8q IENhbGxzIHBvbGwoKSBhZ2FpbiAtIHVzZWZ1bCB0byBjaGVjayB3aGV0aGVyIGEgc2lnbmFsZWQg Y29uZGl0aW9uCiAgKiBpcyBzdGlsbCB0cnVlLiAgQ2Fubm90IGZhaWwuICBSZXR1cm5zIGN1cnJl bnRseS10cnVlIHJldmVudHMuICovCiBfaGlkZGVuIHNob3J0IGxpYnhsX19mZF9wb2xsX3JlY2hl Y2sobGlieGxfX2VnYyAqZWdjLCBpbnQgZmQsIHNob3J0IGV2ZW50cyk7CmRpZmYgLS1naXQgYS90 b29scy9vY2FtbC9saWJzL3hsL3hlbmxpZ2h0X3N0dWJzLmMgYi90b29scy9vY2FtbC9saWJzL3hs L3hlbmxpZ2h0X3N0dWJzLmMKaW5kZXggOThiNTJiOS4uNTVmMDlkNyAxMDA2NDQKLS0tIGEvdG9v bHMvb2NhbWwvbGlicy94bC94ZW5saWdodF9zdHVicy5jCisrKyBiL3Rvb2xzL29jYW1sL2xpYnMv eGwveGVubGlnaHRfc3R1YnMuYwpAQCAtNzYzLDkgKzc2Myw4IEBAIHZhbHVlIHN0dWJfeGxfZGV2 aWNlX2Rpc2tfbGlzdCh2YWx1ZSBjdHgsIHZhbHVlIGRvbWlkKQogCQlGaWVsZChsaXN0LCAxKSA9 IHRlbXA7CiAJCXRlbXAgPSBsaXN0OwogCQlTdG9yZV9maWVsZChsaXN0LCAwLCBWYWxfZGV2aWNl X2Rpc2soJmNfbGlzdFtpXSkpOwotCQlsaWJ4bF9kZXZpY2VfZGlza19kaXNwb3NlKCZjX2xpc3Rb aV0pOwogCX0KLQlmcmVlKGNfbGlzdCk7CisJbGlieGxfZGV2aWNlX2Rpc2tfbGlzdF9mcmVlKGNf bGlzdCwgbmIpOwogCiAJQ0FNTHJldHVybihsaXN0KTsKIH0KZGlmZiAtLWdpdCBhL3Rvb2xzL3hs L3hsX2Jsb2NrLmMgYi90b29scy94bC94bF9ibG9jay5jCmluZGV4IGRhMzM3ZWYuLmFjYWY5Yjkg MTAwNjQ0Ci0tLSBhL3Rvb2xzL3hsL3hsX2Jsb2NrLmMKKysrIGIvdG9vbHMveGwveGxfYmxvY2su YwpAQCAtODgsOSArODgsOCBAQCBpbnQgbWFpbl9ibG9ja2xpc3QoaW50IGFyZ2MsIGNoYXIgKiph cmd2KQogICAgICAgICAgICAgICAgICAgICAgICBkaXNraW5mby5zdGF0ZSwgZGlza2luZm8uZXZ0 Y2gsIGRpc2tpbmZvLnJyZWYsIGRpc2tpbmZvLmJhY2tlbmQpOwogICAgICAgICAgICAgICAgIGxp YnhsX2Rpc2tpbmZvX2Rpc3Bvc2UoJmRpc2tpbmZvKTsKICAgICAgICAgICAgIH0KLSAgICAgICAg ICAgIGxpYnhsX2RldmljZV9kaXNrX2Rpc3Bvc2UoJmRpc2tzW2ldKTsKICAgICAgICAgfQotICAg ICAgICBmcmVlKGRpc2tzKTsKKyAgICAgICAgbGlieGxfZGV2aWNlX2Rpc2tfbGlzdF9mcmVlKGRp c2tzLCBuYik7CiAgICAgfQogICAgIHJldHVybiAwOwogfQotLSAKMi43LjQKCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBs aXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2 ZWwK