From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juergen Gross Subject: [PATCH v8 01/15] xen: move XENMAPSPACE_grant_table code into grant_table.c Date: Wed, 20 Sep 2017 08:34:16 +0200 Message-ID: <20170920063430.9105-2-jgross@suse.com> References: <20170920063430.9105-1-jgross@suse.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 1duYai-00036c-Vv for xen-devel@lists.xenproject.org; Wed, 20 Sep 2017 06:34:37 +0000 In-Reply-To: <20170920063430.9105-1-jgross@suse.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: Juergen Gross , sstabellini@kernel.org, wei.liu2@citrix.com, George.Dunlap@eu.citrix.com, andrew.cooper3@citrix.com, ian.jackson@eu.citrix.com, tim@xen.org, julien.grall@arm.com, jbeulich@suse.com, dgdegra@tycho.nsa.gov List-Id: xen-devel@lists.xenproject.org VGhlIHg4NiBhbmQgYXJtIHZlcnNpb25zIG9mIFhFTk1BUFNQQUNFX2dyYW50X3RhYmxlIGhhbmRs aW5nIGFyZSBuZWFybHkKaWRlbnRpY2FsLiBNb3ZlIHRoZSBjb2RlIGludG8gYSBmdW5jdGlvbiBp biBncmFudF90YWJsZS5jIGFuZCBhZGQgYW4KYXJjaGl0ZWN0dXJlIGRlcGVuZGFudCBob29rIHRv IGhhbmRsZSB0aGUgZGlmZmVyZW5jZXMuCgpTd2l0Y2ggdG8gbWZuX3QgaW4gb3JkZXIgdG8gYmUg bW9yZSB0eXBlIHNhZmUuCgpTaWduZWQtb2ZmLWJ5OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3Vz ZS5jb20+ClJldmlld2VkLWJ5OiBQYXVsIER1cnJhbnQgPHBhdWwuZHVycmFudEBjaXRyaXguY29t PgpBY2tlZC1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgotLS0KVjg6Ci0gbWFr ZSBnbnR0YWJfZ3Jvd190YWJsZSgpIHN0YXRpYyBpbnN0ZWFkIGRvaW5nIHNvIGluIG5leHQgcGF0 Y2gKICAoSmFuIEJldWxpY2gpCgpWNzoKLSBvbmx5IGNhbGwgZ250dGFiX3NldF9mcmFtZV9nZm4o KSBpZiBubyBlcnJvciAoSnVsaWVuIEdyYWxsKQoKVjY6Ci0gdGVzdCByYyBvZiBnbnR0YWJfbWFw X2ZyYW1lKCkgKEphbiBCZXVsaWNoKQoKVjM6Ci0gdXBkYXRlIGNvbW1pdCBtZXNzYWdlCgpWMjoK LSByZWJhc2VkIHRvIHN0YWdpbmcKLS0tCiB4ZW4vYXJjaC9hcm0vbW0uYyAgICAgICAgICAgICAg ICAgfCAzNiArKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogeGVuL2FyY2gveDg2L21t LmMgICAgICAgICAgICAgICAgIHwgNDMgKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCiB4ZW4vY29tbW9uL2dyYW50X3RhYmxlLmMgICAgICAgICAgfCA0MSArKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKystCiB4ZW4vaW5jbHVkZS9hc20tYXJtL2dyYW50X3Rh YmxlLmggfCAgNyArKysrKysrCiB4ZW4vaW5jbHVkZS9hc20teDg2L2dyYW50X3RhYmxlLmggfCAg NSArKysrKwogeGVuL2luY2x1ZGUveGVuL2dyYW50X3RhYmxlLmggICAgIHwgIDkgKysrLS0tLS0K IDYgZmlsZXMgY2hhbmdlZCwgNzEgaW5zZXJ0aW9ucygrKSwgNzAgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEveGVuL2FyY2gvYXJtL21tLmMgYi94ZW4vYXJjaC9hcm0vbW0uYwppbmRleCA1NzE2 ZWYxMTIzLi5lNjhmYWNiMGY0IDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vbW0uYworKysgYi94 ZW4vYXJjaC9hcm0vbW0uYwpAQCAtMTIzMywzOSArMTIzMywxMSBAQCBpbnQgeGVubWVtX2FkZF90 b19waHlzbWFwX29uZSgKICAgICBzd2l0Y2ggKCBzcGFjZSApCiAgICAgewogICAgIGNhc2UgWEVO TUFQU1BBQ0VfZ3JhbnRfdGFibGU6Ci0gICAgICAgIGdyYW50X3dyaXRlX2xvY2soZC0+Z3JhbnRf dGFibGUpOwotCi0gICAgICAgIGlmICggZC0+Z3JhbnRfdGFibGUtPmd0X3ZlcnNpb24gPT0gMCAp Ci0gICAgICAgICAgICBkLT5ncmFudF90YWJsZS0+Z3RfdmVyc2lvbiA9IDE7Ci0KLSAgICAgICAg aWYgKCBkLT5ncmFudF90YWJsZS0+Z3RfdmVyc2lvbiA9PSAyICYmCi0gICAgICAgICAgICAgICAg KGlkeCAmIFhFTk1BUElEWF9ncmFudF90YWJsZV9zdGF0dXMpICkKLSAgICAgICAgewotICAgICAg ICAgICAgaWR4ICY9IH5YRU5NQVBJRFhfZ3JhbnRfdGFibGVfc3RhdHVzOwotICAgICAgICAgICAg aWYgKCBpZHggPCBucl9zdGF0dXNfZnJhbWVzKGQtPmdyYW50X3RhYmxlKSApCi0gICAgICAgICAg ICAgICAgbWZuID0gdmlydF90b19tZm4oZC0+Z3JhbnRfdGFibGUtPnN0YXR1c1tpZHhdKTsKLSAg ICAgICAgfQotICAgICAgICBlbHNlCi0gICAgICAgIHsKLSAgICAgICAgICAgIGlmICggKGlkeCA+ PSBucl9ncmFudF9mcmFtZXMoZC0+Z3JhbnRfdGFibGUpKSAmJgotICAgICAgICAgICAgICAgICAo aWR4IDwgbWF4X2dyYW50X2ZyYW1lcykgKQotICAgICAgICAgICAgICAgIGdudHRhYl9ncm93X3Rh YmxlKGQsIGlkeCArIDEpOwotCi0gICAgICAgICAgICBpZiAoIGlkeCA8IG5yX2dyYW50X2ZyYW1l cyhkLT5ncmFudF90YWJsZSkgKQotICAgICAgICAgICAgICAgIG1mbiA9IHZpcnRfdG9fbWZuKGQt PmdyYW50X3RhYmxlLT5zaGFyZWRfcmF3W2lkeF0pOwotICAgICAgICB9Ci0KLSAgICAgICAgaWYg KCAhbWZuX2VxKG1mbiwgSU5WQUxJRF9NRk4pICkKLSAgICAgICAgewotICAgICAgICAgICAgZC0+ YXJjaC5ncmFudF90YWJsZV9nZm5baWR4XSA9IGdmbjsKLQotICAgICAgICAgICAgdCA9IHAybV9y YW1fcnc7Ci0gICAgICAgIH0KLQotICAgICAgICBncmFudF93cml0ZV91bmxvY2soZC0+Z3JhbnRf dGFibGUpOworICAgICAgICByYyA9IGdudHRhYl9tYXBfZnJhbWUoZCwgaWR4LCBnZm4sICZtZm4p OworICAgICAgICBpZiAoIHJjICkKKyAgICAgICAgICAgIHJldHVybiByYzsKIAotICAgICAgICBp ZiAoIG1mbl9lcShtZm4sIElOVkFMSURfTUZOKSApCi0gICAgICAgICAgICByZXR1cm4gLUVJTlZB TDsKKyAgICAgICAgdCA9IHAybV9yYW1fcnc7CiAKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBY RU5NQVBTUEFDRV9zaGFyZWRfaW5mbzoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9tbS5jIGIv eGVuL2FyY2gveDg2L21tLmMKaW5kZXggMmFiZWM2N2Y2YS4uNjdmNTgzZTNhNyAxMDA2NDQKLS0t IGEveGVuL2FyY2gveDg2L21tLmMKKysrIGIveGVuL2FyY2gveDg2L21tLmMKQEAgLTQ1NDksNDAg KzQ1NDksMjEgQEAgaW50IHhlbm1lbV9hZGRfdG9fcGh5c21hcF9vbmUoCiB7CiAgICAgc3RydWN0 IHBhZ2VfaW5mbyAqcGFnZSA9IE5VTEw7CiAgICAgdW5zaWduZWQgbG9uZyBnZm4gPSAwOyAvKiBn Y2MgLi4uICovCi0gICAgdW5zaWduZWQgbG9uZyBwcmV2X21mbiwgbWZuID0gMCwgb2xkX2dwZm47 CisgICAgdW5zaWduZWQgbG9uZyBwcmV2X21mbiwgb2xkX2dwZm47CiAgICAgaW50IHJjID0gMDsK KyAgICBtZm5fdCBtZm4gPSBJTlZBTElEX01GTjsKICAgICBwMm1fdHlwZV90IHAybXQ7CiAKICAg ICBzd2l0Y2ggKCBzcGFjZSApCiAgICAgewogICAgICAgICBjYXNlIFhFTk1BUFNQQUNFX3NoYXJl ZF9pbmZvOgogICAgICAgICAgICAgaWYgKCBpZHggPT0gMCApCi0gICAgICAgICAgICAgICAgbWZu ID0gdmlydF90b19tZm4oZC0+c2hhcmVkX2luZm8pOworICAgICAgICAgICAgICAgIG1mbiA9IF9t Zm4odmlydF90b19tZm4oZC0+c2hhcmVkX2luZm8pKTsKICAgICAgICAgICAgIGJyZWFrOwogICAg ICAgICBjYXNlIFhFTk1BUFNQQUNFX2dyYW50X3RhYmxlOgotICAgICAgICAgICAgZ3JhbnRfd3Jp dGVfbG9jayhkLT5ncmFudF90YWJsZSk7Ci0KLSAgICAgICAgICAgIGlmICggZC0+Z3JhbnRfdGFi bGUtPmd0X3ZlcnNpb24gPT0gMCApCi0gICAgICAgICAgICAgICAgZC0+Z3JhbnRfdGFibGUtPmd0 X3ZlcnNpb24gPSAxOwotCi0gICAgICAgICAgICBpZiAoIGQtPmdyYW50X3RhYmxlLT5ndF92ZXJz aW9uID09IDIgJiYKLSAgICAgICAgICAgICAgICAgKGlkeCAmIFhFTk1BUElEWF9ncmFudF90YWJs ZV9zdGF0dXMpICkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBpZHggJj0gflhFTk1B UElEWF9ncmFudF90YWJsZV9zdGF0dXM7Ci0gICAgICAgICAgICAgICAgaWYgKCBpZHggPCBucl9z dGF0dXNfZnJhbWVzKGQtPmdyYW50X3RhYmxlKSApCi0gICAgICAgICAgICAgICAgICAgIG1mbiA9 IHZpcnRfdG9fbWZuKGQtPmdyYW50X3RhYmxlLT5zdGF0dXNbaWR4XSk7Ci0gICAgICAgICAgICB9 Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgaWYgKCAo aWR4ID49IG5yX2dyYW50X2ZyYW1lcyhkLT5ncmFudF90YWJsZSkpICYmCi0gICAgICAgICAgICAg ICAgICAgICAoaWR4IDwgbWF4X2dyYW50X2ZyYW1lcykgKQotICAgICAgICAgICAgICAgICAgICBn bnR0YWJfZ3Jvd190YWJsZShkLCBpZHggKyAxKTsKLQotICAgICAgICAgICAgICAgIGlmICggaWR4 IDwgbnJfZ3JhbnRfZnJhbWVzKGQtPmdyYW50X3RhYmxlKSApCi0gICAgICAgICAgICAgICAgICAg IG1mbiA9IHZpcnRfdG9fbWZuKGQtPmdyYW50X3RhYmxlLT5zaGFyZWRfcmF3W2lkeF0pOwotICAg ICAgICAgICAgfQotCi0gICAgICAgICAgICBncmFudF93cml0ZV91bmxvY2soZC0+Z3JhbnRfdGFi bGUpOworICAgICAgICAgICAgcmMgPSBnbnR0YWJfbWFwX2ZyYW1lKGQsIGlkeCwgZ3BmbiwgJm1m bik7CisgICAgICAgICAgICBpZiAoIHJjICkKKyAgICAgICAgICAgICAgICByZXR1cm4gcmM7CiAg ICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBYRU5NQVBTUEFDRV9nbWZuX3JhbmdlOgog ICAgICAgICBjYXNlIFhFTk1BUFNQQUNFX2dtZm46CkBAIC00NTk5LDggKzQ1ODAsOCBAQCBpbnQg eGVubWVtX2FkZF90b19waHlzbWFwX29uZSgKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGlm ICggIWdldF9wYWdlX2Zyb21fbWZuKF9tZm4oaWR4KSwgZCkgKQogICAgICAgICAgICAgICAgIGJy ZWFrOwotICAgICAgICAgICAgbWZuID0gaWR4OwotICAgICAgICAgICAgcGFnZSA9IG1mbl90b19w YWdlKF9tZm4obWZuKSk7CisgICAgICAgICAgICBtZm4gPSBfbWZuKGlkeCk7CisgICAgICAgICAg ICBwYWdlID0gbWZuX3RvX3BhZ2UobWZuKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9 CiAgICAgICAgIGNhc2UgWEVOTUFQU1BBQ0VfZ21mbl9mb3JlaWduOgpAQCAtNDYwOSw3ICs0NTkw LDcgQEAgaW50IHhlbm1lbV9hZGRfdG9fcGh5c21hcF9vbmUoCiAgICAgICAgICAgICBicmVhazsK ICAgICB9CiAKLSAgICBpZiAoICFwYWdpbmdfbW9kZV90cmFuc2xhdGUoZCkgfHwgKG1mbiA9PSAw KSApCisgICAgaWYgKCAhcGFnaW5nX21vZGVfdHJhbnNsYXRlKGQpIHx8IG1mbl9lcShtZm4sIElO VkFMSURfTUZOKSApCiAgICAgewogICAgICAgICByYyA9IC1FSU5WQUw7CiAgICAgICAgIGdvdG8g cHV0X2JvdGg7CkBAIC00NjMzLDE2ICs0NjE0LDE2IEBAIGludCB4ZW5tZW1fYWRkX3RvX3BoeXNt YXBfb25lKAogICAgICAgICBnb3RvIHB1dF9ib3RoOwogCiAgICAgLyogVW5tYXAgZnJvbSBvbGQg bG9jYXRpb24sIGlmIGFueS4gKi8KLSAgICBvbGRfZ3BmbiA9IGdldF9ncGZuX2Zyb21fbWZuKG1m bik7CisgICAgb2xkX2dwZm4gPSBnZXRfZ3Bmbl9mcm9tX21mbihtZm5feChtZm4pKTsKICAgICBB U1NFUlQoIG9sZF9ncGZuICE9IFNIQVJFRF9NMlBfRU5UUlkgKTsKICAgICBpZiAoIHNwYWNlID09 IFhFTk1BUFNQQUNFX2dtZm4gfHwgc3BhY2UgPT0gWEVOTUFQU1BBQ0VfZ21mbl9yYW5nZSApCiAg ICAgICAgIEFTU0VSVCggb2xkX2dwZm4gPT0gZ2ZuICk7CiAgICAgaWYgKCBvbGRfZ3BmbiAhPSBJ TlZBTElEX00yUF9FTlRSWSApCi0gICAgICAgIHJjID0gZ3Vlc3RfcGh5c21hcF9yZW1vdmVfcGFn ZShkLCBfZ2ZuKG9sZF9ncGZuKSwgX21mbihtZm4pLCBQQUdFX09SREVSXzRLKTsKKyAgICAgICAg cmMgPSBndWVzdF9waHlzbWFwX3JlbW92ZV9wYWdlKGQsIF9nZm4ob2xkX2dwZm4pLCBtZm4sIFBB R0VfT1JERVJfNEspOwogCiAgICAgLyogTWFwIGF0IG5ldyBsb2NhdGlvbi4gKi8KICAgICBpZiAo ICFyYyApCi0gICAgICAgIHJjID0gZ3Vlc3RfcGh5c21hcF9hZGRfcGFnZShkLCBncGZuLCBfbWZu KG1mbiksIFBBR0VfT1JERVJfNEspOworICAgICAgICByYyA9IGd1ZXN0X3BoeXNtYXBfYWRkX3Bh Z2UoZCwgZ3BmbiwgbWZuLCBQQUdFX09SREVSXzRLKTsKIAogIHB1dF9ib3RoOgogICAgIC8qIElu IHRoZSBYRU5NQVBTUEFDRV9nbWZuLCB3ZSB0b29rIGEgcmVmIG9mIHRoZSBnZm4gYXQgdGhlIHRv cCAqLwpkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9ncmFudF90YWJsZS5jIGIveGVuL2NvbW1vbi9n cmFudF90YWJsZS5jCmluZGV4IDAwZmYwNzViZDkuLjFiMThlNWY5Y2MgMTAwNjQ0Ci0tLSBhL3hl bi9jb21tb24vZ3JhbnRfdGFibGUuYworKysgYi94ZW4vY29tbW9uL2dyYW50X3RhYmxlLmMKQEAg LTE1ODAsNyArMTU4MCw3IEBAIGdudHRhYl91bnBvcHVsYXRlX3N0YXR1c19mcmFtZXMoc3RydWN0 IGRvbWFpbiAqZCwgc3RydWN0IGdyYW50X3RhYmxlICpndCkKICAqIEdyb3cgdGhlIGdyYW50IHRh YmxlLiBUaGUgY2FsbGVyIG11c3QgaG9sZCB0aGUgZ3JhbnQgdGFibGUncwogICogd3JpdGUgbG9j ayBiZWZvcmUgY2FsbGluZyB0aGlzIGZ1bmN0aW9uLgogICovCi1pbnQKK3N0YXRpYyBpbnQKIGdu dHRhYl9ncm93X3RhYmxlKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGludCByZXFfbnJfZnJh bWVzKQogewogICAgIHN0cnVjdCBncmFudF90YWJsZSAqZ3QgPSBkLT5ncmFudF90YWJsZTsKQEAg LTM2MDgsNiArMzYwOCw0NSBAQCBpbnQgbWVtX3NoYXJpbmdfZ3JlZl90b19nZm4oc3RydWN0IGdy YW50X3RhYmxlICpndCwgZ3JhbnRfcmVmX3QgcmVmLAogfQogI2VuZGlmCiAKK2ludCBnbnR0YWJf bWFwX2ZyYW1lKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGxvbmcgaWR4LCBnZm5fdCBnZm4s CisgICAgICAgICAgICAgICAgICAgICBtZm5fdCAqbWZuKQoreworICAgIGludCByYyA9IDA7Cisg ICAgc3RydWN0IGdyYW50X3RhYmxlICpndCA9IGQtPmdyYW50X3RhYmxlOworCisgICAgZ3JhbnRf d3JpdGVfbG9jayhndCk7CisKKyAgICBpZiAoIGd0LT5ndF92ZXJzaW9uID09IDAgKQorICAgICAg ICBndC0+Z3RfdmVyc2lvbiA9IDE7CisKKyAgICBpZiAoIGd0LT5ndF92ZXJzaW9uID09IDIgJiYK KyAgICAgICAgIChpZHggJiBYRU5NQVBJRFhfZ3JhbnRfdGFibGVfc3RhdHVzKSApCisgICAgewor ICAgICAgICBpZHggJj0gflhFTk1BUElEWF9ncmFudF90YWJsZV9zdGF0dXM7CisgICAgICAgIGlm ICggaWR4IDwgbnJfc3RhdHVzX2ZyYW1lcyhndCkgKQorICAgICAgICAgICAgKm1mbiA9IF9tZm4o dmlydF90b19tZm4oZ3QtPnN0YXR1c1tpZHhdKSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAg IHJjID0gLUVJTlZBTDsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgaWYgKCAoaWR4 ID49IG5yX2dyYW50X2ZyYW1lcyhndCkpICYmIChpZHggPCBtYXhfZ3JhbnRfZnJhbWVzKSApCisg ICAgICAgICAgICBnbnR0YWJfZ3Jvd190YWJsZShkLCBpZHggKyAxKTsKKworICAgICAgICBpZiAo IGlkeCA8IG5yX2dyYW50X2ZyYW1lcyhndCkgKQorICAgICAgICAgICAgKm1mbiA9IF9tZm4odmly dF90b19tZm4oZ3QtPnNoYXJlZF9yYXdbaWR4XSkpOworICAgICAgICBlbHNlCisgICAgICAgICAg ICByYyA9IC1FSU5WQUw7CisgICAgfQorCisgICAgaWYgKCAhcmMgKQorICAgICAgICBnbnR0YWJf c2V0X2ZyYW1lX2dmbihkLCBpZHgsIGdmbik7CisKKyAgICBncmFudF93cml0ZV91bmxvY2soZ3Qp OworCisgICAgcmV0dXJuIHJjOworfQorCiBzdGF0aWMgdm9pZCBnbnR0YWJfdXNhZ2VfcHJpbnQo c3RydWN0IGRvbWFpbiAqcmQpCiB7CiAgICAgaW50IGZpcnN0ID0gMTsKZGlmZiAtLWdpdCBhL3hl bi9pbmNsdWRlL2FzbS1hcm0vZ3JhbnRfdGFibGUuaCBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vZ3Jh bnRfdGFibGUuaAppbmRleCBiYzRkNjFhOTQwLi4wYTI0OGE3NjVhIDEwMDY0NAotLS0gYS94ZW4v aW5jbHVkZS9hc20tYXJtL2dyYW50X3RhYmxlLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLWFybS9n cmFudF90YWJsZS5oCkBAIC0yLDYgKzIsNyBAQAogI2RlZmluZSBfX0FTTV9HUkFOVF9UQUJMRV9I X18KIAogI2luY2x1ZGUgPHhlbi9ncmFudF90YWJsZS5oPgorI2luY2x1ZGUgPHhlbi9zY2hlZC5o PgogCiAjZGVmaW5lIElOSVRJQUxfTlJfR1JBTlRfRlJBTUVTIDQKIApAQCAtMjEsNiArMjIsMTIg QEAgc3RhdGljIGlubGluZSBpbnQgcmVwbGFjZV9ncmFudF9zdXBwb3J0ZWQodm9pZCkKICAgICBy ZXR1cm4gMTsKIH0KIAorc3RhdGljIGlubGluZSB2b2lkIGdudHRhYl9zZXRfZnJhbWVfZ2ZuKHN0 cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGxvbmcgaWR4LAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGdmbl90IGdmbikKK3sKKyAgICBkLT5hcmNoLmdyYW50X3RhYmxl X2dmbltpZHhdID0gZ2ZuOworfQorCiAjZGVmaW5lIGdudHRhYl9jcmVhdGVfc2hhcmVkX3BhZ2Uo ZCwgdCwgaSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIGRvIHsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFwKICAgICAgICAgc2hhcmVfeGVuX3BhZ2Vfd2l0aF9ndWVzdCggICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBcCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L2dy YW50X3RhYmxlLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L2dyYW50X3RhYmxlLmgKaW5kZXggMzNi MmY4OGI5Ni4uYzg2NTk5OWEzMyAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9ncmFu dF90YWJsZS5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvZ3JhbnRfdGFibGUuaApAQCAtNzUs NiArNzUsMTEgQEAgc3RhdGljIGlubGluZSB2b2lkIGdudHRhYl9jbGVhcl9mbGFnKHVuc2lnbmVk IGludCBuciwgdWludDE2X3QgKnN0KQogICAgIGFzbSB2b2xhdGlsZSAoImxvY2sgYnRydyAldzEs JTAiIDogIj1tIiAoKnN0KSA6ICJJciIgKG5yKSwgIm0iICgqc3QpKTsKIH0KIAorc3RhdGljIGlu bGluZSB2b2lkIGdudHRhYl9zZXRfZnJhbWVfZ2ZuKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVk IGxvbmcgaWR4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdmbl90 IGdmbikKK3sKK30KKwogLyogRm9yZWlnbiBtYXBwaW5ncyBvZiBISFZNLWd1ZXN0IHBhZ2VzIGRv IG5vdCBtb2RpZnkgdGhlIHR5cGUgY291bnQuICovCiAjZGVmaW5lIGdudHRhYl9ob3N0X21hcHBp bmdfZ2V0X3BhZ2VfdHlwZShybywgbGQsIHJkKSAgIFwKICAgICAoIShybykgJiYgKCgobGQpID09 IChyZCkpIHx8ICFwYWdpbmdfbW9kZV9leHRlcm5hbChyZCkpKQpkaWZmIC0tZ2l0IGEveGVuL2lu Y2x1ZGUveGVuL2dyYW50X3RhYmxlLmggYi94ZW4vaW5jbHVkZS94ZW4vZ3JhbnRfdGFibGUuaApp bmRleCBhZjI2OWExMDhkLi5mYzA1OGFiZmVjIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS94ZW4v Z3JhbnRfdGFibGUuaAorKysgYi94ZW4vaW5jbHVkZS94ZW4vZ3JhbnRfdGFibGUuaApAQCAtMTA2 LDEyICsxMDYsNiBAQCB2b2lkCiBnbnR0YWJfcmVsZWFzZV9tYXBwaW5ncygKICAgICBzdHJ1Y3Qg ZG9tYWluICpkKTsKIAotLyogSW5jcmVhc2UgdGhlIHNpemUgb2YgYSBkb21haW4ncyBncmFudCB0 YWJsZS4KLSAqIENhbGxlciBtdXN0IGhvbGQgZCdzIGdyYW50IHRhYmxlIHdyaXRlIGxvY2suCi0g Ki8KLWludAotZ250dGFiX2dyb3dfdGFibGUoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50 IHJlcV9ucl9mcmFtZXMpOwotCiAvKiBOdW1iZXIgb2YgZ3JhbnQgdGFibGUgZnJhbWVzLiBDYWxs ZXIgbXVzdCBob2xkIGQncyBncmFudCB0YWJsZSBsb2NrLiAqLwogc3RhdGljIGlubGluZSB1bnNp Z25lZCBpbnQgbnJfZ3JhbnRfZnJhbWVzKHN0cnVjdCBncmFudF90YWJsZSAqZ3QpCiB7CkBAIC0x MzYsNCArMTMwLDcgQEAgc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgZ3JhbnRfdG9fc3RhdHVz X2ZyYW1lcyhpbnQgZ3JhbnRfZnJhbWVzKQogaW50IG1lbV9zaGFyaW5nX2dyZWZfdG9fZ2ZuKHN0 cnVjdCBncmFudF90YWJsZSAqZ3QsIGdyYW50X3JlZl90IHJlZiwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBnZm5fdCAqZ2ZuLCB1aW50MTZfdCAqc3RhdHVzKTsKIAoraW50IGdudHRhYl9t YXBfZnJhbWUoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgbG9uZyBpZHgsIGdmbl90IGdmbiwK KyAgICAgICAgICAgICAgICAgICAgIG1mbl90ICptZm4pOworCiAjZW5kaWYgLyogX19YRU5fR1JB TlRfVEFCTEVfSF9fICovCi0tIAoyLjEyLjMKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0 cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK