From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: [PATCH v3 02/12] x86/mm: add HYPERVISOR_memory_op to acquire guest resources Date: Thu, 31 Aug 2017 10:35:55 +0100 Message-ID: <20170831093605.2757-3-paul.durrant@citrix.com> References: <20170831093605.2757-1-paul.durrant@citrix.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 1dnLtY-00066Z-3v for xen-devel@lists.xenproject.org; Thu, 31 Aug 2017 09:36:16 +0000 In-Reply-To: <20170831093605.2757-1-paul.durrant@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 Cc: Andrew Cooper , Paul Durrant , Jan Beulich List-Id: xen-devel@lists.xenproject.org Q2VydGFpbiBtZW1vcnkgcmVzb3VyY2VzIGFzc29jaWF0ZWQgd2l0aCBhIGd1ZXN0IGFyZSBub3Qg bmVjZXNzYXJpbHkKcHJlc2VudCBpbiB0aGUgZ3Vlc3QgUDJNIGFuZCBzbyBhcmUgbm90IG5lY2Vz c2FyaWx5IGF2YWlsYWJsZSB0byBiZQpmb3JlaWduLW1hcHBlZCBieSBhIHRvb2xzIGRvbWFpbiB1 bmxlc3MgdGhleSBhcmUgaW5zZXJ0ZWQsIHdoaWNoIHJpc2tzCnNoYXR0ZXJpbmcgYSBzdXBlci1w YWdlIG1hcHBpbmcuCgpUaGlzIHBhdGNoIGFkZHMgYSBuZXcgbWVtb3J5IG9wIHRvIGFsbG93IHN1 Y2ggYSByZXNvdXJjZSB0byBiZSBwcml2LW1hcHBlZApkaXJlY3RseSwgYnkgZWl0aGVyIGEgUFYg b3IgSFZNIHRvb2xzIGRvbWFpbjogZ3JhbnQgdGFibGUgZnJhbWVzLgoKTk9URTogV2hpbHN0IHRo ZSBuZXcgb3AgaXMgbm90IGludHJpbnNpY2x5IHNwZWNpZmljIHRvIHRoZSB4ODYgYXJjaGl0ZWN0 dXJlLAogICAgICBJIGhhdmUgbm8gbWVhbnMgdG8gdGVzdCBpdCBvbiBhbiBBUk0gcGxhdGZvcm0g YW5kIHNvIGNhbm5vdCB2ZXJpZnkKICAgICAgdGhhdCBpdCBmdW5jdGlvbnMgY29ycmVjdGx5LiBI ZW5jZSBpdCBpcyBjdXJyZW50bHkgb25seSBpbXBsZW1lbnRlZAogICAgICBmb3IgeDg2LgoKU2ln bmVkLW9mZi1ieTogUGF1bCBEdXJyYW50IDxwYXVsLmR1cnJhbnRAY2l0cml4LmNvbT4KQWNrZWQt Ynk6IEdlb3JnZSBEdW5sYXAgPGdlb3JnZS5kdW5sYXBAZXUuY2l0cml4LmNvbT4KLS0tCkNjOiBK YW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+CkNjOiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcu Y29vcGVyM0BjaXRyaXguY29tPgotLS0KIHhlbi9hcmNoL3g4Ni9tbS5jICAgICAgICAgICAgIHwg MTExICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogeGVuL2FyY2gv eDg2L21tL3AybS5jICAgICAgICAgfCAgIDMgKy0KIHhlbi9jb21tb24vZ3JhbnRfdGFibGUuYyAg ICAgIHwgIDU2ICsrKysrKysrKysrKysrLS0tLS0tLQogeGVuL2luY2x1ZGUvYXNtLXg4Ni9wMm0u aCAgICAgfCAgIDMgKysKIHhlbi9pbmNsdWRlL3B1YmxpYy9tZW1vcnkuaCAgIHwgIDM4ICsrKysr KysrKysrKysrLQogeGVuL2luY2x1ZGUveGVuL2dyYW50X3RhYmxlLmggfCAgIDEgKwogNiBmaWxl cyBjaGFuZ2VkLCAxOTEgaW5zZXJ0aW9ucygrKSwgMjEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEveGVuL2FyY2gveDg2L21tLmMgYi94ZW4vYXJjaC94ODYvbW0uYwppbmRleCA2ZmZiZWE3OTRi Li4zYjVmMmU5YjgwIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvbW0uYworKysgYi94ZW4vYXJj aC94ODYvbW0uYwpAQCAtNDY4OSw2ICs0Njg5LDEwNyBAQCBpbnQgeGVubWVtX2FkZF90b19waHlz bWFwX29uZSgKICAgICByZXR1cm4gcmM7CiB9CiAKK3N0YXRpYyBpbnQgeGVubWVtX2FjcXVpcmVf Z3JhbnRfdGFibGUoc3RydWN0IGRvbWFpbiAqZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBmcmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBucl9mcmFtZXMsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgbWZuX2xpc3RbXSkKK3sKKyAgICB1 bnNpZ25lZCBpbnQgaTsKKworICAgIC8qCisgICAgICogSXRlcmF0ZSB0aHJvdWdoIHRoZSBsaXN0 IGJhY2t3YXJkcyBzbyB0aGF0IGdudHRhYl9nZXRfZnJhbWUoKSBpcworICAgICAqIGZpcnN0IGNh bGxlZCBmb3IgdGhlIGhpZ2hlc3QgbnVtYmVyZWQgZnJhbWUuIFRoaXMgbWVhbnMgdGhhdCB0aGUK KyAgICAgKiBvdXQtb2YtYm91bmRzIGNoZWNrIHdpbGwgYmUgZG9uZSBvbiB0aGUgZmlyc3QgaXRl cmF0aW9uIGFuZCwgaWYKKyAgICAgKiB0aGUgdGFibGUgbmVlZHMgdG8gZ3JvdywgaXQgd2lsbCBv bmx5IGdyb3cgb25jZS4KKyAgICAgKi8KKyAgICBpID0gbnJfZnJhbWVzOworICAgIHdoaWxlICgg aS0tICE9IDAgKQorICAgIHsKKyAgICAgICAgbWZuX3QgbWZuID0gZ250dGFiX2dldF9mcmFtZShk LCBmcmFtZSArIGkpOworCisgICAgICAgIGlmICggbWZuX2VxKG1mbiwgSU5WQUxJRF9NRk4pICkK KyAgICAgICAgICAgIHJldHVybiAtRUlOVkFMOworCisgICAgICAgIG1mbl9saXN0W2ldID0gbWZu X3gobWZuKTsKKyAgICB9CisKKyAgICByZXR1cm4gMDsKK30KKworc3RhdGljIGludCB4ZW5tZW1f YWNxdWlyZV9yZXNvdXJjZSh4ZW5fbWVtX2FjcXVpcmVfcmVzb3VyY2VfdCAqeG1hcikKK3sKKyAg ICBzdHJ1Y3QgZG9tYWluICpkLCAqY3VycmQgPSBjdXJyZW50LT5kb21haW47CisgICAgdW5zaWdu ZWQgbG9uZyAqbWZuX2xpc3Q7CisgICAgaW50IHJjOworCisgICAgaWYgKCB4bWFyLT5ucl9mcmFt ZXMgPT0gMCApCisgICAgICAgIHJldHVybiAtRUlOVkFMOworCisgICAgZCA9IHJjdV9sb2NrX2Rv bWFpbl9ieV9hbnlfaWQoeG1hci0+ZG9taWQpOworICAgIGlmICggZCA9PSBOVUxMICkKKyAgICAg ICAgcmV0dXJuIC1FU1JDSDsKKworICAgIHJjID0geHNtX2RvbWFpbl9tZW1vcnlfbWFwKFhTTV9U QVJHRVQsIGQpOworICAgIGlmICggcmMgKQorICAgICAgICBnb3RvIG91dDsKKworICAgIG1mbl9s aXN0ID0geG1hbGxvY19hcnJheSh1bnNpZ25lZCBsb25nLCB4bWFyLT5ucl9mcmFtZXMpOworCisg ICAgcmMgPSAtRU5PTUVNOworICAgIGlmICggIW1mbl9saXN0ICkKKyAgICAgICAgZ290byBvdXQ7 CisKKyAgICBzd2l0Y2ggKCB4bWFyLT50eXBlICkKKyAgICB7CisgICAgY2FzZSBYRU5NRU1fcmVz b3VyY2VfZ3JhbnRfdGFibGU6CisgICAgICAgIHJjID0gLUVJTlZBTDsKKyAgICAgICAgaWYgKCB4 bWFyLT5pZCApIC8qIG11c3QgYmUgemVybyBmb3IgZ3JhbnRfdGFibGUgKi8KKyAgICAgICAgICAg IGJyZWFrOworCisgICAgICAgIHJjID0geGVubWVtX2FjcXVpcmVfZ3JhbnRfdGFibGUoZCwgeG1h ci0+ZnJhbWUsIHhtYXItPm5yX2ZyYW1lcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBtZm5fbGlzdCk7CisgICAgICAgIGJyZWFrOworCisgICAgZGVmYXVsdDoKKyAg ICAgICAgcmMgPSAtRU9QTk9UU1VQUDsKKyAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgaWYg KCByYyApCisgICAgICAgIGdvdG8gZnJlZV9hbmRfb3V0OworCisgICAgaWYgKCAhcGFnaW5nX21v ZGVfdHJhbnNsYXRlKGN1cnJkKSApCisgICAgeworICAgICAgICBpZiAoIF9fY29weV90b19ndWVz dF9vZmZzZXQoeG1hci0+Z21mbl9saXN0LCAwLCBtZm5fbGlzdCwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHhtYXItPm5yX2ZyYW1lcykgKQorICAgICAgICAgICAgcmMgPSAt RUZBVUxUOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICB1bnNpZ25lZCBpbnQgaTsK KworICAgICAgICBmb3IgKCBpID0gMDsgaSA8IHhtYXItPm5yX2ZyYW1lczsgaSsrICkKKyAgICAg ICAgeworICAgICAgICAgICAgeGVuX3Bmbl90IGdmbjsKKworICAgICAgICAgICAgcmMgPSAtRUZB VUxUOworICAgICAgICAgICAgaWYgKCBfX2NvcHlfZnJvbV9ndWVzdF9vZmZzZXQoJmdmbiwgeG1h ci0+Z21mbl9saXN0LCBpLCAxKSApCisgICAgICAgICAgICAgICAgZ290byBmcmVlX2FuZF9vdXQ7 CisKKyAgICAgICAgICAgIHJjID0gc2V0X2ZvcmVpZ25fcDJtX2VudHJ5KGN1cnJkLCBnZm4sIF9t Zm4obWZuX2xpc3RbaV0pKTsKKyAgICAgICAgICAgIGlmICggcmMgKQorICAgICAgICAgICAgICAg IGdvdG8gZnJlZV9hbmRfb3V0OworICAgICAgICB9CisgICAgfQorCisgZnJlZV9hbmRfb3V0Ogor ICAgIHhmcmVlKG1mbl9saXN0KTsKKworIG91dDoKKyAgICByY3VfdW5sb2NrX2RvbWFpbihkKTsK KyAgICByZXR1cm4gcmM7Cit9CisKIGxvbmcgYXJjaF9tZW1vcnlfb3AodW5zaWduZWQgbG9uZyBj bWQsIFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0odm9pZCkgYXJnKQogewogICAgIGludCByYzsKQEAg LTQ5MTEsNiArNTAxMiwxNiBAQCBsb25nIGFyY2hfbWVtb3J5X29wKHVuc2lnbmVkIGxvbmcgY21k LCBYRU5fR1VFU1RfSEFORExFX1BBUkFNKHZvaWQpIGFyZykKICAgICAgICAgcmV0dXJuIHJjOwog ICAgIH0KIAorICAgIGNhc2UgWEVOTUVNX2FjcXVpcmVfcmVzb3VyY2U6CisgICAgeworICAgICAg ICB4ZW5fbWVtX2FjcXVpcmVfcmVzb3VyY2VfdCB4bWFyOworCisgICAgICAgIGlmICggY29weV9m cm9tX2d1ZXN0KCZ4bWFyLCBhcmcsIDEpICkKKyAgICAgICAgICAgIHJldHVybiAtRUZBVUxUOwor CisgICAgICAgIHJldHVybiB4ZW5tZW1fYWNxdWlyZV9yZXNvdXJjZSgmeG1hcik7CisgICAgfQor CiAgICAgZGVmYXVsdDoKICAgICAgICAgcmV0dXJuIHN1YmFyY2hfbWVtb3J5X29wKGNtZCwgYXJn KTsKICAgICB9CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvbW0vcDJtLmMgYi94ZW4vYXJjaC94 ODYvbW0vcDJtLmMKaW5kZXggZThhNTdkMTE4Yy4uYzUwM2E3ZjFkMiAxMDA2NDQKLS0tIGEveGVu L2FyY2gveDg2L21tL3AybS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9wMm0uYwpAQCAtMTExOCw4 ICsxMTE4LDcgQEAgc3RhdGljIGludCBzZXRfdHlwZWRfcDJtX2VudHJ5KHN0cnVjdCBkb21haW4g KmQsIHVuc2lnbmVkIGxvbmcgZ2ZuLCBtZm5fdCBtZm4sCiB9CiAKIC8qIFNldCBmb3JlaWduIG1m biBpbiB0aGUgZ2l2ZW4gZ3Vlc3QncyBwMm0gdGFibGUuICovCi1zdGF0aWMgaW50IHNldF9mb3Jl aWduX3AybV9lbnRyeShzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBsb25nIGdmbiwKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1mbl90IG1mbikKK2ludCBzZXRfZm9yZWlnbl9w Mm1fZW50cnkoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgbG9uZyBnZm4sIG1mbl90IG1mbikK IHsKICAgICByZXR1cm4gc2V0X3R5cGVkX3AybV9lbnRyeShkLCBnZm4sIG1mbiwgUEFHRV9PUkRF Ul80SywgcDJtX21hcF9mb3JlaWduLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHAy bV9nZXRfaG9zdHAybShkKS0+ZGVmYXVsdF9hY2Nlc3MpOwpkaWZmIC0tZ2l0IGEveGVuL2NvbW1v bi9ncmFudF90YWJsZS5jIGIveGVuL2NvbW1vbi9ncmFudF90YWJsZS5jCmluZGV4IDQ1NmM4YzVi ODAuLmUzZjBmOWM5NzEgMTAwNjQ0Ci0tLSBhL3hlbi9jb21tb24vZ3JhbnRfdGFibGUuYworKysg Yi94ZW4vY29tbW9uL2dyYW50X3RhYmxlLmMKQEAgLTM2MTQsMzggKzM2MTQsNTggQEAgaW50IG1l bV9zaGFyaW5nX2dyZWZfdG9fZ2ZuKHN0cnVjdCBncmFudF90YWJsZSAqZ3QsIGdyYW50X3JlZl90 IHJlZiwKIH0KICNlbmRpZgogCi1pbnQgZ250dGFiX21hcF9mcmFtZShzdHJ1Y3QgZG9tYWluICpk LCB1bnNpZ25lZCBsb25nIGlkeCwgZ2ZuX3QgZ2ZuLAotICAgICAgICAgICAgICAgICAgICAgbWZu X3QgKm1mbikKLXsKLSAgICBpbnQgcmMgPSAwOwogCi0gICAgZ3JhbnRfd3JpdGVfbG9jayhkLT5n cmFudF90YWJsZSk7CitzdGF0aWMgbWZuX3QgZ250dGFiX2dldF9mcmFtZV9sb2NrZWQoc3RydWN0 IGRvbWFpbiAqZCwgdW5zaWduZWQgbG9uZyBpZHgpCit7CisgICAgc3RydWN0IGdyYW50X3RhYmxl ICpndCA9IGQtPmdyYW50X3RhYmxlOworICAgIG1mbl90IG1mbiA9IElOVkFMSURfTUZOOwogCi0g ICAgaWYgKCBkLT5ncmFudF90YWJsZS0+Z3RfdmVyc2lvbiA9PSAwICkKLSAgICAgICAgZC0+Z3Jh bnRfdGFibGUtPmd0X3ZlcnNpb24gPSAxOworICAgIGlmICggZ3QtPmd0X3ZlcnNpb24gPT0gMCAp CisgICAgICAgIGd0LT5ndF92ZXJzaW9uID0gMTsKIAotICAgIGlmICggZC0+Z3JhbnRfdGFibGUt Pmd0X3ZlcnNpb24gPT0gMiAmJgorICAgIGlmICggZ3QtPmd0X3ZlcnNpb24gPT0gMiAmJgogICAg ICAgICAgKGlkeCAmIFhFTk1BUElEWF9ncmFudF90YWJsZV9zdGF0dXMpICkKICAgICB7CiAgICAg ICAgIGlkeCAmPSB+WEVOTUFQSURYX2dyYW50X3RhYmxlX3N0YXR1czsKLSAgICAgICAgaWYgKCBp ZHggPCBucl9zdGF0dXNfZnJhbWVzKGQtPmdyYW50X3RhYmxlKSApCi0gICAgICAgICAgICAqbWZu ID0gX21mbih2aXJ0X3RvX21mbihkLT5ncmFudF90YWJsZS0+c3RhdHVzW2lkeF0pKTsKLSAgICAg ICAgZWxzZQotICAgICAgICAgICAgcmMgPSAtRUlOVkFMOworICAgICAgICBpZiAoIGlkeCA8IG5y X3N0YXR1c19mcmFtZXMoZ3QpICkKKyAgICAgICAgICAgIG1mbiA9IF9tZm4odmlydF90b19tZm4o Z3QtPnN0YXR1c1tpZHhdKSk7CiAgICAgfQogICAgIGVsc2UKICAgICB7Ci0gICAgICAgIGlmICgg KGlkeCA+PSBucl9ncmFudF9mcmFtZXMoZC0+Z3JhbnRfdGFibGUpKSAmJgorICAgICAgICBpZiAo IChpZHggPj0gbnJfZ3JhbnRfZnJhbWVzKGd0KSkgJiYKICAgICAgICAgICAgICAoaWR4IDwgbWF4 X2dyYW50X2ZyYW1lcykgKQogICAgICAgICAgICAgZ250dGFiX2dyb3dfdGFibGUoZCwgaWR4ICsg MSk7CiAKLSAgICAgICAgaWYgKCBpZHggPCBucl9ncmFudF9mcmFtZXMoZC0+Z3JhbnRfdGFibGUp ICkKLSAgICAgICAgICAgICptZm4gPSBfbWZuKHZpcnRfdG9fbWZuKGQtPmdyYW50X3RhYmxlLT5z aGFyZWRfcmF3W2lkeF0pKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgcmMgPSAtRUlOVkFM OworICAgICAgICBpZiAoIGlkeCA8IG5yX2dyYW50X2ZyYW1lcyhndCkgKQorICAgICAgICAgICAg bWZuID0gX21mbih2aXJ0X3RvX21mbihndC0+c2hhcmVkX3Jhd1tpZHhdKSk7CiAgICAgfQogCi0g ICAgZ250dGFiX3NldF9mcmFtZV9nZm4oZCwgaWR4LCBnZm4pOworICAgIHJldHVybiBtZm47Cit9 CisKK21mbl90IGdudHRhYl9nZXRfZnJhbWUoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgbG9u ZyBpZHgpCit7CisgICAgbWZuX3QgbWZuOworCisgICAgZ3JhbnRfd3JpdGVfbG9jayhkLT5ncmFu dF90YWJsZSk7CisgICAgbWZuID0gZ250dGFiX2dldF9mcmFtZV9sb2NrZWQoZCwgaWR4KTsKKyAg ICBncmFudF93cml0ZV91bmxvY2soZC0+Z3JhbnRfdGFibGUpOworCisgICAgcmV0dXJuIG1mbjsK K30KKworaW50IGdudHRhYl9tYXBfZnJhbWUoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgbG9u ZyBpZHgsIGdmbl90IGdmbiwKKyAgICAgICAgICAgICAgICAgICAgIG1mbl90ICptZm4pCit7Cisg ICAgaW50IHJjID0gMDsKKworICAgIGdyYW50X3dyaXRlX2xvY2soZC0+Z3JhbnRfdGFibGUpOwor CisgICAgKm1mbiA9IGdudHRhYl9nZXRfZnJhbWVfbG9ja2VkKGQsIGlkeCk7CisgICAgaWYgKCBt Zm5fZXEoKm1mbiwgSU5WQUxJRF9NRk4pICkKKyAgICAgICAgcmMgPSAtRUlOVkFMOworICAgIGVs c2UKKyAgICAgICAgZ250dGFiX3NldF9mcmFtZV9nZm4oZCwgaWR4LCBnZm4pOwogCiAgICAgZ3Jh bnRfd3JpdGVfdW5sb2NrKGQtPmdyYW50X3RhYmxlKTsKIApkaWZmIC0tZ2l0IGEveGVuL2luY2x1 ZGUvYXNtLXg4Ni9wMm0uaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvcDJtLmgKaW5kZXggNjM5NWU4 ZmQxZC4uM2NjZWMyNTBkOCAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9wMm0uaAor KysgYi94ZW4vaW5jbHVkZS9hc20teDg2L3AybS5oCkBAIC02MTMsNiArNjEzLDkgQEAgdm9pZCBw Mm1fbWVtb3J5X3R5cGVfY2hhbmdlZChzdHJ1Y3QgZG9tYWluICpkKTsKIGludCBwMm1faXNfbG9n ZGlydHlfcmFuZ2Uoc3RydWN0IHAybV9kb21haW4gKiwgdW5zaWduZWQgbG9uZyBzdGFydCwKICAg ICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBlbmQpOwogCisvKiBTZXQgZm9y ZWlnbiBlbnRyeSBpbiB0aGUgcDJtIHRhYmxlIChmb3IgcHJpdi1tYXBwaW5nKSAqLworaW50IHNl dF9mb3JlaWduX3AybV9lbnRyeShzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBsb25nIGdmbiwg bWZuX3QgbWZuKTsKKwogLyogU2V0IG1taW8gYWRkcmVzc2VzIGluIHRoZSBwMm0gdGFibGUgKGZv ciBwYXNzLXRocm91Z2gpICovCiBpbnQgc2V0X21taW9fcDJtX2VudHJ5KHN0cnVjdCBkb21haW4g KmQsIHVuc2lnbmVkIGxvbmcgZ2ZuLCBtZm5fdCBtZm4sCiAgICAgICAgICAgICAgICAgICAgICAg IHVuc2lnbmVkIGludCBvcmRlciwgcDJtX2FjY2Vzc190IGFjY2Vzcyk7CmRpZmYgLS1naXQgYS94 ZW4vaW5jbHVkZS9wdWJsaWMvbWVtb3J5LmggYi94ZW4vaW5jbHVkZS9wdWJsaWMvbWVtb3J5LmgK aW5kZXggMjkzODZkZjk4Yi4uOWJmNThlNzM4NCAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvcHVi bGljL21lbW9yeS5oCisrKyBiL3hlbi9pbmNsdWRlL3B1YmxpYy9tZW1vcnkuaApAQCAtNjUwLDcg KzY1MCw0MyBAQCBzdHJ1Y3QgeGVuX3ZudW1hX3RvcG9sb2d5X2luZm8gewogdHlwZWRlZiBzdHJ1 Y3QgeGVuX3ZudW1hX3RvcG9sb2d5X2luZm8geGVuX3ZudW1hX3RvcG9sb2d5X2luZm9fdDsKIERF RklORV9YRU5fR1VFU1RfSEFORExFKHhlbl92bnVtYV90b3BvbG9neV9pbmZvX3QpOwogCi0vKiBO ZXh0IGF2YWlsYWJsZSBzdWJvcCBudW1iZXIgaXMgMjggKi8KKyNpZiBkZWZpbmVkKF9fWEVOX18p IHx8IGRlZmluZWQoX19YRU5fVE9PTFNfXykKKworLyoKKyAqIEdldCB0aGUgcGFnZXMgZm9yIGEg cGFydGljdWxhciBndWVzdCByZXNvdXJjZSwgc28gdGhhdCB0aGV5IGNhbiBiZQorICogbWFwcGVk IGRpcmVjdGx5IGJ5IGEgdG9vbHMgZG9tYWluLgorICovCisjZGVmaW5lIFhFTk1FTV9hY3F1aXJl X3Jlc291cmNlIDI4CitzdHJ1Y3QgeGVuX21lbV9hY3F1aXJlX3Jlc291cmNlIHsKKyAgICAvKiBJ TiAtIHRoZSBkb21haW4gd2hvc2UgcmVzb3VyY2UgaXMgdG8gYmUgbWFwcGVkICovCisgICAgZG9t aWRfdCBkb21pZDsKKyAgICAvKiBJTiAtIHRoZSB0eXBlIG9mIHJlc291cmNlIChkZWZpbmVkIGJl bG93KSAqLworICAgIHVpbnQxNl90IHR5cGU7CisKKyNkZWZpbmUgWEVOTUVNX3Jlc291cmNlX2dy YW50X3RhYmxlIDAKKworICAgIC8qCisgICAgICogSU4gLSBhIHR5cGUtc3BlY2lmaWMgcmVzb3Vy Y2UgaWRlbnRpZmllciwgd2hpY2ggbXVzdCBiZSB6ZXJvCisgICAgICogICAgICB1bmxlc3Mgc3Rh dGVkIG90aGVyd2lzZS4KKyAgICAgKi8KKyAgICB1aW50MzJfdCBpZDsKKyAgICAvKiBJTiAtIG51 bWJlciBvZiAoNEspIGZyYW1lcyBvZiB0aGUgcmVzb3VyY2UgdG8gYmUgbWFwcGVkICovCisgICAg dWludDMyX3QgbnJfZnJhbWVzOworICAgIC8qIElOIC0gdGhlIGluZGV4IG9mIHRoZSBpbml0aWFs IGZyYW1lIHRvIGJlIG1hcHBlZCAqLworICAgIHVpbnQ2NF9hbGlnbmVkX3QgZnJhbWU7CisgICAg LyogSU4vT1VUIC0gSWYgdGhlIHRvb2xzIGRvbWFpbiBpcyBQViB0aGVuLCB1cG9uIHJldHVybiwg Z21mbl9saXN0CisgICAgICogICAgICAgICAgd2lsbCBiZSBwb3B1bGF0ZWQgd2l0aCB0aGUgTUZO cyBvZiB0aGUgcmVzb3VyY2UuCisgICAgICogICAgICAgICAgSWYgdGhlIHRvb2xzIGRvbWFpbiBp cyBIVk0gdGhlbiBpdCBpcyBleHBlY3RlZCB0aGF0LCBvbgorICAgICAqICAgICAgICAgIGVudHJ5 LCBnbWZuX2xpc3Qgd2lsbCBiZSBwb3B1bGF0ZWQgd2l0aCBhIGxpc3Qgb2YgR0ZOcworICAgICAq ICAgICAgICAgIHRoYXQgd2lsbCBiZSBtYXBwZWQgdG8gdGhlIE1GTnMgb2YgdGhlIHJlc291cmNl LgorICAgICAqLworICAgIFhFTl9HVUVTVF9IQU5ETEUoeGVuX3Bmbl90KSBnbWZuX2xpc3Q7Cit9 OwordHlwZWRlZiBzdHJ1Y3QgeGVuX21lbV9hY3F1aXJlX3Jlc291cmNlIHhlbl9tZW1fYWNxdWly ZV9yZXNvdXJjZV90OworCisjZW5kaWYgLyogZGVmaW5lZChfX1hFTl9fKSB8fCBkZWZpbmVkKF9f WEVOX1RPT0xTX18pICovCisKKy8qIE5leHQgYXZhaWxhYmxlIHN1Ym9wIG51bWJlciBpcyAyOSAq LwogCiAjZW5kaWYgLyogX19YRU5fUFVCTElDX01FTU9SWV9IX18gKi8KIApkaWZmIC0tZ2l0IGEv eGVuL2luY2x1ZGUveGVuL2dyYW50X3RhYmxlLmggYi94ZW4vaW5jbHVkZS94ZW4vZ3JhbnRfdGFi bGUuaAppbmRleCA0M2VjNmM0ZDgwLi5mOWU4OTM3NWJiIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVk ZS94ZW4vZ3JhbnRfdGFibGUuaAorKysgYi94ZW4vaW5jbHVkZS94ZW4vZ3JhbnRfdGFibGUuaApA QCAtMTM2LDYgKzEzNiw3IEBAIHN0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IGdyYW50X3RvX3N0 YXR1c19mcmFtZXMoaW50IGdyYW50X2ZyYW1lcykKIGludCBtZW1fc2hhcmluZ19ncmVmX3RvX2dm bihzdHJ1Y3QgZ3JhbnRfdGFibGUgKmd0LCBncmFudF9yZWZfdCByZWYsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgZ2ZuX3QgKmdmbiwgdWludDE2X3QgKnN0YXR1cyk7CiAKK21mbl90IGdu dHRhYl9nZXRfZnJhbWUoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgbG9uZyBpZHgpOwogaW50 IGdudHRhYl9tYXBfZnJhbWUoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgbG9uZyBpZHgsIGdm bl90IGdmbiwKICAgICAgICAgICAgICAgICAgICAgIG1mbl90ICptZm4pOwogCi0tIAoyLjExLjAK CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2 ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVu Lm9yZy94ZW4tZGV2ZWwK