From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: [PATCH 5/8] xen: Use the typesafe mfn and gfn in map_mmio_regions... Date: Tue, 14 Jun 2016 13:07:04 +0100 Message-ID: <1465906027-16614-6-git-send-email-julien.grall@arm.com> References: <1465906027-16614-1-git-send-email-julien.grall@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1465906027-16614-1-git-send-email-julien.grall@arm.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: sstabellini@kernel.org, Wei Liu , George Dunlap , Andrew Cooper , Ian Jackson , Tim Deegan , Julien Grall , Jan Beulich , wei.chen@linaro.org List-Id: xen-devel@lists.xenproject.org dG8gYXZvaWQgbWl4aW5nIG1hY2hpbmUgZnJhbWUgd2l0aCBndWVzdCBmcmFtZS4KClNpZ25lZC1v ZmYtYnk6IEp1bGllbiBHcmFsbCA8anVsaWVuLmdyYWxsQGFybS5jb20+CgotLS0KQ2M6IFN0ZWZh bm8gU3RhYmVsbGluaSA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz4KQ2M6IEphbiBCZXVsaWNoIDxq YmV1bGljaEBzdXNlLmNvbT4KQ2M6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJp eC5jb20+CkNjOiBHZW9yZ2UgRHVubGFwIDxnZW9yZ2UuZHVubGFwQGV1LmNpdHJpeC5jb20+CkNj OiBJYW4gSmFja3NvbiA8aWFuLmphY2tzb25AZXUuY2l0cml4LmNvbT4KQ2M6IEtvbnJhZCBSemVz enV0ZWsgV2lsayA8a29ucmFkLndpbGtAb3JhY2xlLmNvbT4KQ2M6IFRpbSBEZWVnYW4gPHRpbUB4 ZW4ub3JnPgpDYzogV2VpIExpdSA8d2VpLmxpdTJAY2l0cml4LmNvbT4KLS0tCiB4ZW4vYXJjaC9h cm0vZG9tYWluX2J1aWxkLmMgICAgICB8ICA0ICsrLS0KIHhlbi9hcmNoL2FybS9naWMtdjIuYyAg ICAgICAgICAgIHwgIDQgKystLQogeGVuL2FyY2gvYXJtL3AybS5jICAgICAgICAgICAgICAgfCAy MiArKysrKysrKysrKy0tLS0tLS0tLS0tCiB4ZW4vYXJjaC9hcm0vcGxhdGZvcm1zL2V4eW5vczUu YyB8ICA4ICsrKystLS0tCiB4ZW4vYXJjaC9hcm0vcGxhdGZvcm1zL29tYXA1LmMgICB8IDE2ICsr KysrKysrLS0tLS0tLS0KIHhlbi9hcmNoL2FybS92Z2ljLXYyLmMgICAgICAgICAgIHwgIDQgKyst LQogeGVuL2FyY2gveDg2L21tL3AybS5jICAgICAgICAgICAgfCAxOCArKysrKysrKysrLS0tLS0t LS0KIHhlbi9jb21tb24vZG9tY3RsLmMgICAgICAgICAgICAgIHwgIDQgKystLQogeGVuL2luY2x1 ZGUveGVuL3AybS1jb21tb24uaCAgICAgfCAgOCArKysrLS0tLQogOSBmaWxlcyBjaGFuZ2VkLCA0 NSBpbnNlcnRpb25zKCspLCA0MyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9h cm0vZG9tYWluX2J1aWxkLmMgYi94ZW4vYXJjaC9hcm0vZG9tYWluX2J1aWxkLmMKaW5kZXggMDJi NDUzOS4uODY1NTM5YSAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL2RvbWFpbl9idWlsZC5jCisr KyBiL3hlbi9hcmNoL2FybS9kb21haW5fYnVpbGQuYwpAQCAtMTA0Miw5ICsxMDQyLDkgQEAgc3Rh dGljIGludCBtYXBfcmFuZ2VfdG9fZG9tYWluKGNvbnN0IHN0cnVjdCBkdF9kZXZpY2Vfbm9kZSAq ZGV2LAogICAgIGlmICggbmVlZF9tYXBwaW5nICkKICAgICB7CiAgICAgICAgIHJlcyA9IG1hcF9t bWlvX3JlZ2lvbnMoZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkcl90b19w Zm4oYWRkciksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX2dmbihwYWRkcl90b19w Zm4oYWRkcikpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERJVl9ST1VORF9VUChs ZW4sIFBBR0VfU0laRSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZHJfdG9f cGZuKGFkZHIpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfbWZuKHBhZGRyX3Rv X3BmbihhZGRyKSkpOwogICAgICAgICBpZiAoIHJlcyA8IDAgKQogICAgICAgICB7CiAgICAgICAg ICAgICBwcmludGsoWEVOTE9HX0VSUiAiVW5hYmxlIHRvIG1hcCAweCUiUFJJeDY0CmRpZmYgLS1n aXQgYS94ZW4vYXJjaC9hcm0vZ2ljLXYyLmMgYi94ZW4vYXJjaC9hcm0vZ2ljLXYyLmMKaW5kZXgg MmMxYzBiYS4uNTg5MTdjOCAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL2dpYy12Mi5jCisrKyBi L3hlbi9hcmNoL2FybS9naWMtdjIuYwpAQCAtNjAxLDkgKzYwMSw5IEBAIHN0YXRpYyBpbnQgZ2lj djJfbWFwX2h3ZG93bl9leHRyYV9tYXBwaW5ncyhzdHJ1Y3QgZG9tYWluICpkKQogICAgICAgICAg ICAgICAgZC0+ZG9tYWluX2lkLCB2Mm1fZGF0YS0+YWRkciwgdjJtX2RhdGEtPnNpemUsCiAgICAg ICAgICAgICAgICB2Mm1fZGF0YS0+c3BpX3N0YXJ0LCB2Mm1fZGF0YS0+bnJfc3Bpcyk7CiAKLSAg ICAgICAgcmV0ID0gbWFwX21taW9fcmVnaW9ucyhkLCBwYWRkcl90b19wZm4odjJtX2RhdGEtPmFk ZHIpLAorICAgICAgICByZXQgPSBtYXBfbW1pb19yZWdpb25zKGQsIF9nZm4ocGFkZHJfdG9fcGZu KHYybV9kYXRhLT5hZGRyKSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRElWX1JPVU5E X1VQKHYybV9kYXRhLT5zaXplLCBQQUdFX1NJWkUpLAotICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHBhZGRyX3RvX3Bmbih2Mm1fZGF0YS0+YWRkcikpOworICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF9tZm4ocGFkZHJfdG9fcGZuKHYybV9kYXRhLT5hZGRyKSkpOwogICAgICAgICBpZiAo IHJldCApCiAgICAgICAgIHsKICAgICAgICAgICAgIHByaW50ayhYRU5MT0dfRVJSICJHSUN2Mjog TWFwIHYybSBmcmFtZSB0byBkJWQgZmFpbGVkLlxuIiwKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2Fy bS9wMm0uYyBiL3hlbi9hcmNoL2FybS9wMm0uYwppbmRleCBkZWNlYzBkLi40ODMxY2YxIDEwMDY0 NAotLS0gYS94ZW4vYXJjaC9hcm0vcDJtLmMKKysrIGIveGVuL2FyY2gvYXJtL3AybS5jCkBAIC0x MjQzLDI3ICsxMjQzLDI3IEBAIGludCB1bm1hcF9yZWdpb25zX3J3X2NhY2hlKHN0cnVjdCBkb21h aW4gKmQsCiB9CiAKIGludCBtYXBfbW1pb19yZWdpb25zKHN0cnVjdCBkb21haW4gKmQsCi0gICAg ICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIHN0YXJ0X2dmbiwKKyAgICAgICAgICAgICAg ICAgICAgIGdmbl90IHN0YXJ0X2dmbiwKICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxv bmcgbnIsCi0gICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIG1mbikKKyAgICAgICAg ICAgICAgICAgICAgIG1mbl90IG1mbikKIHsKICAgICByZXR1cm4gYXBwbHlfcDJtX2NoYW5nZXMo ZCwgSU5TRVJULAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZm5fdG9fcGFkZHIoc3Rh cnRfZ2ZuKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGZuX3RvX3BhZGRyKHN0YXJ0 X2dmbiArIG5yKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGZuX3RvX3BhZGRyKG1m biksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBmbl90b19wYWRkcihnZm5feChzdGFy dF9nZm4pKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGZuX3RvX3BhZGRyKGdmbl94 KHN0YXJ0X2dmbikgKyBuciksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBmbl90b19w YWRkcihtZm5feChtZm4pKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUFUVFJfREVW LCAwLCBwMm1fbW1pb19kaXJlY3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQtPmFy Y2gucDJtLmRlZmF1bHRfYWNjZXNzKTsKIH0KIAogaW50IHVubWFwX21taW9fcmVnaW9ucyhzdHJ1 Y3QgZG9tYWluICpkLAotICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIHN0YXJ0 X2dmbiwKKyAgICAgICAgICAgICAgICAgICAgICAgZ2ZuX3Qgc3RhcnRfZ2ZuLAogICAgICAgICAg ICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIG5yLAotICAgICAgICAgICAgICAgICAgICAgICB1 bnNpZ25lZCBsb25nIG1mbikKKyAgICAgICAgICAgICAgICAgICAgICAgbWZuX3QgbWZuKQogewog ICAgIHJldHVybiBhcHBseV9wMm1fY2hhbmdlcyhkLCBSRU1PVkUsCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHBmbl90b19wYWRkcihzdGFydF9nZm4pLAotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBwZm5fdG9fcGFkZHIoc3RhcnRfZ2ZuICsgbnIpLAotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBwZm5fdG9fcGFkZHIobWZuKSwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgcGZuX3RvX3BhZGRyKGdmbl94KHN0YXJ0X2dmbikpLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBwZm5fdG9fcGFkZHIoZ2ZuX3goc3RhcnRfZ2ZuKSArIG5yKSwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgcGZuX3RvX3BhZGRyKG1mbl94KG1mbikpLAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBNQVRUUl9ERVYsIDAsIHAybV9pbnZhbGlkLAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBkLT5hcmNoLnAybS5kZWZhdWx0X2FjY2Vzcyk7CiB9CkBAIC0x Mjc4LDcgKzEyNzgsNyBAQCBpbnQgbWFwX2Rldl9tbWlvX3JlZ2lvbihzdHJ1Y3QgZG9tYWluICpk LAogICAgIGlmICggIShuciAmJiBpb21lbV9hY2Nlc3NfcGVybWl0dGVkKGQsIHN0YXJ0X2dmbiwg c3RhcnRfZ2ZuICsgbnIgLSAxKSkgKQogICAgICAgICByZXR1cm4gMDsKIAotICAgIHJlcyA9IG1h cF9tbWlvX3JlZ2lvbnMoZCwgc3RhcnRfZ2ZuLCBuciwgbWZuKTsKKyAgICByZXMgPSBtYXBfbW1p b19yZWdpb25zKGQsIF9nZm4oc3RhcnRfZ2ZuKSwgbnIsIF9tZm4obWZuKSk7CiAgICAgaWYgKCBy ZXMgPCAwICkKICAgICB7CiAgICAgICAgIHByaW50ayhYRU5MT0dfR19FUlIgIlVuYWJsZSB0byBt YXAgWyUjbHggLSAlI2x4XSBpbiBEb20lZFxuIiwKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9w bGF0Zm9ybXMvZXh5bm9zNS5jIGIveGVuL2FyY2gvYXJtL3BsYXRmb3Jtcy9leHlub3M1LmMKaW5k ZXggYmY0OTY0ZC4uYzQzOTM0ZiAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL3BsYXRmb3Jtcy9l eHlub3M1LmMKKysrIGIveGVuL2FyY2gvYXJtL3BsYXRmb3Jtcy9leHlub3M1LmMKQEAgLTgzLDEy ICs4MywxMiBAQCBzdGF0aWMgaW50IGV4eW5vczVfaW5pdF90aW1lKHZvaWQpCiBzdGF0aWMgaW50 IGV4eW5vczUyNTBfc3BlY2lmaWNfbWFwcGluZyhzdHJ1Y3QgZG9tYWluICpkKQogewogICAgIC8q IE1hcCB0aGUgY2hpcCBJRCAqLwotICAgIG1hcF9tbWlvX3JlZ2lvbnMoZCwgcGFkZHJfdG9fcGZu KEVYWU5PUzVfUEFfQ0hJUElEKSwgMSwKLSAgICAgICAgICAgICAgICAgICAgIHBhZGRyX3RvX3Bm bihFWFlOT1M1X1BBX0NISVBJRCkpOworICAgIG1hcF9tbWlvX3JlZ2lvbnMoZCwgX2dmbihwYWRk cl90b19wZm4oRVhZTk9TNV9QQV9DSElQSUQpKSwgMSwKKyAgICAgICAgICAgICAgICAgICAgIF9t Zm4ocGFkZHJfdG9fcGZuKEVYWU5PUzVfUEFfQ0hJUElEKSkpOwogCiAgICAgLyogTWFwIHRoZSBQ V00gcmVnaW9uICovCi0gICAgbWFwX21taW9fcmVnaW9ucyhkLCBwYWRkcl90b19wZm4oRVhZTk9T NV9QQV9USU1FUiksIDIsCi0gICAgICAgICAgICAgICAgICAgICBwYWRkcl90b19wZm4oRVhZTk9T NV9QQV9USU1FUikpOworICAgIG1hcF9tbWlvX3JlZ2lvbnMoZCwgX2dmbihwYWRkcl90b19wZm4o RVhZTk9TNV9QQV9USU1FUikpLCAyLAorICAgICAgICAgICAgICAgICAgICAgX21mbihwYWRkcl90 b19wZm4oRVhZTk9TNV9QQV9USU1FUikpKTsKIAogICAgIHJldHVybiAwOwogfQpkaWZmIC0tZ2l0 IGEveGVuL2FyY2gvYXJtL3BsYXRmb3Jtcy9vbWFwNS5jIGIveGVuL2FyY2gvYXJtL3BsYXRmb3Jt cy9vbWFwNS5jCmluZGV4IGE0OWJhNjIuLjUzOTU4OGUgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2Fy bS9wbGF0Zm9ybXMvb21hcDUuYworKysgYi94ZW4vYXJjaC9hcm0vcGxhdGZvcm1zL29tYXA1LmMK QEAgLTEwMiwyMCArMTAyLDIwIEBAIHN0YXRpYyBpbnQgb21hcDVfaW5pdF90aW1lKHZvaWQpCiBz dGF0aWMgaW50IG9tYXA1X3NwZWNpZmljX21hcHBpbmcoc3RydWN0IGRvbWFpbiAqZCkKIHsKICAg ICAvKiBNYXAgdGhlIFBSTSBtb2R1bGUgKi8KLSAgICBtYXBfbW1pb19yZWdpb25zKGQsIHBhZGRy X3RvX3BmbihPTUFQNV9QUk1fQkFTRSksIDIsCi0gICAgICAgICAgICAgICAgICAgICBwYWRkcl90 b19wZm4oT01BUDVfUFJNX0JBU0UpKTsKKyAgICBtYXBfbW1pb19yZWdpb25zKGQsIF9nZm4ocGFk ZHJfdG9fcGZuKE9NQVA1X1BSTV9CQVNFKSksIDIsCisgICAgICAgICAgICAgICAgICAgICBfbWZu KHBhZGRyX3RvX3BmbihPTUFQNV9QUk1fQkFTRSkpKTsKIAogICAgIC8qIE1hcCB0aGUgUFJNX01Q VSAqLwotICAgIG1hcF9tbWlvX3JlZ2lvbnMoZCwgcGFkZHJfdG9fcGZuKE9NQVA1X1BSQ01fTVBV X0JBU0UpLCAxLAotICAgICAgICAgICAgICAgICAgICAgcGFkZHJfdG9fcGZuKE9NQVA1X1BSQ01f TVBVX0JBU0UpKTsKKyAgICBtYXBfbW1pb19yZWdpb25zKGQsIF9nZm4ocGFkZHJfdG9fcGZuKE9N QVA1X1BSQ01fTVBVX0JBU0UpKSwgMSwKKyAgICAgICAgICAgICAgICAgICAgIF9tZm4ocGFkZHJf dG9fcGZuKE9NQVA1X1BSQ01fTVBVX0JBU0UpKSk7CiAKICAgICAvKiBNYXAgdGhlIFdha2V1cCBH ZW4gKi8KLSAgICBtYXBfbW1pb19yZWdpb25zKGQsIHBhZGRyX3RvX3BmbihPTUFQNV9XS1VQR0VO X0JBU0UpLCAxLAotICAgICAgICAgICAgICAgICAgICAgcGFkZHJfdG9fcGZuKE9NQVA1X1dLVVBH RU5fQkFTRSkpOworICAgIG1hcF9tbWlvX3JlZ2lvbnMoZCwgX2dmbihwYWRkcl90b19wZm4oT01B UDVfV0tVUEdFTl9CQVNFKSksIDEsCisgICAgICAgICAgICAgICAgICAgICBfbWZuKHBhZGRyX3Rv X3BmbihPTUFQNV9XS1VQR0VOX0JBU0UpKSk7CiAKICAgICAvKiBNYXAgdGhlIG9uLWNoaXAgU1JB TSAqLwotICAgIG1hcF9tbWlvX3JlZ2lvbnMoZCwgcGFkZHJfdG9fcGZuKE9NQVA1X1NSQU1fUEEp LCAzMiwKLSAgICAgICAgICAgICAgICAgICAgIHBhZGRyX3RvX3BmbihPTUFQNV9TUkFNX1BBKSk7 CisgICAgbWFwX21taW9fcmVnaW9ucyhkLCBfZ2ZuKHBhZGRyX3RvX3BmbihPTUFQNV9TUkFNX1BB KSksIDMyLAorICAgICAgICAgICAgICAgICAgICAgX21mbihwYWRkcl90b19wZm4oT01BUDVfU1JB TV9QQSkpKTsKIAogICAgIHJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL3Zn aWMtdjIuYyBiL3hlbi9hcmNoL2FybS92Z2ljLXYyLmMKaW5kZXggOWFkYjRhOS4uY2JlNjFjZiAx MDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL3ZnaWMtdjIuYworKysgYi94ZW4vYXJjaC9hcm0vdmdp Yy12Mi5jCkBAIC02ODgsOCArNjg4LDggQEAgc3RhdGljIGludCB2Z2ljX3YyX2RvbWFpbl9pbml0 KHN0cnVjdCBkb21haW4gKmQpCiAgICAgICogTWFwIHRoZSBnaWMgdmlydHVhbCBjcHUgaW50ZXJm YWNlIGluIHRoZSBnaWMgY3B1IGludGVyZmFjZQogICAgICAqIHJlZ2lvbiBvZiB0aGUgZ3Vlc3Qu CiAgICAgICovCi0gICAgcmV0ID0gbWFwX21taW9fcmVnaW9ucyhkLCBwYWRkcl90b19wZm4oY2Jh c2UpLCBjc2l6ZSAvIFBBR0VfU0laRSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRy X3RvX3Bmbih2YmFzZSkpOworICAgIHJldCA9IG1hcF9tbWlvX3JlZ2lvbnMoZCwgX2dmbihwYWRk cl90b19wZm4oY2Jhc2UpKSwgY3NpemUgLyBQQUdFX1NJWkUsCisgICAgICAgICAgICAgICAgICAg ICAgICAgICBfbWZuKHBhZGRyX3RvX3Bmbih2YmFzZSkpKTsKICAgICBpZiAoIHJldCApCiAgICAg ICAgIHJldHVybiByZXQ7CiAKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9tbS9wMm0uYyBiL3hl bi9hcmNoL3g4Ni9tbS9wMm0uYwppbmRleCBmYWY2ZTEzLi4wNzBlZmQ0IDEwMDY0NAotLS0gYS94 ZW4vYXJjaC94ODYvbW0vcDJtLmMKKysrIGIveGVuL2FyY2gveDg2L21tL3AybS5jCkBAIC0yMjAy LDkgKzIyMDIsOSBAQCBzdGF0aWMgdW5zaWduZWQgaW50IG1taW9fb3JkZXIoY29uc3Qgc3RydWN0 IGRvbWFpbiAqZCwKICNkZWZpbmUgTUFQX01NSU9fTUFYX0lURVIgNjQgLyogcHJldHR5IGFyYml0 cmFyeSAqLwogCiBpbnQgbWFwX21taW9fcmVnaW9ucyhzdHJ1Y3QgZG9tYWluICpkLAotICAgICAg ICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBzdGFydF9nZm4sCisgICAgICAgICAgICAgICAg ICAgICBnZm5fdCBzdGFydF9nZm4sCiAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25n IG5yLAotICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBtZm4pCisgICAgICAgICAg ICAgICAgICAgICBtZm5fdCBtZm4pCiB7CiAgICAgaW50IHJldCA9IDA7CiAgICAgdW5zaWduZWQg bG9uZyBpOwpAQCAtMjIxNywxMCArMjIxNywxMSBAQCBpbnQgbWFwX21taW9fcmVnaW9ucyhzdHJ1 Y3QgZG9tYWluICpkLAogICAgICAgICAgIGkgKz0gMVVMIDw8IG9yZGVyLCArK2l0ZXIgKQogICAg IHsKICAgICAgICAgLyogT1InaW5nIGdmbiBhbmQgbWZuIHZhbHVlcyB3aWxsIHJldHVybiBhbiBv cmRlciBzdWl0YWJsZSB0byBib3RoLiAqLwotICAgICAgICBmb3IgKCBvcmRlciA9IG1taW9fb3Jk ZXIoZCwgKHN0YXJ0X2dmbiArIGkpIHwgKG1mbiArIGkpLCBuciAtIGkpOyA7CisgICAgICAgIGZv ciAoIG9yZGVyID0gbW1pb19vcmRlcihkLCAoZ2ZuX3goc3RhcnRfZ2ZuKSArIGkpIHwgKG1mbl94 KG1mbikgKyBpKSwgbnIgLSBpKTsgOwogICAgICAgICAgICAgICBvcmRlciA9IHJldCAtIDEgKQog ICAgICAgICB7Ci0gICAgICAgICAgICByZXQgPSBzZXRfbW1pb19wMm1fZW50cnkoZCwgc3RhcnRf Z2ZuICsgaSwgX21mbihtZm4gKyBpKSwgb3JkZXIsCisgICAgICAgICAgICByZXQgPSBzZXRfbW1p b19wMm1fZW50cnkoZCwgZ2ZuX3goc3RhcnRfZ2ZuKSArIGksCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgX21mbihtZm5feChtZm4pICsgaSksIG9yZGVyLAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHAybV9nZXRfaG9zdHAybShkKS0+ZGVmYXVsdF9h Y2Nlc3MpOwogICAgICAgICAgICAgaWYgKCByZXQgPD0gMCApCiAgICAgICAgICAgICAgICAgYnJl YWs7CkBAIC0yMjM0LDkgKzIyMzUsOSBAQCBpbnQgbWFwX21taW9fcmVnaW9ucyhzdHJ1Y3QgZG9t YWluICpkLAogfQogCiBpbnQgdW5tYXBfbW1pb19yZWdpb25zKHN0cnVjdCBkb21haW4gKmQsCi0g ICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgc3RhcnRfZ2ZuLAorICAgICAgICAg ICAgICAgICAgICAgICBnZm5fdCBzdGFydF9nZm4sCiAgICAgICAgICAgICAgICAgICAgICAgIHVu c2lnbmVkIGxvbmcgbnIsCi0gICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgbWZu KQorICAgICAgICAgICAgICAgICAgICAgICBtZm5fdCBtZm4pCiB7CiAgICAgaW50IHJldCA9IDA7 CiAgICAgdW5zaWduZWQgbG9uZyBpOwpAQCAtMjI0OSwxMCArMjI1MCwxMSBAQCBpbnQgdW5tYXBf bW1pb19yZWdpb25zKHN0cnVjdCBkb21haW4gKmQsCiAgICAgICAgICAgaSArPSAxVUwgPDwgb3Jk ZXIsICsraXRlciApCiAgICAgewogICAgICAgICAvKiBPUidpbmcgZ2ZuIGFuZCBtZm4gdmFsdWVz IHdpbGwgcmV0dXJuIGFuIG9yZGVyIHN1aXRhYmxlIHRvIGJvdGguICovCi0gICAgICAgIGZvciAo IG9yZGVyID0gbW1pb19vcmRlcihkLCAoc3RhcnRfZ2ZuICsgaSkgfCAobWZuICsgaSksIG5yIC0g aSk7IDsKKyAgICAgICAgZm9yICggb3JkZXIgPSBtbWlvX29yZGVyKGQsIChnZm5feChzdGFydF9n Zm4pICsgaSkgfCAobWZuX3gobWZuKSArIGkpLCBuciAtIGkpOyA7CiAgICAgICAgICAgICAgIG9y ZGVyID0gcmV0IC0gMSApCiAgICAgICAgIHsKLSAgICAgICAgICAgIHJldCA9IGNsZWFyX21taW9f cDJtX2VudHJ5KGQsIHN0YXJ0X2dmbiArIGksIF9tZm4obWZuICsgaSksIG9yZGVyKTsKKyAgICAg ICAgICAgIHJldCA9IGNsZWFyX21taW9fcDJtX2VudHJ5KGQsIGdmbl94KHN0YXJ0X2dmbikgKyBp LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX21mbihtZm5feChtZm4p ICsgaSksIG9yZGVyKTsKICAgICAgICAgICAgIGlmICggcmV0IDw9IDAgKQogICAgICAgICAgICAg ICAgIGJyZWFrOwogICAgICAgICAgICAgQVNTRVJUKHJldCA8PSBvcmRlcik7CmRpZmYgLS1naXQg YS94ZW4vY29tbW9uL2RvbWN0bC5jIGIveGVuL2NvbW1vbi9kb21jdGwuYwppbmRleCBlNDM5MDRl Li5iNzg0ZTZjIDEwMDY0NAotLS0gYS94ZW4vY29tbW9uL2RvbWN0bC5jCisrKyBiL3hlbi9jb21t b24vZG9tY3RsLmMKQEAgLTEwNzQsNyArMTA3NCw3IEBAIGxvbmcgZG9fZG9tY3RsKFhFTl9HVUVT VF9IQU5ETEVfUEFSQU0oeGVuX2RvbWN0bF90KSB1X2RvbWN0bCkKICAgICAgICAgICAgICAgICAg ICAibWVtb3J5X21hcDphZGQ6IGRvbSVkIGdmbj0lbHggbWZuPSVseCBucj0lbHhcbiIsCiAgICAg ICAgICAgICAgICAgICAgZC0+ZG9tYWluX2lkLCBnZm4sIG1mbiwgbnJfbWZucyk7CiAKLSAgICAg ICAgICAgIHJldCA9IG1hcF9tbWlvX3JlZ2lvbnMoZCwgZ2ZuLCBucl9tZm5zLCBtZm4pOworICAg ICAgICAgICAgcmV0ID0gbWFwX21taW9fcmVnaW9ucyhkLCBfZ2ZuKGdmbiksIG5yX21mbnMsIF9t Zm4obWZuKSk7CiAgICAgICAgICAgICBpZiAoIHJldCA8IDAgKQogICAgICAgICAgICAgICAgIHBy aW50ayhYRU5MT0dfR19XQVJOSU5HCiAgICAgICAgICAgICAgICAgICAgICAgICJtZW1vcnlfbWFw OmZhaWw6IGRvbSVkIGdmbj0lbHggbWZuPSVseCBucj0lbHggcmV0OiVsZFxuIiwKQEAgLTEwODYs NyArMTA4Niw3IEBAIGxvbmcgZG9fZG9tY3RsKFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0oeGVuX2Rv bWN0bF90KSB1X2RvbWN0bCkKICAgICAgICAgICAgICAgICAgICAibWVtb3J5X21hcDpyZW1vdmU6 IGRvbSVkIGdmbj0lbHggbWZuPSVseCBucj0lbHhcbiIsCiAgICAgICAgICAgICAgICAgICAgZC0+ ZG9tYWluX2lkLCBnZm4sIG1mbiwgbnJfbWZucyk7CiAKLSAgICAgICAgICAgIHJldCA9IHVubWFw X21taW9fcmVnaW9ucyhkLCBnZm4sIG5yX21mbnMsIG1mbik7CisgICAgICAgICAgICByZXQgPSB1 bm1hcF9tbWlvX3JlZ2lvbnMoZCwgX2dmbihnZm4pLCBucl9tZm5zLCBfbWZuKG1mbikpOwogICAg ICAgICAgICAgaWYgKCByZXQgPCAwICYmIGlzX2hhcmR3YXJlX2RvbWFpbihjdXJyZW50LT5kb21h aW4pICkKICAgICAgICAgICAgICAgICBwcmludGsoWEVOTE9HX0VSUgogICAgICAgICAgICAgICAg ICAgICAgICAibWVtb3J5X21hcDogZXJyb3IgJWxkIHJlbW92aW5nIGRvbSVkIGFjY2VzcyB0byBb JWx4LCVseF1cbiIsCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS94ZW4vcDJtLWNvbW1vbi5oIGIv eGVuL2luY2x1ZGUveGVuL3AybS1jb21tb24uaAppbmRleCA2Mzc0YTViLi5iNGY5MDc3IDEwMDY0 NAotLS0gYS94ZW4vaW5jbHVkZS94ZW4vcDJtLWNvbW1vbi5oCisrKyBiL3hlbi9pbmNsdWRlL3hl bi9wMm0tY29tbW9uLmgKQEAgLTM3LDEzICszNywxMyBAQCB0eXBlZGVmIGVudW0gewogICogICog dGhlIGd1ZXN0IHBoeXNpY2FsIGFkZHJlc3Mgc3BhY2UgdG8gbWFwLCBzdGFydGluZyBmcm9tIHRo ZSBtYWNoaW5lCiAgKiAgICogZnJhbWUgbnVtYmVyIG1mbi4gKi8KIGludCBtYXBfbW1pb19yZWdp b25zKHN0cnVjdCBkb21haW4gKmQsCi0gICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25n IHN0YXJ0X2dmbiwKKyAgICAgICAgICAgICAgICAgICAgIGdmbl90IHN0YXJ0X2dmbiwKICAgICAg ICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgbnIsCi0gICAgICAgICAgICAgICAgICAgICB1 bnNpZ25lZCBsb25nIG1mbik7CisgICAgICAgICAgICAgICAgICAgICBtZm5fdCBtZm4pOwogaW50 IHVubWFwX21taW9fcmVnaW9ucyhzdHJ1Y3QgZG9tYWluICpkLAotICAgICAgICAgICAgICAgICAg ICAgICB1bnNpZ25lZCBsb25nIHN0YXJ0X2dmbiwKKyAgICAgICAgICAgICAgICAgICAgICAgZ2Zu X3Qgc3RhcnRfZ2ZuLAogICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIG5yLAot ICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIG1mbik7CisgICAgICAgICAgICAg ICAgICAgICAgIG1mbl90IG1mbik7CiAKIC8qCiAgKiBTZXQgYWNjZXNzIHR5cGUgZm9yIGEgcmVn aW9uIG9mIGdmbnMuCi0tIAoxLjkuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhl bi5vcmcKaHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==