From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtpbg202.qq.com (smtpbg202.qq.com [184.105.206.29]) by dpdk.org (Postfix) with ESMTP id A2F6827D for ; Fri, 22 Feb 2019 07:16:55 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1550816212; bh=8Acyhr2JZkLLXTOkNt9DecmrviNth73CQx0hEtEk/zg=; h=From:To:Subject:Mime-Version:Content-Type:Content-Transfer-Encoding:Date:Message-ID; b=cEfQQveEydVeT/UvK0Hr5tlBLmCH4vgCCE1YNe0nf7DJIx7D7DSBCqbLiAdIMb9Lm dxJrARVJRxsmiGn2o3yP5c51UYgmhqhaN3nnhz2iCieAliro9BR46hF8LABqNPgWqZ gcW1Yzd7B9lrTszh4K8CGmCvIEOnqfseGAjhiU7M= X-QQ-FEAT: Tas2jRaQZEOSkUUhFa/8dsWYZup8vznEuhRQ6lZ0a0xFFeOM7I0nRLasugR93 gkuac5gzTYYAXeJ9PRTrXDari2i6shN7APLsXs6eDbTzbBaBhwVwsnDgbLt2H+JWUfT+crh IFzQJzDfvp6a4YiQnpreV9OM6e/3/0IxQxT1IXciLUpcEZC8/7+rDLovtWyQwvrrHrcUaTP SwbFOOE/HR3pYAjaINCSDPtSHUFmHmuFZR4g79kC8fVql2j32f79M0DznKQRDd3028FiyMq XQMx1W9i9BmwNBXp7MjiN6Ehz/Ltkn4lU+aA== X-QQ-SSF: 00000000000000F0 X-QQ-WAPMAIL: 1 X-QQ-BUSINESS-ORIGIN: 2 X-Originating-IP: 117.136.157.204 X-QQ-STYLE: X-QQ-mid: riamail57t1550816210t2398316 From: "=?gb18030?B?zfK/ob3c?=" To: "=?gb18030?B?ZGV2?=" Mime-Version: 1.0 Date: Fri, 22 Feb 2019 14:16:50 +0800 X-Priority: 3 Message-ID: X-QQ-MIME: TCMime 1.0 by Tencent X-Mailer: QQMail 2.x X-QQ-Mailer: QQMail 2.x X-QQ-SENDSIZE: 520 Received: from qq.com (unknown [127.0.0.1]) by smtp.qq.com (ESMTP) with SMTP id ; Fri, 22 Feb 2019 14:16:51 +0800 (CST) Feedback-ID: riamail:foxmail.com:bgforeign:bgforeign2 X-QQ-Bgrelay: 1 Content-Type: text/plain; charset="gb18030" Content-Transfer-Encoding: base64 X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Subject: [dpdk-dev] [PATCH] lib/metrics: add unregister api for metrics X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Feb 2019 06:16:59 -0000 VXNlIHRoZSBiaXRtYXAgbGliIHRvIGhlbHAgbWFpbnRhaW4gdGhlIG1ldHJpY3MuIHdlIGNh biBkeW5hbWljYWxseQ0KIGFkZCBhbmQgcmVtb3ZlIG1ldHJpY3MgZGF0YS4gQWZ0ZXIgdW5p bml0IGxhdGVuY3ksIGl0IGNhbg0KIHJlbW92ZSBpdHNlbGYgZnJvbSB0aGUgbWV0cmljcyB0 byBtYWtlIHRoZSByZXN1bHQgZnJvbSBydGVfbWV0cmljc19nZXRfbmFtZXMgbW9yZSBzaW1w bGUuDQoNClNpZ25lZC1vZmYtYnk6IGp1bmthIDx3YW4uanVuamllQGZveG1haWwuY29tPg0K LS0tDQogbGliL2xpYnJ0ZV9sYXRlbmN5c3RhdHMvcnRlX2xhdGVuY3lzdGF0cy5jIHwgICA0 ICstDQogbGliL2xpYnJ0ZV9tZXRyaWNzL3J0ZV9tZXRyaWNzLmMgICAgICAgICAgIHwgMTg5 ICsrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tDQogbGliL2xpYnJ0ZV9tZXRyaWNzL3J0 ZV9tZXRyaWNzLmggICAgICAgICAgIHwgIDIxICsrKysNCiAzIGZpbGVzIGNoYW5nZWQsIDE2 MSBpbnNlcnRpb25zKCspLCA1MyBkZWxldGlvbnMoLSkNCg0KZGlmZiAtLWdpdCBhL2xpYi9s aWJydGVfbGF0ZW5jeXN0YXRzL3J0ZV9sYXRlbmN5c3RhdHMuYyBiL2xpYi9saWJydGVfbGF0 ZW5jeXN0YXRzL3J0ZV9sYXRlbmN5c3RhdHMuYw0KaW5kZXggNTcxNTU0OS4uYjE4YzNlYSAx MDA2NDQNCi0tLSBhL2xpYi9saWJydGVfbGF0ZW5jeXN0YXRzL3J0ZV9sYXRlbmN5c3RhdHMu Yw0KKysrIGIvbGliL2xpYnJ0ZV9sYXRlbmN5c3RhdHMvcnRlX2xhdGVuY3lzdGF0cy5jDQpA QCAtMjkxLDcgKzI5MSw5IEBAIHN0cnVjdCBsYXRlbmN5X3N0YXRzX25hbWVvZmYgew0KICJx aWQ9JWRcbiIsIHBpZCwgcWlkKTsNCiB9DQogfQ0KLQ0KKw0KK3J0ZV9tZXRyaWNzX3VucmVn X3ZhbHVlcyhsYXRlbmN5X3N0YXRzX2luZGV4LCBOVU1fTEFURU5DWV9TVEFUUyk7DQorDQog LyogZnJlZSB1cCB0aGUgbWVtem9uZSAqLw0KIG16ID0gcnRlX21lbXpvbmVfbG9va3VwKE1a X1JURV9MQVRFTkNZX1NUQVRTKTsNCiBpZiAobXopDQpkaWZmIC0tZ2l0IGEvbGliL2xpYnJ0 ZV9tZXRyaWNzL3J0ZV9tZXRyaWNzLmMgYi9saWIvbGlicnRlX21ldHJpY3MvcnRlX21ldHJp Y3MuYw0KaW5kZXggOTlhOTZiNi4uNzA0ZTVhZSAxMDA2NDQNCi0tLSBhL2xpYi9saWJydGVf bWV0cmljcy9ydGVfbWV0cmljcy5jDQorKysgYi9saWIvbGlicnRlX21ldHJpY3MvcnRlX21l dHJpY3MuYw0KQEAgLTEyLDYgKzEyLDcgQEANCiAjaW5jbHVkZSA8cnRlX2xjb3JlLmg+DQog I2luY2x1ZGUgPHJ0ZV9tZW16b25lLmg+DQogI2luY2x1ZGUgPHJ0ZV9zcGlubG9jay5oPg0K KyNpbmNsdWRlIDxydGVfYml0bWFwLmg+DQogDQogI2RlZmluZSBSVEVfTUVUUklDU19NQVhf TUVUUklDUyAyNTYNCiAjZGVmaW5lIFJURV9NRVRSSUNTX01FTVpPTkVfTkFNRSAiUlRFX01F VFJJQ1MiDQpAQCAtMjgsMTAgKzI5LDcgQEAgc3RydWN0IHJ0ZV9tZXRyaWNzX21ldGFfcyB7 DQogdWludDY0X3QgdmFsdWVbUlRFX01BWF9FVEhQT1JUU107DQogLyoqIFVzZWQgZm9yIGds b2JhbCBtZXRyaWNzICovDQogdWludDY0X3QgZ2xvYmFsX3ZhbHVlOw0KLS8qKiBJbmRleCBv ZiBuZXh0IHJvb3QgZWxlbWVudCAoemVybyBmb3Igbm9uZSkgKi8NCi11aW50MTZfdCBpZHhf bmV4dF9zZXQ7DQotLyoqIEluZGV4IG9mIG5leHQgbWV0cmljIGluIHNldCAoemVybyBmb3Ig bm9uZSkgKi8NCi11aW50MTZfdCBpZHhfbmV4dF9zdGF0Ow0KKw0KIH07DQogDQogLyoqDQpA QCAtNDMsMTQgKzQxLDEyIEBAIHN0cnVjdCBydGVfbWV0cmljc19tZXRhX3Mgew0KICAqIHBy b2Nlc3NlcyBpcyBub3QgZ3VhcmFudGVlZC4NCiAgKi8NCiBzdHJ1Y3QgcnRlX21ldHJpY3Nf ZGF0YV9zIHsNCi0vKiogICBJbmRleCBvZiBsYXN0IG1ldGFkYXRhIGVudHJ5IHdpdGggdmFs aWQgZGF0YS4NCi0gKiBUaGlzIHZhbHVlIGlzIG5vdCB2YWxpZCBpZiBjbnRfc3RhdHMgaXMg emVyby4NCi0gKi8NCi11aW50MTZfdCBpZHhfbGFzdF9zZXQ7DQogLyoqICAgTnVtYmVyIG9m IG1ldHJpY3MuICovDQogdWludDE2X3QgY250X3N0YXRzOw0KIC8qKiBNZXRyaWMgZGF0YSBt ZW1vcnkgYmxvY2suICovDQogc3RydWN0IHJ0ZV9tZXRyaWNzX21ldGFfcyBtZXRhZGF0YVtS VEVfTUVUUklDU19NQVhfTUVUUklDU107DQorLyoqIE1ldHJpYyBkYXRhIGJpdG1hcCBpbiB1 c2UgKi8NCitzdHJ1Y3QgcnRlX2JpdG1hcCAqYml0czsNCiAvKiogTWV0cmljIGRhdGEgYWNj ZXNzIGxvY2sgKi8NCiBydGVfc3BpbmxvY2tfdCBsb2NrOw0KIH07DQpAQCAtNjAsNiArNTYs NyBAQCBzdHJ1Y3QgcnRlX21ldHJpY3NfZGF0YV9zIHsNCiB7DQogc3RydWN0IHJ0ZV9tZXRy aWNzX2RhdGFfcyAqc3RhdHM7DQogY29uc3Qgc3RydWN0IHJ0ZV9tZW16b25lICptZW16b25l Ow0KK3VpbnQzMl90IGJtcF9zaXplOw0KIA0KIGlmIChydGVfZWFsX3Byb2Nlc3NfdHlwZSgp ICE9IFJURV9QUk9DX1BSSU1BUlkpDQogcmV0dXJuOw0KQEAgLTczLDYgKzcwLDI0IEBAIHN0 cnVjdCBydGVfbWV0cmljc19kYXRhX3Mgew0KIHJ0ZV9leGl0KEVYSVRfRkFJTFVSRSwgIlVu YWJsZSB0byBhbGxvY2F0ZSBzdGF0cyBtZW16b25lXG4iKTsNCiBzdGF0cyA9IG1lbXpvbmUt PmFkZHI7DQogbWVtc2V0KHN0YXRzLCAwLCBzaXplb2Yoc3RydWN0IHJ0ZV9tZXRyaWNzX2Rh dGFfcykpOw0KKw0KK2JtcF9zaXplID0NCitydGVfYml0bWFwX2dldF9tZW1vcnlfZm9vdHBy aW50KFJURV9NRVRSSUNTX01BWF9NRVRSSUNTKTsNCit2b2lkICpibXBtZW0gPSBydGVfbWFs bG9jKCJtZXRyaWNzX2JpdHMiLCBibXBfc2l6ZSwNCitSVEVfQ0FDSEVfTElORV9TSVpFKTsN CitpZiAoYm1wbWVtID09IE5VTEwpIHsNCitydGVfZXhpdChFWElUX0ZBSUxVUkUsIA0KKyJG YWlsZWQgdG8gYWxsb2NhdGUgdmxhbiBiaXRtYXAgZm9yIGRldmljZVxuIik7DQorfQ0KKw0K K3N0YXRzLT5iaXRzID0gcnRlX2JpdG1hcF9pbml0KFJURV9NRVRSSUNTX01BWF9NRVRSSUNT LA0KK2JtcG1lbSwgYm1wX3NpemUpOw0KK2lmIChzdGF0cy0+Yml0cyA9PSBOVUxMKSB7DQor cnRlX2V4aXQoRVhJVF9GQUlMVVJFLCANCisiRmFpbGVkIHRvIGluaXQgdmxhbiBiaXRtYXAg Zm9yIGJvbmRlZCBkZXZpY2UgXG4iKTsNCitydGVfZnJlZShibXBtZW0pOw0KK30NCisgICAg DQogcnRlX3NwaW5sb2NrX2luaXQoJnN0YXRzLT5sb2NrKTsNCiB9DQogDQpAQCAtOTAsNyAr MTA1LDcgQEAgc3RydWN0IHJ0ZV9tZXRyaWNzX2RhdGFfcyB7DQogc3RydWN0IHJ0ZV9tZXRy aWNzX21ldGFfcyAqZW50cnkgPSBOVUxMOw0KIHN0cnVjdCBydGVfbWV0cmljc19kYXRhX3Mg KnN0YXRzOw0KIGNvbnN0IHN0cnVjdCBydGVfbWVtem9uZSAqbWVtem9uZTsNCi11aW50MTZf dCBpZHhfbmFtZTsNCit1aW50MTZfdCBpZHhfbmFtZSxpZHg7DQogdWludDE2X3QgaWR4X2Jh c2U7DQogDQogLyogU29tZSBzYW5pdHkgY2hlY2tzICovDQpAQCAtMTEwLDE5ICsxMjUsMzYg QEAgc3RydWN0IHJ0ZV9tZXRyaWNzX2RhdGFfcyB7DQogDQogcnRlX3NwaW5sb2NrX2xvY2so JnN0YXRzLT5sb2NrKTsNCiANCi0vKiBPdmVyd3JpdHRlbiBsYXRlciBpZiB0aGlzIGlzIGFj dHVhbGx5IGZpcnN0IHNldC4uICovDQotc3RhdHMtPm1ldGFkYXRhW3N0YXRzLT5pZHhfbGFz dF9zZXRdLmlkeF9uZXh0X3NldCA9IHN0YXRzLT5jbnRfc3RhdHM7DQotDQotc3RhdHMtPmlk eF9sYXN0X3NldCA9IGlkeF9iYXNlID0gc3RhdHMtPmNudF9zdGF0czsNCi0NCi1mb3IgKGlk eF9uYW1lID0gMDsgaWR4X25hbWUgPCBjbnRfbmFtZXM7IGlkeF9uYW1lKyspIHsNCi1lbnRy eSA9ICZzdGF0cy0+bWV0YWRhdGFbaWR4X25hbWUgKyBzdGF0cy0+Y250X3N0YXRzXTsNCi1z dHJsY3B5KGVudHJ5LT5uYW1lLCBuYW1lc1tpZHhfbmFtZV0sIFJURV9NRVRSSUNTX01BWF9O QU1FX0xFTik7DQotbWVtc2V0KGVudHJ5LT52YWx1ZSwgMCwgc2l6ZW9mKGVudHJ5LT52YWx1 ZSkpOw0KLWVudHJ5LT5pZHhfbmV4dF9zdGF0ID0gaWR4X25hbWUgKyBzdGF0cy0+Y250X3N0 YXRzICsgMTsNCisgICAgLy9zZWFyY2ggZm9yIGEgY29udGludW91cyBhcnJheSwgZmFpbCBp ZiBub3QgZW5vdWdoDQorZm9yIChpZHhfbmFtZSA9IDA7IGlkeF9uYW1lIDwgUlRFX01FVFJJ Q1NfTUFYX01FVFJJQ1M7IGlkeF9uYW1lKyspDQorew0KK2lmKCFydGVfYml0bWFwX2dldChz dGF0cy0+Yml0cyxpZHhfbmFtZSkpDQorew0KK2lkeF9iYXNlID0gaWR4X25hbWU7DQoraWYo aWR4X2Jhc2UgKyBjbnRfbmFtZXMgPiBSVEVfTUVUUklDU19NQVhfTUVUUklDUykNCityZXR1 cm4gLUVOT01FTTsNCitmb3IoaWR4ID0gaWR4X2Jhc2U7IGlkeCA8IGlkeF9iYXNlK2NudF9u YW1lczsgaWR4KyspDQorew0KK2lmKHJ0ZV9iaXRtYXBfZ2V0KHN0YXRzLT5iaXRzLCBpZHgp KQ0KK3sNCiticmVhazsNCit9DQorfQ0KK2lmKGlkeCA9PSBpZHhfYmFzZStjbnRfbmFtZXMp DQorew0KK2JyZWFrOw0KK30NCitpZHhfbmFtZSA9IGlkeDsNCit9DQogfQ0KLWVudHJ5LT5p ZHhfbmV4dF9zdGF0ID0gMDsNCi1lbnRyeS0+aWR4X25leHRfc2V0ID0gMDsNCitmb3IoaWR4 ID0gaWR4X2Jhc2U7IGlkeCA8IGlkeF9iYXNlK2NudF9uYW1lczsgaWR4KyspDQorew0KK3J0 ZV9iaXRtYXBfc2V0KHN0YXRzLT5iaXRzLCBpZHgpOw0KK2VudHJ5ID0gJnN0YXRzLT5tZXRh ZGF0YVtpZHhdOw0KK3N0cmxjcHkoZW50cnktPm5hbWUsIG5hbWVzW2lkeC1pZHhfYmFzZV0s IFJURV9NRVRSSUNTX01BWF9OQU1FX0xFTik7DQorbWVtc2V0KGVudHJ5LT52YWx1ZSwgMCwg c2l6ZW9mKGVudHJ5LT52YWx1ZSkpOw0KK2VudHJ5LT5nbG9iYWxfdmFsdWUgPSAwOw0KKyAg ICB9DQogc3RhdHMtPmNudF9zdGF0cyArPSBjbnRfbmFtZXM7DQogDQogcnRlX3NwaW5sb2Nr X3VubG9jaygmc3RhdHMtPmxvY2spOw0KQEAgLTE0Miw3ICsxNzQsNiBAQCBzdHJ1Y3QgcnRl X21ldHJpY3NfZGF0YV9zIHsNCiBjb25zdCB1aW50NjRfdCAqdmFsdWVzLA0KIHVpbnQzMl90 IGNvdW50KQ0KIHsNCi1zdHJ1Y3QgcnRlX21ldHJpY3NfbWV0YV9zICplbnRyeTsNCiBzdHJ1 Y3QgcnRlX21ldHJpY3NfZGF0YV9zICpzdGF0czsNCiBjb25zdCBzdHJ1Y3QgcnRlX21lbXpv bmUgKm1lbXpvbmU7DQogdWludDE2X3QgaWR4X21ldHJpYzsNCkBAIC0xNjMsMTggKzE5NCwx NCBAQCBzdHJ1Y3QgcnRlX21ldHJpY3NfZGF0YV9zIHsNCiANCiBydGVfc3BpbmxvY2tfbG9j aygmc3RhdHMtPmxvY2spOw0KIA0KLWlmIChrZXkgPj0gc3RhdHMtPmNudF9zdGF0cykgew0K LXJ0ZV9zcGlubG9ja191bmxvY2soJnN0YXRzLT5sb2NrKTsNCi1yZXR1cm4gLUVJTlZBTDsN Ci19DQogaWR4X21ldHJpYyA9IGtleTsNCiBjbnRfc2V0c2l6ZSA9IDE7DQotd2hpbGUgKGlk eF9tZXRyaWMgPCBzdGF0cy0+Y250X3N0YXRzKSB7DQotZW50cnkgPSAmc3RhdHMtPm1ldGFk YXRhW2lkeF9tZXRyaWNdOw0KLWlmIChlbnRyeS0+aWR4X25leHRfc3RhdCA9PSAwKQ0KLWJy ZWFrOw0KLWNudF9zZXRzaXplKys7DQotaWR4X21ldHJpYysrOw0KK3doaWxlIChpZHhfbWV0 cmljIDwgUlRFX01FVFJJQ1NfTUFYX01FVFJJQ1MpIHsNCitpZihydGVfYml0bWFwX2dldChz dGF0cy0+Yml0cywgaWR4X21ldHJpYykpew0KKyAgICBjbnRfc2V0c2l6ZSsrOw0KKyAgICBp ZHhfbWV0cmljKys7DQorICAgICAgICB9ZWxzZQ0KKyAgICAgICAgICAgIGJyZWFrOw0KIH0N CiAvKiBDaGVjayB1cGRhdGUgZG9lcyBub3QgY3Jvc3Mgc2V0IGJvcmRlciAqLw0KIGlmIChj b3VudCA+IGNudF9zZXRzaXplKSB7DQpAQCAtMTk5LDEyICsyMjYsNjcgQEAgc3RydWN0IHJ0 ZV9tZXRyaWNzX2RhdGFfcyB7DQogfQ0KIA0KIGludA0KK3J0ZV9tZXRyaWNzX3VucmVnX3Zh bHVlcyh1aW50MTZfdCBrZXksIHVpbnQxNl90IGNvdW50KQ0KK3sNCisgICAgc3RydWN0IHJ0 ZV9tZXRyaWNzX2RhdGFfcyAqc3RhdHM7DQorICAgIGNvbnN0IHN0cnVjdCBydGVfbWVtem9u ZSAqbWVtem9uZTsNCisgICAgdWludDE2X3QgaWR4X21ldHJpYzsNCisgICAgdWludDE2X3Qg aWR4X3ZhbHVlOw0KK3VpbnQxNl90IGNudF9zZXRzaXplOw0KKw0KKyAgICAvKiBTb21lIHNh bml0eSBjaGVja3MgKi8NCisgICAgaWYgKGNvdW50IDwgMSApDQorICAgICAgICByZXR1cm4g LUVJTlZBTDsNCisNCisgICAgbWVtem9uZSA9IHJ0ZV9tZW16b25lX2xvb2t1cChSVEVfTUVU UklDU19NRU1aT05FX05BTUUpOw0KKyAgICBpZiAobWVtem9uZSA9PSBOVUxMKQ0KKyAgICAg ICAgcmV0dXJuIC1FSU87DQorICAgIHN0YXRzID0gbWVtem9uZS0+YWRkcjsNCisNCisgICAg aWYgKHN0YXRzLT5jbnRfc3RhdHMgPCBjb3VudCkNCisgICAgICAgIHJldHVybiAtRUlOVkFM Ow0KKw0KKyAgICBpZiAoa2V5ID49IFJURV9NRVRSSUNTX01BWF9NRVRSSUNTKSB7DQorcmV0 dXJuIC1FSU5WQUw7DQorfQ0KKyAgICANCisgICAgcnRlX3NwaW5sb2NrX2xvY2soJnN0YXRz LT5sb2NrKTsNCisgICAgDQoraWR4X21ldHJpYyA9IGtleTsNCitjbnRfc2V0c2l6ZSA9IDE7 DQord2hpbGUgKGlkeF9tZXRyaWMgPCBSVEVfTUVUUklDU19NQVhfTUVUUklDUykgew0KK2lm KHJ0ZV9iaXRtYXBfZ2V0KHN0YXRzLT5iaXRzLGlkeF9tZXRyaWMpKXsNCisgICAgY250X3Nl dHNpemUrKzsNCisgICAgaWR4X21ldHJpYysrOw0KKyAgICAgICAgfWVsc2UNCisgICAgICAg ICAgICBicmVhazsNCit9DQorLyogQ2hlY2sgdXBkYXRlIGRvZXMgbm90IGNyb3NzIHNldCBi b3JkZXIgKi8NCitpZiAoY291bnQgPiBjbnRfc2V0c2l6ZSkgew0KK3J0ZV9zcGlubG9ja191 bmxvY2soJnN0YXRzLT5sb2NrKTsNCityZXR1cm4gLUVSQU5HRTsNCit9DQorDQorDQorZm9y IChpZHhfdmFsdWUgPSAwOyBpZHhfdmFsdWUgPCBjb3VudDsgaWR4X3ZhbHVlKyspIHsNCitp ZHhfbWV0cmljID0ga2V5ICsgaWR4X3ZhbHVlOw0KK21lbXNldChzdGF0cy0+bWV0YWRhdGFb aWR4X21ldHJpY10ubmFtZSwgMCwgUlRFX01FVFJJQ1NfTUFYX05BTUVfTEVOKSA7DQorICAg ICAgICBydGVfYml0bWFwX2NsZWFyKHN0YXRzLT5iaXRzLCBpZHhfbWV0cmljKTsNCisgICAg fQ0KKyAgICBzdGF0cy0+Y250X3N0YXRzIC09IGNvdW50Ow0KKyAgICBydGVfc3BpbmxvY2tf dW5sb2NrKCZzdGF0cy0+bG9jayk7DQorDQorICAgIHJldHVybiAwOw0KK30NCisNCisNCitp bnQNCiBydGVfbWV0cmljc19nZXRfbmFtZXMoc3RydWN0IHJ0ZV9tZXRyaWNfbmFtZSAqbmFt ZXMsDQogdWludDE2X3QgY2FwYWNpdHkpDQogew0KIHN0cnVjdCBydGVfbWV0cmljc19kYXRh X3MgKnN0YXRzOw0KIGNvbnN0IHN0cnVjdCBydGVfbWVtem9uZSAqbWVtem9uZTsNCi11aW50 MTZfdCBpZHhfbmFtZTsNCit1aW50MTZfdCBpZHhfbmFtZSwgaWR4PTA7DQogaW50IHJldHVy bl92YWx1ZTsNCiANCiBtZW16b25lID0gcnRlX21lbXpvbmVfbG9va3VwKFJURV9NRVRSSUNT X01FTVpPTkVfTkFNRSk7DQpAQCAtMjE5LDEwICszMDEsMTQgQEAgc3RydWN0IHJ0ZV9tZXRy aWNzX2RhdGFfcyB7DQogcnRlX3NwaW5sb2NrX3VubG9jaygmc3RhdHMtPmxvY2spOw0KIHJl dHVybiByZXR1cm5fdmFsdWU7DQogfQ0KLWZvciAoaWR4X25hbWUgPSAwOyBpZHhfbmFtZSA8 IHN0YXRzLT5jbnRfc3RhdHM7IGlkeF9uYW1lKyspDQotc3RybGNweShuYW1lc1tpZHhfbmFt ZV0ubmFtZSwNCi1zdGF0cy0+bWV0YWRhdGFbaWR4X25hbWVdLm5hbWUsDQotUlRFX01FVFJJ Q1NfTUFYX05BTUVfTEVOKTsNCitmb3IgKGlkeF9uYW1lID0gMDtpZHg8IHN0YXRzLT5jbnRf c3RhdHMgJiYgaWR4X25hbWUgPCBSVEVfTUVUUklDU19NQVhfTUVUUklDUzsgaWR4X25hbWUr KykNCitpZihydGVfYml0bWFwX2dldChzdGF0cy0+Yml0cyxpZHhfbmFtZSkpDQorew0KK3N0 cmxjcHkobmFtZXNbaWR4XS5uYW1lLA0KK3N0YXRzLT5tZXRhZGF0YVtpZHhfbmFtZV0ubmFt ZSwNCitSVEVfTUVUUklDU19NQVhfTkFNRV9MRU4pOw0KK2lkeCArKzsNCit9DQogfQ0KIHJl dHVybl92YWx1ZSA9IHN0YXRzLT5jbnRfc3RhdHM7DQogcnRlX3NwaW5sb2NrX3VubG9jaygm c3RhdHMtPmxvY2spOw0KQEAgLTIzNyw3ICszMjMsNyBAQCBzdHJ1Y3QgcnRlX21ldHJpY3Nf ZGF0YV9zIHsNCiBzdHJ1Y3QgcnRlX21ldHJpY3NfbWV0YV9zICplbnRyeTsNCiBzdHJ1Y3Qg cnRlX21ldHJpY3NfZGF0YV9zICpzdGF0czsNCiBjb25zdCBzdHJ1Y3QgcnRlX21lbXpvbmUg Km1lbXpvbmU7DQotdWludDE2X3QgaWR4X25hbWU7DQordWludDE2X3QgaWR4X25hbWUsIGlk eD0wOw0KIGludCByZXR1cm5fdmFsdWU7DQogDQogaWYgKHBvcnRfaWQgIT0gUlRFX01FVFJJ Q1NfR0xPQkFMICYmDQpAQCAtMjU3LDIyICszNDMsMjEgQEAgc3RydWN0IHJ0ZV9tZXRyaWNz X2RhdGFfcyB7DQogcnRlX3NwaW5sb2NrX3VubG9jaygmc3RhdHMtPmxvY2spOw0KIHJldHVy biByZXR1cm5fdmFsdWU7DQogfQ0KLWlmIChwb3J0X2lkID09IFJURV9NRVRSSUNTX0dMT0JB TCkNCi1mb3IgKGlkeF9uYW1lID0gMDsNCi1pZHhfbmFtZSA8IHN0YXRzLT5jbnRfc3RhdHM7 DQotaWR4X25hbWUrKykgew0KLWVudHJ5ID0gJnN0YXRzLT5tZXRhZGF0YVtpZHhfbmFtZV07 DQotdmFsdWVzW2lkeF9uYW1lXS5rZXkgPSBpZHhfbmFtZTsNCi12YWx1ZXNbaWR4X25hbWVd LnZhbHVlID0gZW50cnktPmdsb2JhbF92YWx1ZTsNCi19DQotZWxzZQ0KLWZvciAoaWR4X25h bWUgPSAwOw0KLWlkeF9uYW1lIDwgc3RhdHMtPmNudF9zdGF0czsNCi1pZHhfbmFtZSsrKSB7 DQorDQorZm9yIChpZHhfbmFtZSA9IDA7aWR4PCBzdGF0cy0+Y250X3N0YXRzICYmDQoraWR4 X25hbWUgPCBSVEVfTUVUUklDU19NQVhfTUVUUklDUzsNCitpZHhfbmFtZSsrKSB7DQoraWYo cnRlX2JpdG1hcF9nZXQoc3RhdHMtPmJpdHMsaWR4X25hbWUpKQ0KK3sNCiBlbnRyeSA9ICZz dGF0cy0+bWV0YWRhdGFbaWR4X25hbWVdOw0KLXZhbHVlc1tpZHhfbmFtZV0ua2V5ID0gaWR4 X25hbWU7DQotdmFsdWVzW2lkeF9uYW1lXS52YWx1ZSA9IGVudHJ5LT52YWx1ZVtwb3J0X2lk XTsNCit2YWx1ZXNbaWR4XS5rZXkgPSBpZHhfbmFtZTsNCitpZiAocG9ydF9pZCA9PSBSVEVf TUVUUklDU19HTE9CQUwpDQordmFsdWVzW2lkeF0udmFsdWUgPSBlbnRyeS0+Z2xvYmFsX3Zh bHVlOw0KK2Vsc2UNCit2YWx1ZXNbaWR4XS52YWx1ZSA9IGVudHJ5LT52YWx1ZVtwb3J0X2lk XTsNCitpZHgrKzsNCiB9DQorfQ0KIH0NCiByZXR1cm5fdmFsdWUgPSBzdGF0cy0+Y250X3N0 YXRzOw0KIHJ0ZV9zcGlubG9ja191bmxvY2soJnN0YXRzLT5sb2NrKTsNCmRpZmYgLS1naXQg YS9saWIvbGlicnRlX21ldHJpY3MvcnRlX21ldHJpY3MuaCBiL2xpYi9saWJydGVfbWV0cmlj cy9ydGVfbWV0cmljcy5oDQppbmRleCA2N2E2MGZhLi5mYjE4NTliIDEwMDY0NA0KLS0tIGEv bGliL2xpYnJ0ZV9tZXRyaWNzL3J0ZV9tZXRyaWNzLmgNCisrKyBiL2xpYi9saWJydGVfbWV0 cmljcy9ydGVfbWV0cmljcy5oDQpAQCAtMTIzLDYgKzEyMywyNyBAQCBzdHJ1Y3QgcnRlX21l dHJpY192YWx1ZSB7DQogaW50IHJ0ZV9tZXRyaWNzX3JlZ19uYW1lcyhjb25zdCBjaGFyICog Y29uc3QgKm5hbWVzLCB1aW50MTZfdCBjbnRfbmFtZXMpOw0KIA0KIC8qKg0KKyAqIFVuLXJl Z2lzdGVyIHNldCBvZiBtZXRyaWNzLg0KKyAqDQorICogUmVtb3ZlIHRoZSBtZXRyaWNzIHBy ZXZpb3VzbHkgcmVnaXN0ZXJkDQorICoNCisgKiBAcGFyYW0ga2V5DQorICogICBJZCBvZiBt ZXRyaWNzIHRvIHJlbW92ZQ0KKyAqDQorICogQHBhcmFtIGNvdW50DQorICogICBOdW1iZXIg b2YgbWV0cmljcw0KKyAqDQorICogQHJldHVybg0KKyAqICAtIFplcm86IFN1Y2Nlc3MNCisg KiAgLSAtRUlPOiBFcnJvciwgdW5hYmxlIHRvIGFjY2VzcyBtZXRyaWNzIHNoYXJlZCBtZW1v cnkNCisgKiAgICAocnRlX21ldHJpY3NfaW5pdCgpIG5vdCBjYWxsZWQpDQorICogIC0gLUVJ TlZBTDogRXJyb3IsIGludmFsaWQgcGFyYW1ldGVycw0KKyAqICAtIC1FUkFOR0U6IEVycm9y LCBvdmVyc2l6ZWQNCisgKi8NCitpbnQNCitydGVfbWV0cmljc191bnJlZ192YWx1ZXModWlu dDE2X3Qga2V5LCB1aW50MTZfdCBjb3VudCk7DQorDQorLyoqDQogICogR2V0IG1ldHJpYyBu YW1lLWtleSBsb29rdXAgdGFibGUuDQogICoNCiAgKiBAcGFyYW0gbmFtZXMNCi0tIA0KMS44 LjMuMQ==