From mboxrd@z Thu Jan 1 00:00:00 1970 From: Igor Druzhinin Subject: [PATCH v2 3/4] xen/mapcache: introduce xen_replace_cache_entry() Date: Tue, 4 Jul 2017 16:47:46 +0100 Message-ID: <1499183267-28623-4-git-send-email-igor.druzhinin@citrix.com> References: <1499183267-28623-1-git-send-email-igor.druzhinin@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dSQ3q-0003M9-0w for xen-devel@lists.xenproject.org; Tue, 04 Jul 2017 15:48:22 +0000 In-Reply-To: <1499183267-28623-1-git-send-email-igor.druzhinin@citrix.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, qemu-devel@nongnu.org Cc: anthony.perard@citrix.com, Igor Druzhinin , sstabellini@kernel.org, paul.durrant@citrix.com, pbonzini@redhat.com List-Id: xen-devel@lists.xenproject.org VGhpcyBuZXcgY2FsbCBpcyB0cnlpbmcgdG8gdXBkYXRlIGEgcmVxdWVzdGVkIG1hcCBjYWNoZSBl bnRyeQphY2NvcmRpbmcgdG8gdGhlIGNoYW5nZXMgaW4gdGhlIHBoeXNtYXAuIFRoZSBjYWxsIGlz IHNlYXJjaGluZwpmb3IgdGhlIGVudHJ5LCB1bm1hcHMgaXQgYW5kIG1hcHMgYWdhaW4gYXQgdGhl IHNhbWUgcGxhY2UgdXNpbmcKYSBuZXcgZ3Vlc3QgYWRkcmVzcy4gSWYgdGhlIG1hcHBpbmcgaXMg ZHVtbXkgdGhpcyBjYWxsIHdpbGwKbWFrZSBpdCByZWFsLgoKVGhpcyBmdW5jdGlvbiBtYWtlcyB1 c2Ugb2YgYSBuZXcgeGVuZm9yZWlnbm1lbW9yeV9tYXAyKCkgY2FsbAp3aXRoIGFuIGV4dGVuZGVk IGludGVyZmFjZSB0aGF0IHdhcyByZWNlbnRseSBpbnRyb2R1Y2VkIGluCmxpYnhlbmZvcmVpZ25t ZW1vcnkgWzFdLgoKWzFdIGh0dHBzOi8vd3d3Lm1haWwtYXJjaGl2ZS5jb20veGVuLWRldmVsQGxp c3RzLnhlbi5vcmcvbXNnMTEzMDA3Lmh0bWwKClNpZ25lZC1vZmYtYnk6IElnb3IgRHJ1emhpbmlu IDxpZ29yLmRydXpoaW5pbkBjaXRyaXguY29tPgotLS0KIGNvbmZpZ3VyZSAgICAgICAgICAgICAg ICAgICAgIHwgMTggKysrKysrKysrKwogaHcvaTM4Ni94ZW4veGVuLW1hcGNhY2hlLmMgICAgfCA3 OSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tCiBpbmNsdWRlL2h3 L3hlbi94ZW5fY29tbW9uLmggICB8ICA3ICsrKysKIGluY2x1ZGUvc3lzZW11L3hlbi1tYXBjYWNo ZS5oIHwgMTEgKysrKystCiA0IGZpbGVzIGNoYW5nZWQsIDEwNiBpbnNlcnRpb25zKCspLCA5IGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZSBiL2NvbmZpZ3VyZQppbmRleCBjNTcx YWQxLi5hZDYxNTZiIDEwMDc1NQotLS0gYS9jb25maWd1cmUKKysrIGIvY29uZmlndXJlCkBAIC0y MDIxLDYgKzIwMjEsMjQgQEAgRU9GCiAgICAgIyBYZW4gdW5zdGFibGUKICAgICBlbGlmCiAgICAg ICAgIGNhdCA+ICRUTVBDIDw8RU9GICYmCisjdW5kZWYgWENfV0FOVF9DT01QQVRfTUFQX0ZPUkVJ R05fQVBJCisjaW5jbHVkZSA8eGVuZm9yZWlnbm1lbW9yeS5oPgoraW50IG1haW4odm9pZCkgewor ICB4ZW5mb3JlaWdubWVtb3J5X2hhbmRsZSAqeGZtZW07CisKKyAgeGZtZW0gPSB4ZW5mb3JlaWdu bWVtb3J5X29wZW4oMCwgMCk7CisgIHhlbmZvcmVpZ25tZW1vcnlfbWFwMih4Zm1lbSwgMCwgMCwg MCwgMCwgMCwgMCwgMCk7CisKKyAgcmV0dXJuIDA7Cit9CitFT0YKKyAgICAgICAgY29tcGlsZV9w cm9nICIiICIkeGVuX2xpYnMgLWx4ZW5kZXZpY2Vtb2RlbCAkeGVuX3N0YWJsZV9saWJzIgorICAg ICAgdGhlbgorICAgICAgeGVuX3N0YWJsZV9saWJzPSItbHhlbmRldmljZW1vZGVsICR4ZW5fc3Rh YmxlX2xpYnMiCisgICAgICB4ZW5fY3RybF92ZXJzaW9uPTQxMDAwCisgICAgICB4ZW49eWVzCisg ICAgZWxpZgorICAgICAgICBjYXQgPiAkVE1QQyA8PEVPRiAmJgogI3VuZGVmIFhDX1dBTlRfQ09N UEFUX0RFVklDRU1PREVMX0FQSQogI2RlZmluZSBfX1hFTl9UT09MU19fCiAjaW5jbHVkZSA8eGVu ZGV2aWNlbW9kZWwuaD4KZGlmZiAtLWdpdCBhL2h3L2kzODYveGVuL3hlbi1tYXBjYWNoZS5jIGIv aHcvaTM4Ni94ZW4veGVuLW1hcGNhY2hlLmMKaW5kZXggY2Q0ZTc0Ni4uYTk4OGJlNyAxMDA2NDQK LS0tIGEvaHcvaTM4Ni94ZW4veGVuLW1hcGNhY2hlLmMKKysrIGIvaHcvaTM4Ni94ZW4veGVuLW1h cGNhY2hlLmMKQEAgLTE1MSw2ICsxNTEsNyBAQCB2b2lkIHhlbl9tYXBfY2FjaGVfaW5pdChwaHlz X29mZnNldF90b19nYWRkcl90IGYsIHZvaWQgKm9wYXF1ZSkKIH0KIAogc3RhdGljIHZvaWQgeGVu X3JlbWFwX2J1Y2tldChNYXBDYWNoZUVudHJ5ICplbnRyeSwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgdm9pZCAqdmFkZHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGh3YWRk ciBzaXplLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBod2FkZHIgYWRkcmVzc19pbmRl eCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBkdW1teSkKQEAgLTE2Nyw3ICsx NjgsOSBAQCBzdGF0aWMgdm9pZCB4ZW5fcmVtYXBfYnVja2V0KE1hcENhY2hlRW50cnkgKmVudHJ5 LAogICAgIGVyciA9IGdfbWFsbG9jMChuYl9wZm4gKiBzaXplb2YgKGludCkpOwogCiAgICAgaWYg KGVudHJ5LT52YWRkcl9iYXNlICE9IE5VTEwpIHsKLSAgICAgICAgcmFtX2Jsb2NrX25vdGlmeV9y ZW1vdmUoZW50cnktPnZhZGRyX2Jhc2UsIGVudHJ5LT5zaXplKTsKKyAgICAgICAgaWYgKGVudHJ5 LT52YWRkcl9iYXNlICE9IHZhZGRyKSB7CisgICAgICAgICAgICByYW1fYmxvY2tfbm90aWZ5X3Jl bW92ZShlbnRyeS0+dmFkZHJfYmFzZSwgZW50cnktPnNpemUpOworICAgICAgICB9CiAgICAgICAg IGlmIChtdW5tYXAoZW50cnktPnZhZGRyX2Jhc2UsIGVudHJ5LT5zaXplKSAhPSAwKSB7CiAgICAg ICAgICAgICBwZXJyb3IoInVubWFwIGZhaWxzIik7CiAgICAgICAgICAgICBleGl0KC0xKTsKQEAg LTE4MSwxMSArMTg0LDExIEBAIHN0YXRpYyB2b2lkIHhlbl9yZW1hcF9idWNrZXQoTWFwQ2FjaGVF bnRyeSAqZW50cnksCiAgICAgfQogCiAgICAgaWYgKCFkdW1teSkgewotICAgICAgICB2YWRkcl9i YXNlID0geGVuZm9yZWlnbm1lbW9yeV9tYXAoeGVuX2ZtZW0sIHhlbl9kb21pZCwKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQUk9UX1JFQUR8UFJPVF9XUklURSwK KyAgICAgICAgdmFkZHJfYmFzZSA9IHhlbmZvcmVpZ25tZW1vcnlfbWFwMih4ZW5fZm1lbSwgeGVu X2RvbWlkLCB2YWRkciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBQUk9UX1JFQUR8UFJPVF9XUklURSwgMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBuYl9wZm4sIHBmbnMsIGVycik7CiAgICAgICAgIGlmICh2YWRkcl9iYXNl ID09IE5VTEwpIHsKLSAgICAgICAgICAgIHBlcnJvcigieGVuZm9yZWlnbm1lbW9yeV9tYXAiKTsK KyAgICAgICAgICAgIHBlcnJvcigieGVuZm9yZWlnbm1lbW9yeV9tYXAyIik7CiAgICAgICAgICAg ICBleGl0KC0xKTsKICAgICAgICAgfQogICAgICAgICBlbnRyeS0+ZmxhZ3MgJj0gfihYRU5fTUFQ Q0FDSEVfRU5UUllfRFVNTVkpOwpAQCAtMTk0LDcgKzE5Nyw3IEBAIHN0YXRpYyB2b2lkIHhlbl9y ZW1hcF9idWNrZXQoTWFwQ2FjaGVFbnRyeSAqZW50cnksCiAgICAgICAgICAqIFdlIGNyZWF0ZSBk dW1teSBtYXBwaW5ncyB3aGVyZSB3ZSBhcmUgdW5hYmxlIHRvIGNyZWF0ZSBhIGZvcmVpZ24KICAg ICAgICAgICogbWFwcGluZyBpbW1lZGlhdGVseSBkdWUgdG8gY2VydGFpbiBjaXJjdW1zdGFuY2Vz IChpLmUuIG9uIHJlc3VtZSBub3cpCiAgICAgICAgICAqLwotICAgICAgICB2YWRkcl9iYXNlID0g bW1hcChOVUxMLCBzaXplLCBQUk9UX1JFQUR8UFJPVF9XUklURSwKKyAgICAgICAgdmFkZHJfYmFz ZSA9IG1tYXAodmFkZHIsIHNpemUsIFBST1RfUkVBRHxQUk9UX1dSSVRFLAogICAgICAgICAgICAg ICAgICAgICAgICAgICBNQVBfQU5PTnxNQVBfU0hBUkVELCAtMSwgMCk7CiAgICAgICAgIGlmICh2 YWRkcl9iYXNlID09IE5VTEwpIHsKICAgICAgICAgICAgIHBlcnJvcigibW1hcCIpOwpAQCAtMjAz LDEzICsyMDYsMTYgQEAgc3RhdGljIHZvaWQgeGVuX3JlbWFwX2J1Y2tldChNYXBDYWNoZUVudHJ5 ICplbnRyeSwKICAgICAgICAgZW50cnktPmZsYWdzIHw9IFhFTl9NQVBDQUNIRV9FTlRSWV9EVU1N WTsKICAgICB9CiAKKyAgICBpZiAoZW50cnktPnZhZGRyX2Jhc2UgPT0gTlVMTCB8fCBlbnRyeS0+ dmFkZHJfYmFzZSAhPSB2YWRkcikgeworICAgICAgICByYW1fYmxvY2tfbm90aWZ5X2FkZCh2YWRk cl9iYXNlLCBzaXplKTsKKyAgICB9CisKICAgICBlbnRyeS0+dmFkZHJfYmFzZSA9IHZhZGRyX2Jh c2U7CiAgICAgZW50cnktPnBhZGRyX2luZGV4ID0gYWRkcmVzc19pbmRleDsKICAgICBlbnRyeS0+ c2l6ZSA9IHNpemU7CiAgICAgZW50cnktPnZhbGlkX21hcHBpbmcgPSAodW5zaWduZWQgbG9uZyAq KSBnX21hbGxvYzAoc2l6ZW9mKHVuc2lnbmVkIGxvbmcpICoKICAgICAgICAgICAgIEJJVFNfVE9f TE9OR1Moc2l6ZSA+PiBYQ19QQUdFX1NISUZUKSk7CiAKLSAgICByYW1fYmxvY2tfbm90aWZ5X2Fk ZChlbnRyeS0+dmFkZHJfYmFzZSwgZW50cnktPnNpemUpOwogICAgIGJpdG1hcF96ZXJvKGVudHJ5 LT52YWxpZF9tYXBwaW5nLCBuYl9wZm4pOwogICAgIGZvciAoaSA9IDA7IGkgPCBuYl9wZm47IGkr KykgewogICAgICAgICBpZiAoIWVycltpXSkgewpAQCAtMjgyLDE0ICsyODgsMTQgQEAgdHJ5YWdh aW46CiAgICAgaWYgKCFlbnRyeSkgewogICAgICAgICBlbnRyeSA9IGdfbWFsbG9jMChzaXplb2Yg KE1hcENhY2hlRW50cnkpKTsKICAgICAgICAgcGVudHJ5LT5uZXh0ID0gZW50cnk7Ci0gICAgICAg IHhlbl9yZW1hcF9idWNrZXQoZW50cnksIGNhY2hlX3NpemUsIGFkZHJlc3NfaW5kZXgsIGR1bW15 KTsKKyAgICAgICAgeGVuX3JlbWFwX2J1Y2tldChlbnRyeSwgTlVMTCwgY2FjaGVfc2l6ZSwgYWRk cmVzc19pbmRleCwgZHVtbXkpOwogICAgIH0gZWxzZSBpZiAoIWVudHJ5LT5sb2NrKSB7CiAgICAg ICAgIGlmICghZW50cnktPnZhZGRyX2Jhc2UgfHwgZW50cnktPnBhZGRyX2luZGV4ICE9IGFkZHJl c3NfaW5kZXggfHwKICAgICAgICAgICAgICAgICBlbnRyeS0+c2l6ZSAhPSBjYWNoZV9zaXplIHx8 CiAgICAgICAgICAgICAgICAgIXRlc3RfYml0cyhhZGRyZXNzX29mZnNldCA+PiBYQ19QQUdFX1NI SUZULAogICAgICAgICAgICAgICAgICAgICB0ZXN0X2JpdF9zaXplID4+IFhDX1BBR0VfU0hJRlQs CiAgICAgICAgICAgICAgICAgICAgIGVudHJ5LT52YWxpZF9tYXBwaW5nKSkgewotICAgICAgICAg ICAgeGVuX3JlbWFwX2J1Y2tldChlbnRyeSwgY2FjaGVfc2l6ZSwgYWRkcmVzc19pbmRleCwgZHVt bXkpOworICAgICAgICAgICAgeGVuX3JlbWFwX2J1Y2tldChlbnRyeSwgTlVMTCwgY2FjaGVfc2l6 ZSwgYWRkcmVzc19pbmRleCwgZHVtbXkpOwogICAgICAgICB9CiAgICAgfQogCkBAIC00ODYsMyAr NDkyLDYwIEBAIHZvaWQgeGVuX2ludmFsaWRhdGVfbWFwX2NhY2hlKHZvaWQpCiAKICAgICBtYXBj YWNoZV91bmxvY2soKTsKIH0KKworc3RhdGljIHVpbnQ4X3QgKnhlbl9yZXBsYWNlX2NhY2hlX2Vu dHJ5X3VubG9ja2VkKGh3YWRkciBvbGRfcGh5c19hZGRyLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGh3YWRkciBuZXdfcGh5c19hZGRyLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGh3YWRkciBzaXplKQor eworICAgIE1hcENhY2hlRW50cnkgKmVudHJ5OworICAgIGh3YWRkciBhZGRyZXNzX2luZGV4Owor ICAgIGh3YWRkciBhZGRyZXNzX29mZnNldDsKKyAgICBod2FkZHIgY2FjaGVfc2l6ZSA9IHNpemU7 CisgICAgaHdhZGRyIHRlc3RfYml0X3NpemU7CisKKyAgICBhZGRyZXNzX2luZGV4ICA9IG9sZF9w aHlzX2FkZHIgPj4gTUNBQ0hFX0JVQ0tFVF9TSElGVDsKKyAgICBhZGRyZXNzX29mZnNldCA9IG9s ZF9waHlzX2FkZHIgJiAoTUNBQ0hFX0JVQ0tFVF9TSVpFIC0gMSk7CisKKyAgICBhc3NlcnQoc2l6 ZSk7CisgICAgLyogdGVzdF9iaXRfc2l6ZSBpcyBhbHdheXMgYSBtdWx0aXBsZSBvZiBYQ19QQUdF X1NJWkUgKi8KKyAgICB0ZXN0X2JpdF9zaXplID0gc2l6ZSArIChvbGRfcGh5c19hZGRyICYgKFhD X1BBR0VfU0laRSAtIDEpKTsKKyAgICBpZiAodGVzdF9iaXRfc2l6ZSAlIFhDX1BBR0VfU0laRSkg eworICAgICAgICB0ZXN0X2JpdF9zaXplICs9IFhDX1BBR0VfU0laRSAtICh0ZXN0X2JpdF9zaXpl ICUgWENfUEFHRV9TSVpFKTsKKyAgICB9CisgICAgY2FjaGVfc2l6ZSA9IHNpemUgKyBhZGRyZXNz X29mZnNldDsKKyAgICBpZiAoY2FjaGVfc2l6ZSAlIE1DQUNIRV9CVUNLRVRfU0laRSkgeworICAg ICAgICBjYWNoZV9zaXplICs9IE1DQUNIRV9CVUNLRVRfU0laRSAtIChjYWNoZV9zaXplICUgTUNB Q0hFX0JVQ0tFVF9TSVpFKTsKKyAgICB9CisKKyAgICBlbnRyeSA9ICZtYXBjYWNoZS0+ZW50cnlb YWRkcmVzc19pbmRleCAlIG1hcGNhY2hlLT5ucl9idWNrZXRzXTsKKyAgICB3aGlsZSAoZW50cnkg JiYgIShlbnRyeS0+cGFkZHJfaW5kZXggPT0gYWRkcmVzc19pbmRleCAmJiBlbnRyeS0+c2l6ZSA9 PSBjYWNoZV9zaXplKSkgeworICAgICAgICBlbnRyeSA9IGVudHJ5LT5uZXh0OworICAgIH0KKyAg ICBpZiAoIWVudHJ5KSB7CisgICAgICAgIERQUklOVEYoIlRyeWluZyB0byB1cGRhdGUgYW4gZW50 cnkgZm9yICVseCB0aGF0IGlzIG5vdCBpbiB0aGUgbWFwY2FjaGUhXG4iLCBwaHlzX2FkZHIpOwor ICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisKKyAgICBhZGRyZXNzX2luZGV4ICA9IG5ld19w aHlzX2FkZHIgPj4gTUNBQ0hFX0JVQ0tFVF9TSElGVDsKKyAgICBhZGRyZXNzX29mZnNldCA9IG5l d19waHlzX2FkZHIgJiAoTUNBQ0hFX0JVQ0tFVF9TSVpFIC0gMSk7CisKKyAgICB4ZW5fcmVtYXBf YnVja2V0KGVudHJ5LCBlbnRyeS0+dmFkZHJfYmFzZSwgY2FjaGVfc2l6ZSwgYWRkcmVzc19pbmRl eCwgZmFsc2UpOworICAgIGlmKCF0ZXN0X2JpdHMoYWRkcmVzc19vZmZzZXQgPj4gWENfUEFHRV9T SElGVCwKKyAgICAgICAgICAgICAgICB0ZXN0X2JpdF9zaXplID4+IFhDX1BBR0VfU0hJRlQsCisg ICAgICAgICAgICAgICAgZW50cnktPnZhbGlkX21hcHBpbmcpKSB7CisgICAgICAgIERQUklOVEYo IlVuYWJsZSB0byB1cGRhdGUgYW4gZW50cnkgZm9yICVseCBpbiB0aGUgbWFwY2FjaGUhXG4iLCBw aHlzX2FkZHIpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisKKyAgICByZXR1cm4gZW50 cnktPnZhZGRyX2Jhc2UgKyBhZGRyZXNzX29mZnNldDsKK30KKwordWludDhfdCAqeGVuX3JlcGxh Y2VfY2FjaGVfZW50cnkoaHdhZGRyIG9sZF9waHlzX2FkZHIsIGh3YWRkciBuZXdfcGh5c19hZGRy LCBod2FkZHIgc2l6ZSkKK3sKKyAgICB1aW50OF90ICpwOworCisgICAgbWFwY2FjaGVfbG9jaygp OworICAgIHAgPSB4ZW5fcmVwbGFjZV9jYWNoZV9lbnRyeV91bmxvY2tlZChvbGRfcGh5c19hZGRy LCBuZXdfcGh5c19hZGRyLCBzaXplKTsKKyAgICBtYXBjYWNoZV91bmxvY2soKTsKKyAgICByZXR1 cm4gcDsKK30KZGlmZiAtLWdpdCBhL2luY2x1ZGUvaHcveGVuL3hlbl9jb21tb24uaCBiL2luY2x1 ZGUvaHcveGVuL3hlbl9jb21tb24uaAppbmRleCBlMDBkZGQ3Li43MGE1Y2FkIDEwMDY0NAotLS0g YS9pbmNsdWRlL2h3L3hlbi94ZW5fY29tbW9uLmgKKysrIGIvaW5jbHVkZS9ody94ZW4veGVuX2Nv bW1vbi5oCkBAIC03OCw2ICs3OCwxMyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgKnhlbmZvcmVpZ25t ZW1vcnlfbWFwKHhjX2ludGVyZmFjZSAqaCwgdWludDMyX3QgZG9tLAogCiBleHRlcm4geGVuZm9y ZWlnbm1lbW9yeV9oYW5kbGUgKnhlbl9mbWVtOwogCisjaWYgQ09ORklHX1hFTl9DVFJMX0lOVEVS RkFDRV9WRVJTSU9OIDwgNDEwMDAKKworI2RlZmluZSB4ZW5mb3JlaWdubWVtb3J5X21hcDIoaCwg ZCwgYSwgcCwgZiwgcHMsIGFyLCBlKSBcCisgICAgeGVuZm9yZWlnbm1lbW9yeV9tYXAoaCwgZCwg cCwgcHMsIGFyLCBlKQorCisjZW5kaWYKKwogI2lmIENPTkZJR19YRU5fQ1RSTF9JTlRFUkZBQ0Vf VkVSU0lPTiA8IDQwOTAwCiAKIHR5cGVkZWYgeGNfaW50ZXJmYWNlIHhlbmRldmljZW1vZGVsX2hh bmRsZTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvc3lzZW11L3hlbi1tYXBjYWNoZS5oIGIvaW5jbHVk ZS9zeXNlbXUveGVuLW1hcGNhY2hlLmgKaW5kZXggMDFkYWFhZC4uYjM4OTYyYyAxMDA2NDQKLS0t IGEvaW5jbHVkZS9zeXNlbXUveGVuLW1hcGNhY2hlLmgKKysrIGIvaW5jbHVkZS9zeXNlbXUveGVu LW1hcGNhY2hlLmgKQEAgLTIxLDcgKzIxLDkgQEAgdWludDhfdCAqeGVuX21hcF9jYWNoZShod2Fk ZHIgcGh5c19hZGRyLCBod2FkZHIgc2l6ZSwKIHJhbV9hZGRyX3QgeGVuX3JhbV9hZGRyX2Zyb21f bWFwY2FjaGUodm9pZCAqcHRyKTsKIHZvaWQgeGVuX2ludmFsaWRhdGVfbWFwX2NhY2hlX2VudHJ5 KHVpbnQ4X3QgKmJ1ZmZlcik7CiB2b2lkIHhlbl9pbnZhbGlkYXRlX21hcF9jYWNoZSh2b2lkKTsK LQordWludDhfdCAqeGVuX3JlcGxhY2VfY2FjaGVfZW50cnkoaHdhZGRyIG9sZF9waHlzX2FkZHIs CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBod2FkZHIgbmV3X3BoeXNfYWRkciwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGh3YWRkciBzaXplKTsKICNlbHNlCiAK IHN0YXRpYyBpbmxpbmUgdm9pZCB4ZW5fbWFwX2NhY2hlX2luaXQocGh5c19vZmZzZXRfdG9fZ2Fk ZHJfdCBmLApAQCAtNTAsNiArNTIsMTMgQEAgc3RhdGljIGlubGluZSB2b2lkIHhlbl9pbnZhbGlk YXRlX21hcF9jYWNoZSh2b2lkKQogewogfQogCit1aW50OF90ICp4ZW5fcmVwbGFjZV9jYWNoZV9l bnRyeShod2FkZHIgb2xkX3BoeXNfYWRkciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGh3YWRkciBuZXdfcGh5c19hZGRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgaHdhZGRyIHNpemUpCit7CisgICAgYWJvcnQoKTsKK30KKwogI2VuZGlmCiAKICNlbmRpZiAv KiBYRU5fTUFQQ0FDSEVfSCAqLwotLSAKMi43LjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBs aXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK