From mboxrd@z Thu Jan 1 00:00:00 1970 From: jglisse@redhat.com Subject: [PATCH v4 2/9] mm/mmu_notifier: contextual information for event triggering invalidation Date: Wed, 23 Jan 2019 17:23:08 -0500 Message-ID: <20190123222315.1122-3-jglisse@redhat.com> References: <20190123222315.1122-1-jglisse@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190123222315.1122-1-jglisse@redhat.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: linux-mm@kvack.org Cc: Ralph Campbell , Jan Kara , Arnd Bergmann , kvm@vger.kernel.org, Matthew Wilcox , linux-rdma@vger.kernel.org, John Hubbard , Felix Kuehling , =?UTF-8?q?Radim=20Kr=C4=8Dm=C3=A1=C5=99?= , Dan Williams , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Michal Hocko , =?UTF-8?q?J=C3=A9r=C3=B4me=20Glisse?= , Jason Gunthorpe , Ross Zwisler , linux-fsdevel@vger.kernel.org, Paolo Bonzini , Andrew Morton , =?UTF-8?q?Christian=20K=C3=B6nig?= List-Id: linux-rdma@vger.kernel.org RnJvbTogSsOpcsO0bWUgR2xpc3NlIDxqZ2xpc3NlQHJlZGhhdC5jb20+CgpDUFUgcGFnZSB0YWJs ZSB1cGRhdGUgY2FuIGhhcHBlbnMgZm9yIG1hbnkgcmVhc29ucywgbm90IG9ubHkgYXMgYSByZXN1 bHQKb2YgYSBzeXNjYWxsIChtdW5tYXAoKSwgbXByb3RlY3QoKSwgbXJlbWFwKCksIG1hZHZpc2Uo KSwgLi4uKSBidXQgYWxzbwphcyBhIHJlc3VsdCBvZiBrZXJuZWwgYWN0aXZpdGllcyAobWVtb3J5 IGNvbXByZXNzaW9uLCByZWNsYWltLCBtaWdyYXRpb24sCi4uLikuCgpVc2VycyBvZiBtbXUgbm90 aWZpZXIgQVBJIHRyYWNrIGNoYW5nZXMgdG8gdGhlIENQVSBwYWdlIHRhYmxlIGFuZCB0YWtlCnNw ZWNpZmljIGFjdGlvbiBmb3IgdGhlbS4gV2hpbGUgY3VycmVudCBBUEkgb25seSBwcm92aWRlIHJh bmdlIG9mIHZpcnR1YWwKYWRkcmVzcyBhZmZlY3RlZCBieSB0aGUgY2hhbmdlLCBub3Qgd2h5IHRo ZSBjaGFuZ2VzIGlzIGhhcHBlbmluZy4KClRoaXMgcGF0Y2hzZXQgZG8gdGhlIGluaXRpYWwgbWVj aGFuaWNhbCBjb252ZXJ0aW9uIG9mIGFsbCB0aGUgcGxhY2VzIHRoYXQKY2FsbHMgbW11X25vdGlm aWVyX3JhbmdlX2luaXQgdG8gYWxzbyBwcm92aWRlIHRoZSBkZWZhdWx0IE1NVV9OT1RJRllfVU5N QVAKZXZlbnQgYXMgd2VsbCBhcyB0aGUgdm1hIGlmIGl0IGlzIGtub3cgKG1vc3QgaW52YWxpZGF0 aW9uIGhhcHBlbnMgYWdhaW5zdAphIGdpdmVuIHZtYSkuIFBhc3NpbmcgZG93biB0aGUgdm1hIGFs bG93cyB0aGUgdXNlcnMgb2YgbW11IG5vdGlmaWVyIHRvCmluc3BlY3QgdGhlIG5ldyB2bWEgcGFn ZSBwcm90ZWN0aW9uLgoKVGhlIE1NVV9OT1RJRllfVU5NQVAgaXMgYWx3YXlzIHRoZSBzYWZlIGRl ZmF1bHQgYXMgdXNlcnMgb2YgbW11IG5vdGlmaWVyCnNob3VsZCBhc3N1bWUgdGhhdCBldmVyeSBm b3IgdGhlIHJhbmdlIGlzIGdvaW5nIGF3YXkgd2hlbiB0aGF0IGV2ZW50CmhhcHBlbnMuIEEgbGF0 dGVyIHBhdGNoIGRvIGNvbnZlcnQgbW0gY2FsbCBwYXRoIHRvIHVzZSBhIG1vcmUgYXBwcm9wcmlh dGUKZXZlbnRzIGZvciBlYWNoIGNhbGwuCgpUaGlzIGlzIGRvbmUgYXMgMiBwYXRjaGVzIHNvIHRo YXQgbm8gY2FsbCBzaXRlIGlzIGZvcmdvdHRlbiBlc3BlY2lhbHkKYXMgaXQgdXNlcyB0aGlzIGZv bGxvd2luZyBjb2NjaW5lbGxlIHBhdGNoOgoKJTwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkBACmlkZW50aWZpZXIg STEsIEkyLCBJMywgSTQ7CkBACnN0YXRpYyBpbmxpbmUgdm9pZCBtbXVfbm90aWZpZXJfcmFuZ2Vf aW5pdChzdHJ1Y3QgbW11X25vdGlmaWVyX3JhbmdlICpJMSwKK2VudW0gbW11X25vdGlmaWVyX2V2 ZW50IGV2ZW50LAorc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEsCnN0cnVjdCBtbV9zdHJ1Y3Qg KkkyLCB1bnNpZ25lZCBsb25nIEkzLCB1bnNpZ25lZCBsb25nIEk0KSB7IC4uLiB9CgpAQApAQAot I2RlZmluZSBtbXVfbm90aWZpZXJfcmFuZ2VfaW5pdChyYW5nZSwgbW0sIHN0YXJ0LCBlbmQpCisj ZGVmaW5lIG1tdV9ub3RpZmllcl9yYW5nZV9pbml0KHJhbmdlLCBldmVudCwgdm1hLCBtbSwgc3Rh cnQsIGVuZCkKCkBACmV4cHJlc3Npb24gRTEsIEUzLCBFNDsKaWRlbnRpZmllciBJMTsKQEAKPC4u LgptbXVfbm90aWZpZXJfcmFuZ2VfaW5pdChFMSwKK01NVV9OT1RJRllfVU5NQVAsIEkxLApJMS0+ dm1fbW0sIEUzLCBFNCkKLi4uPgoKQEAKZXhwcmVzc2lvbiBFMSwgRTIsIEUzLCBFNDsKaWRlbnRp ZmllciBGTiwgVk1BOwpAQApGTiguLi4sIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqVk1BLCAuLi4p IHsKPC4uLgptbXVfbm90aWZpZXJfcmFuZ2VfaW5pdChFMSwKK01NVV9OT1RJRllfVU5NQVAsIFZN QSwKRTIsIEUzLCBFNCkKLi4uPiB9CgpAQApleHByZXNzaW9uIEUxLCBFMiwgRTMsIEU0OwppZGVu dGlmaWVyIEZOLCBWTUE7CkBACkZOKC4uLikgewpzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKlZNQTsK PC4uLgptbXVfbm90aWZpZXJfcmFuZ2VfaW5pdChFMSwKK01NVV9OT1RJRllfVU5NQVAsIFZNQSwK RTIsIEUzLCBFNCkKLi4uPiB9CgpAQApleHByZXNzaW9uIEUxLCBFMiwgRTMsIEU0OwppZGVudGlm aWVyIEZOOwpAQApGTiguLi4pIHsKPC4uLgptbXVfbm90aWZpZXJfcmFuZ2VfaW5pdChFMSwKK01N VV9OT1RJRllfVU5NQVAsIE5VTEwsCkUyLCBFMywgRTQpCi4uLj4gfQotLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPiUK CkFwcGxpZWQgd2l0aDoKc3BhdGNoIC0tYWxsLWluY2x1ZGVzIC0tc3AtZmlsZSBtbXUtbm90aWZp ZXIuc3BhdGNoIGZzL3Byb2MvdGFza19tbXUuYyAtLWluLXBsYWNlCnNwYXRjaCAtLXNwLWZpbGUg bW11LW5vdGlmaWVyLnNwYXRjaCAtLWRpciBrZXJuZWwvZXZlbnRzLyAtLWluLXBsYWNlCnNwYXRj aCAtLXNwLWZpbGUgbW11LW5vdGlmaWVyLnNwYXRjaCAtLWRpciBtbSAtLWluLXBsYWNlCgpTaWdu ZWQtb2ZmLWJ5OiBKw6lyw7RtZSBHbGlzc2UgPGpnbGlzc2VAcmVkaGF0LmNvbT4KQ2M6IENocmlz dGlhbiBLw7ZuaWcgPGNocmlzdGlhbi5rb2VuaWdAYW1kLmNvbT4KQ2M6IEphbiBLYXJhIDxqYWNr QHN1c2UuY3o+CkNjOiBGZWxpeCBLdWVobGluZyA8RmVsaXguS3VlaGxpbmdAYW1kLmNvbT4KQ2M6 IEphc29uIEd1bnRob3JwZSA8amdnQG1lbGxhbm94LmNvbT4KQ2M6IEFuZHJldyBNb3J0b24gPGFr cG1AbGludXgtZm91bmRhdGlvbi5vcmc+CkNjOiBNYXR0aGV3IFdpbGNveCA8bWF3aWxjb3hAbWlj cm9zb2Z0LmNvbT4KQ2M6IFJvc3MgWndpc2xlciA8endpc2xlckBrZXJuZWwub3JnPgpDYzogRGFu IFdpbGxpYW1zIDxkYW4uai53aWxsaWFtc0BpbnRlbC5jb20+CkNjOiBQYW9sbyBCb256aW5pIDxw Ym9uemluaUByZWRoYXQuY29tPgpDYzogUmFkaW0gS3LEjW3DocWZIDxya3JjbWFyQHJlZGhhdC5j b20+CkNjOiBNaWNoYWwgSG9ja28gPG1ob2Nrb0BrZXJuZWwub3JnPgpDYzogUmFscGggQ2FtcGJl bGwgPHJjYW1wYmVsbEBudmlkaWEuY29tPgpDYzogSm9obiBIdWJiYXJkIDxqaHViYmFyZEBudmlk aWEuY29tPgpDYzoga3ZtQHZnZXIua2VybmVsLm9yZwpDYzogZHJpLWRldmVsQGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwpDYzogbGludXgtcmRtYUB2Z2VyLmtlcm5lbC5vcmcKQ2M6IGxpbnV4LWZzZGV2 ZWxAdmdlci5rZXJuZWwub3JnCkNjOiBBcm5kIEJlcmdtYW5uIDxhcm5kQGFybmRiLmRlPgotLS0K IGZzL3Byb2MvdGFza19tbXUuYyAgICAgICAgICAgfCAgMyArKy0KIGluY2x1ZGUvbGludXgvbW11 X25vdGlmaWVyLmggfCAgNCArKystCiBrZXJuZWwvZXZlbnRzL3Vwcm9iZXMuYyAgICAgIHwgIDMg KystCiBtbS9odWdlX21lbW9yeS5jICAgICAgICAgICAgIHwgMTIgKysrKysrKystLS0tCiBtbS9o dWdldGxiLmMgICAgICAgICAgICAgICAgIHwgMTAgKysrKysrLS0tLQogbW0va2h1Z2VwYWdlZC5j ICAgICAgICAgICAgICB8ICAzICsrLQogbW0va3NtLmMgICAgICAgICAgICAgICAgICAgICB8ICA2 ICsrKystLQogbW0vbWFkdmlzZS5jICAgICAgICAgICAgICAgICB8ICAzICsrLQogbW0vbWVtb3J5 LmMgICAgICAgICAgICAgICAgICB8IDI1ICsrKysrKysrKysrKysrKystLS0tLS0tLS0KIG1tL21p Z3JhdGUuYyAgICAgICAgICAgICAgICAgfCAgNSArKysrLQogbW0vbXByb3RlY3QuYyAgICAgICAg ICAgICAgICB8ICAzICsrLQogbW0vbXJlbWFwLmMgICAgICAgICAgICAgICAgICB8ICAzICsrLQog bW0vb29tX2tpbGwuYyAgICAgICAgICAgICAgICB8ICAzICsrLQogbW0vcm1hcC5jICAgICAgICAg ICAgICAgICAgICB8ICA2ICsrKystLQogMTQgZmlsZXMgY2hhbmdlZCwgNTkgaW5zZXJ0aW9ucygr KSwgMzAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZnMvcHJvYy90YXNrX21tdS5jIGIvZnMv cHJvYy90YXNrX21tdS5jCmluZGV4IGYwZWM5ZWRhYjJmMy4uNTdlN2Y5ODY0N2QzIDEwMDY0NAot LS0gYS9mcy9wcm9jL3Rhc2tfbW11LmMKKysrIGIvZnMvcHJvYy90YXNrX21tdS5jCkBAIC0xMTQz LDcgKzExNDMsOCBAQCBzdGF0aWMgc3NpemVfdCBjbGVhcl9yZWZzX3dyaXRlKHN0cnVjdCBmaWxl ICpmaWxlLCBjb25zdCBjaGFyIF9fdXNlciAqYnVmLAogCQkJCWJyZWFrOwogCQkJfQogCi0JCQlt bXVfbm90aWZpZXJfcmFuZ2VfaW5pdCgmcmFuZ2UsIG1tLCAwLCAtMVVMKTsKKwkJCW1tdV9ub3Rp Zmllcl9yYW5nZV9pbml0KCZyYW5nZSwgTU1VX05PVElGWV9VTk1BUCwKKwkJCQkJCU5VTEwsIG1t LCAwLCAtMVVMKTsKIAkJCW1tdV9ub3RpZmllcl9pbnZhbGlkYXRlX3JhbmdlX3N0YXJ0KCZyYW5n ZSk7CiAJCX0KIAkJd2Fsa19wYWdlX3JhbmdlKDAsIG1tLT5oaWdoZXN0X3ZtX2VuZCwgJmNsZWFy X3JlZnNfd2Fsayk7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L21tdV9ub3RpZmllci5oIGIv aW5jbHVkZS9saW51eC9tbXVfbm90aWZpZXIuaAppbmRleCBhYmM5ZGJiN2JjYjYuLmE5ODA4YWRk NDA3MCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9tbXVfbm90aWZpZXIuaAorKysgYi9pbmNs dWRlL2xpbnV4L21tdV9ub3RpZmllci5oCkBAIC0zNDgsNiArMzQ4LDggQEAgc3RhdGljIGlubGlu ZSB2b2lkIG1tdV9ub3RpZmllcl9tbV9kZXN0cm95KHN0cnVjdCBtbV9zdHJ1Y3QgKm1tKQogCiAK IHN0YXRpYyBpbmxpbmUgdm9pZCBtbXVfbm90aWZpZXJfcmFuZ2VfaW5pdChzdHJ1Y3QgbW11X25v dGlmaWVyX3JhbmdlICpyYW5nZSwKKwkJCQkJICAgZW51bSBtbXVfbm90aWZpZXJfZXZlbnQgZXZl bnQsCisJCQkJCSAgIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hLAogCQkJCQkgICBzdHJ1Y3Qg bW1fc3RydWN0ICptbSwKIAkJCQkJICAgdW5zaWduZWQgbG9uZyBzdGFydCwKIAkJCQkJICAgdW5z aWduZWQgbG9uZyBlbmQpCkBAIC00ODIsNyArNDg0LDcgQEAgc3RhdGljIGlubGluZSB2b2lkIF9t bXVfbm90aWZpZXJfcmFuZ2VfaW5pdChzdHJ1Y3QgbW11X25vdGlmaWVyX3JhbmdlICpyYW5nZSwK IAlyYW5nZS0+ZW5kID0gZW5kOwogfQogCi0jZGVmaW5lIG1tdV9ub3RpZmllcl9yYW5nZV9pbml0 KHJhbmdlLCBtbSwgc3RhcnQsIGVuZCkgXAorI2RlZmluZSBtbXVfbm90aWZpZXJfcmFuZ2VfaW5p dChyYW5nZSxldmVudCx2bWEsbW0sc3RhcnQsZW5kKSAgXAogCV9tbXVfbm90aWZpZXJfcmFuZ2Vf aW5pdChyYW5nZSwgc3RhcnQsIGVuZCkKIAogCmRpZmYgLS1naXQgYS9rZXJuZWwvZXZlbnRzL3Vw cm9iZXMuYyBiL2tlcm5lbC9ldmVudHMvdXByb2Jlcy5jCmluZGV4IDhhZWY0N2VlN2JmYS4uYjY3 ZmU3ZTU5NjIxIDEwMDY0NAotLS0gYS9rZXJuZWwvZXZlbnRzL3Vwcm9iZXMuYworKysgYi9rZXJu ZWwvZXZlbnRzL3Vwcm9iZXMuYwpAQCAtMTc0LDcgKzE3NCw4IEBAIHN0YXRpYyBpbnQgX19yZXBs YWNlX3BhZ2Uoc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEsIHVuc2lnbmVkIGxvbmcgYWRkciwK IAlzdHJ1Y3QgbW11X25vdGlmaWVyX3JhbmdlIHJhbmdlOwogCXN0cnVjdCBtZW1fY2dyb3VwICpt ZW1jZzsKIAotCW1tdV9ub3RpZmllcl9yYW5nZV9pbml0KCZyYW5nZSwgbW0sIGFkZHIsIGFkZHIg KyBQQUdFX1NJWkUpOworCW1tdV9ub3RpZmllcl9yYW5nZV9pbml0KCZyYW5nZSwgTU1VX05PVElG WV9VTk1BUCwgdm1hLCBtbSwgYWRkciwKKwkJCQlhZGRyICsgUEFHRV9TSVpFKTsKIAogCVZNX0JV R19PTl9QQUdFKFBhZ2VUcmFuc0h1Z2Uob2xkX3BhZ2UpLCBvbGRfcGFnZSk7CiAKZGlmZiAtLWdp dCBhL21tL2h1Z2VfbWVtb3J5LmMgYi9tbS9odWdlX21lbW9yeS5jCmluZGV4IGZhZjM1N2VhZjBj ZS4uYjM1M2U4Yjc4NzZmIDEwMDY0NAotLS0gYS9tbS9odWdlX21lbW9yeS5jCisrKyBiL21tL2h1 Z2VfbWVtb3J5LmMKQEAgLTExODIsNyArMTE4Miw4IEBAIHN0YXRpYyB2bV9mYXVsdF90IGRvX2h1 Z2VfcG1kX3dwX3BhZ2VfZmFsbGJhY2soc3RydWN0IHZtX2ZhdWx0ICp2bWYsCiAJCWNvbmRfcmVz Y2hlZCgpOwogCX0KIAotCW1tdV9ub3RpZmllcl9yYW5nZV9pbml0KCZyYW5nZSwgdm1hLT52bV9t bSwgaGFkZHIsCisJbW11X25vdGlmaWVyX3JhbmdlX2luaXQoJnJhbmdlLCBNTVVfTk9USUZZX1VO TUFQLCB2bWEsIHZtYS0+dm1fbW0sCisJCQkJaGFkZHIsCiAJCQkJaGFkZHIgKyBIUEFHRV9QTURf U0laRSk7CiAJbW11X25vdGlmaWVyX2ludmFsaWRhdGVfcmFuZ2Vfc3RhcnQoJnJhbmdlKTsKIApA QCAtMTM0NSw3ICsxMzQ2LDggQEAgdm1fZmF1bHRfdCBkb19odWdlX3BtZF93cF9wYWdlKHN0cnVj dCB2bV9mYXVsdCAqdm1mLCBwbWRfdCBvcmlnX3BtZCkKIAkJCQkgICAgdm1hLCBIUEFHRV9QTURf TlIpOwogCV9fU2V0UGFnZVVwdG9kYXRlKG5ld19wYWdlKTsKIAotCW1tdV9ub3RpZmllcl9yYW5n ZV9pbml0KCZyYW5nZSwgdm1hLT52bV9tbSwgaGFkZHIsCisJbW11X25vdGlmaWVyX3JhbmdlX2lu aXQoJnJhbmdlLCBNTVVfTk9USUZZX1VOTUFQLCB2bWEsIHZtYS0+dm1fbW0sCisJCQkJaGFkZHIs CiAJCQkJaGFkZHIgKyBIUEFHRV9QTURfU0laRSk7CiAJbW11X25vdGlmaWVyX2ludmFsaWRhdGVf cmFuZ2Vfc3RhcnQoJnJhbmdlKTsKIApAQCAtMjAyMyw3ICsyMDI1LDggQEAgdm9pZCBfX3NwbGl0 X2h1Z2VfcHVkKHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hLCBwdWRfdCAqcHVkLAogCXNwaW5s b2NrX3QgKnB0bDsKIAlzdHJ1Y3QgbW11X25vdGlmaWVyX3JhbmdlIHJhbmdlOwogCi0JbW11X25v dGlmaWVyX3JhbmdlX2luaXQoJnJhbmdlLCB2bWEtPnZtX21tLCBhZGRyZXNzICYgSFBBR0VfUFVE X01BU0ssCisJbW11X25vdGlmaWVyX3JhbmdlX2luaXQoJnJhbmdlLCBNTVVfTk9USUZZX1VOTUFQ LCB2bWEsIHZtYS0+dm1fbW0sCisJCQkJYWRkcmVzcyAmIEhQQUdFX1BVRF9NQVNLLAogCQkJCShh ZGRyZXNzICYgSFBBR0VfUFVEX01BU0spICsgSFBBR0VfUFVEX1NJWkUpOwogCW1tdV9ub3RpZmll cl9pbnZhbGlkYXRlX3JhbmdlX3N0YXJ0KCZyYW5nZSk7CiAJcHRsID0gcHVkX2xvY2sodm1hLT52 bV9tbSwgcHVkKTsKQEAgLTIyNDEsNyArMjI0NCw4IEBAIHZvaWQgX19zcGxpdF9odWdlX3BtZChz dHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSwgcG1kX3QgKnBtZCwKIAlzcGlubG9ja190ICpwdGw7 CiAJc3RydWN0IG1tdV9ub3RpZmllcl9yYW5nZSByYW5nZTsKIAotCW1tdV9ub3RpZmllcl9yYW5n ZV9pbml0KCZyYW5nZSwgdm1hLT52bV9tbSwgYWRkcmVzcyAmIEhQQUdFX1BNRF9NQVNLLAorCW1t dV9ub3RpZmllcl9yYW5nZV9pbml0KCZyYW5nZSwgTU1VX05PVElGWV9VTk1BUCwgdm1hLCB2bWEt PnZtX21tLAorCQkJCWFkZHJlc3MgJiBIUEFHRV9QTURfTUFTSywKIAkJCQkoYWRkcmVzcyAmIEhQ QUdFX1BNRF9NQVNLKSArIEhQQUdFX1BNRF9TSVpFKTsKIAltbXVfbm90aWZpZXJfaW52YWxpZGF0 ZV9yYW5nZV9zdGFydCgmcmFuZ2UpOwogCXB0bCA9IHBtZF9sb2NrKHZtYS0+dm1fbW0sIHBtZCk7 CmRpZmYgLS1naXQgYS9tbS9odWdldGxiLmMgYi9tbS9odWdldGxiLmMKaW5kZXggZGYyZTdkZDVm ZjE3Li5jYmRhNDZhZDZhMzAgMTAwNjQ0Ci0tLSBhL21tL2h1Z2V0bGIuYworKysgYi9tbS9odWdl dGxiLmMKQEAgLTMyNDYsNyArMzI0Niw4IEBAIGludCBjb3B5X2h1Z2V0bGJfcGFnZV9yYW5nZShz dHJ1Y3QgbW1fc3RydWN0ICpkc3QsIHN0cnVjdCBtbV9zdHJ1Y3QgKnNyYywKIAljb3cgPSAodm1h LT52bV9mbGFncyAmIChWTV9TSEFSRUQgfCBWTV9NQVlXUklURSkpID09IFZNX01BWVdSSVRFOwog CiAJaWYgKGNvdykgewotCQltbXVfbm90aWZpZXJfcmFuZ2VfaW5pdCgmcmFuZ2UsIHNyYywgdm1h LT52bV9zdGFydCwKKwkJbW11X25vdGlmaWVyX3JhbmdlX2luaXQoJnJhbmdlLCBNTVVfTk9USUZZ X1VOTUFQLCB2bWEsIHNyYywKKwkJCQkJdm1hLT52bV9zdGFydCwKIAkJCQkJdm1hLT52bV9lbmQp OwogCQltbXVfbm90aWZpZXJfaW52YWxpZGF0ZV9yYW5nZV9zdGFydCgmcmFuZ2UpOwogCX0KQEAg LTMzNTgsNyArMzM1OSw3IEBAIHZvaWQgX191bm1hcF9odWdlcGFnZV9yYW5nZShzdHJ1Y3QgbW11 X2dhdGhlciAqdGxiLCBzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSwKIAkvKgogCSAqIElmIHNo YXJpbmcgcG9zc2libGUsIGFsZXJ0IG1tdSBub3RpZmllcnMgb2Ygd29yc3QgY2FzZS4KIAkgKi8K LQltbXVfbm90aWZpZXJfcmFuZ2VfaW5pdCgmcmFuZ2UsIG1tLCBzdGFydCwgZW5kKTsKKwltbXVf bm90aWZpZXJfcmFuZ2VfaW5pdCgmcmFuZ2UsIE1NVV9OT1RJRllfVU5NQVAsIHZtYSwgbW0sIHN0 YXJ0LCBlbmQpOwogCWFkanVzdF9yYW5nZV9pZl9wbWRfc2hhcmluZ19wb3NzaWJsZSh2bWEsICZy YW5nZS5zdGFydCwgJnJhbmdlLmVuZCk7CiAJbW11X25vdGlmaWVyX2ludmFsaWRhdGVfcmFuZ2Vf c3RhcnQoJnJhbmdlKTsKIAlhZGRyZXNzID0gc3RhcnQ7CkBAIC0zNjI2LDcgKzM2MjcsOCBAQCBz dGF0aWMgdm1fZmF1bHRfdCBodWdldGxiX2NvdyhzdHJ1Y3QgbW1fc3RydWN0ICptbSwgc3RydWN0 IHZtX2FyZWFfc3RydWN0ICp2bWEsCiAJX19TZXRQYWdlVXB0b2RhdGUobmV3X3BhZ2UpOwogCXNl dF9wYWdlX2h1Z2VfYWN0aXZlKG5ld19wYWdlKTsKIAotCW1tdV9ub3RpZmllcl9yYW5nZV9pbml0 KCZyYW5nZSwgbW0sIGhhZGRyLCBoYWRkciArIGh1Z2VfcGFnZV9zaXplKGgpKTsKKwltbXVfbm90 aWZpZXJfcmFuZ2VfaW5pdCgmcmFuZ2UsIE1NVV9OT1RJRllfVU5NQVAsIHZtYSwgbW0sIGhhZGRy LAorCQkJCWhhZGRyICsgaHVnZV9wYWdlX3NpemUoaCkpOwogCW1tdV9ub3RpZmllcl9pbnZhbGlk YXRlX3JhbmdlX3N0YXJ0KCZyYW5nZSk7CiAKIAkvKgpAQCAtNDM0Niw3ICs0MzQ4LDcgQEAgdW5z aWduZWQgbG9uZyBodWdldGxiX2NoYW5nZV9wcm90ZWN0aW9uKHN0cnVjdCB2bV9hcmVhX3N0cnVj dCAqdm1hLAogCSAqIHN0YXJ0L2VuZC4gIFNldCByYW5nZS5zdGFydC9yYW5nZS5lbmQgdG8gY292 ZXIgdGhlIG1heGltdW0gcG9zc2libGUKIAkgKiByYW5nZSBpZiBQTUQgc2hhcmluZyBpcyBwb3Nz aWJsZS4KIAkgKi8KLQltbXVfbm90aWZpZXJfcmFuZ2VfaW5pdCgmcmFuZ2UsIG1tLCBzdGFydCwg ZW5kKTsKKwltbXVfbm90aWZpZXJfcmFuZ2VfaW5pdCgmcmFuZ2UsIE1NVV9OT1RJRllfVU5NQVAs IHZtYSwgbW0sIHN0YXJ0LCBlbmQpOwogCWFkanVzdF9yYW5nZV9pZl9wbWRfc2hhcmluZ19wb3Nz aWJsZSh2bWEsICZyYW5nZS5zdGFydCwgJnJhbmdlLmVuZCk7CiAKIAlCVUdfT04oYWRkcmVzcyA+ PSBlbmQpOwpkaWZmIC0tZ2l0IGEvbW0va2h1Z2VwYWdlZC5jIGIvbW0va2h1Z2VwYWdlZC5jCmlu ZGV4IDRmMDE3MzM5ZGRiMi4uZjkwM2FjYjFiMGE2IDEwMDY0NAotLS0gYS9tbS9raHVnZXBhZ2Vk LmMKKysrIGIvbW0va2h1Z2VwYWdlZC5jCkBAIC0xMDE2LDcgKzEwMTYsOCBAQCBzdGF0aWMgdm9p ZCBjb2xsYXBzZV9odWdlX3BhZ2Uoc3RydWN0IG1tX3N0cnVjdCAqbW0sCiAJcHRlID0gcHRlX29m ZnNldF9tYXAocG1kLCBhZGRyZXNzKTsKIAlwdGVfcHRsID0gcHRlX2xvY2twdHIobW0sIHBtZCk7 CiAKLQltbXVfbm90aWZpZXJfcmFuZ2VfaW5pdCgmcmFuZ2UsIG1tLCBhZGRyZXNzLCBhZGRyZXNz ICsgSFBBR0VfUE1EX1NJWkUpOworCW1tdV9ub3RpZmllcl9yYW5nZV9pbml0KCZyYW5nZSwgTU1V X05PVElGWV9VTk1BUCwgTlVMTCwgbW0sIGFkZHJlc3MsCisJCQkJYWRkcmVzcyArIEhQQUdFX1BN RF9TSVpFKTsKIAltbXVfbm90aWZpZXJfaW52YWxpZGF0ZV9yYW5nZV9zdGFydCgmcmFuZ2UpOwog CXBtZF9wdGwgPSBwbWRfbG9jayhtbSwgcG1kKTsgLyogcHJvYmFibHkgdW5uZWNlc3NhcnkgKi8K IAkvKgpkaWZmIC0tZ2l0IGEvbW0va3NtLmMgYi9tbS9rc20uYwppbmRleCA2YzQ4YWQxM2I0Yzku LjZiMjdjNGYwZmIxZiAxMDA2NDQKLS0tIGEvbW0va3NtLmMKKysrIGIvbW0va3NtLmMKQEAgLTEw NTEsNyArMTA1MSw4IEBAIHN0YXRpYyBpbnQgd3JpdGVfcHJvdGVjdF9wYWdlKHN0cnVjdCB2bV9h cmVhX3N0cnVjdCAqdm1hLCBzdHJ1Y3QgcGFnZSAqcGFnZSwKIAogCUJVR19PTihQYWdlVHJhbnND b21wb3VuZChwYWdlKSk7CiAKLQltbXVfbm90aWZpZXJfcmFuZ2VfaW5pdCgmcmFuZ2UsIG1tLCBw dm13LmFkZHJlc3MsCisJbW11X25vdGlmaWVyX3JhbmdlX2luaXQoJnJhbmdlLCBNTVVfTk9USUZZ X1VOTUFQLCB2bWEsIG1tLAorCQkJCXB2bXcuYWRkcmVzcywKIAkJCQlwdm13LmFkZHJlc3MgKyBQ QUdFX1NJWkUpOwogCW1tdV9ub3RpZmllcl9pbnZhbGlkYXRlX3JhbmdlX3N0YXJ0KCZyYW5nZSk7 CiAKQEAgLTExMzksNyArMTE0MCw4IEBAIHN0YXRpYyBpbnQgcmVwbGFjZV9wYWdlKHN0cnVjdCB2 bV9hcmVhX3N0cnVjdCAqdm1hLCBzdHJ1Y3QgcGFnZSAqcGFnZSwKIAlpZiAoIXBtZCkKIAkJZ290 byBvdXQ7CiAKLQltbXVfbm90aWZpZXJfcmFuZ2VfaW5pdCgmcmFuZ2UsIG1tLCBhZGRyLCBhZGRy ICsgUEFHRV9TSVpFKTsKKwltbXVfbm90aWZpZXJfcmFuZ2VfaW5pdCgmcmFuZ2UsIE1NVV9OT1RJ RllfVU5NQVAsIHZtYSwgbW0sIGFkZHIsCisJCQkJYWRkciArIFBBR0VfU0laRSk7CiAJbW11X25v dGlmaWVyX2ludmFsaWRhdGVfcmFuZ2Vfc3RhcnQoJnJhbmdlKTsKIAogCXB0ZXAgPSBwdGVfb2Zm c2V0X21hcF9sb2NrKG1tLCBwbWQsIGFkZHIsICZwdGwpOwpkaWZmIC0tZ2l0IGEvbW0vbWFkdmlz ZS5jIGIvbW0vbWFkdmlzZS5jCmluZGV4IDIxYTc4ODFhMmRiNC4uMDQ0NDZkYWJiYTU2IDEwMDY0 NAotLS0gYS9tbS9tYWR2aXNlLmMKKysrIGIvbW0vbWFkdmlzZS5jCkBAIC00NzIsNyArNDcyLDgg QEAgc3RhdGljIGludCBtYWR2aXNlX2ZyZWVfc2luZ2xlX3ZtYShzdHJ1Y3Qgdm1fYXJlYV9zdHJ1 Y3QgKnZtYSwKIAlyYW5nZS5lbmQgPSBtaW4odm1hLT52bV9lbmQsIGVuZF9hZGRyKTsKIAlpZiAo cmFuZ2UuZW5kIDw9IHZtYS0+dm1fc3RhcnQpCiAJCXJldHVybiAtRUlOVkFMOwotCW1tdV9ub3Rp Zmllcl9yYW5nZV9pbml0KCZyYW5nZSwgbW0sIHJhbmdlLnN0YXJ0LCByYW5nZS5lbmQpOworCW1t dV9ub3RpZmllcl9yYW5nZV9pbml0KCZyYW5nZSwgTU1VX05PVElGWV9VTk1BUCwgdm1hLCBtbSwK KwkJCQlyYW5nZS5zdGFydCwgcmFuZ2UuZW5kKTsKIAogCWxydV9hZGRfZHJhaW4oKTsKIAl0bGJf Z2F0aGVyX21tdSgmdGxiLCBtbSwgcmFuZ2Uuc3RhcnQsIHJhbmdlLmVuZCk7CmRpZmYgLS1naXQg YS9tbS9tZW1vcnkuYyBiL21tL21lbW9yeS5jCmluZGV4IGUxMWNhOWRkODIzZi4uZDliN2M5MzVl ODEyIDEwMDY0NAotLS0gYS9tbS9tZW1vcnkuYworKysgYi9tbS9tZW1vcnkuYwpAQCAtMTAwOSw3 ICsxMDA5LDggQEAgaW50IGNvcHlfcGFnZV9yYW5nZShzdHJ1Y3QgbW1fc3RydWN0ICpkc3RfbW0s IHN0cnVjdCBtbV9zdHJ1Y3QgKnNyY19tbSwKIAlpc19jb3cgPSBpc19jb3dfbWFwcGluZyh2bWEt PnZtX2ZsYWdzKTsKIAogCWlmIChpc19jb3cpIHsKLQkJbW11X25vdGlmaWVyX3JhbmdlX2luaXQo JnJhbmdlLCBzcmNfbW0sIGFkZHIsIGVuZCk7CisJCW1tdV9ub3RpZmllcl9yYW5nZV9pbml0KCZy YW5nZSwgTU1VX05PVElGWV9VTk1BUCwgdm1hLCBzcmNfbW0sCisJCQkJCWFkZHIsIGVuZCk7CiAJ CW1tdV9ub3RpZmllcl9pbnZhbGlkYXRlX3JhbmdlX3N0YXJ0KCZyYW5nZSk7CiAJfQogCkBAIC0x MzMzLDcgKzEzMzQsOCBAQCB2b2lkIHVubWFwX3ZtYXMoc3RydWN0IG1tdV9nYXRoZXIgKnRsYiwK IHsKIAlzdHJ1Y3QgbW11X25vdGlmaWVyX3JhbmdlIHJhbmdlOwogCi0JbW11X25vdGlmaWVyX3Jh bmdlX2luaXQoJnJhbmdlLCB2bWEtPnZtX21tLCBzdGFydF9hZGRyLCBlbmRfYWRkcik7CisJbW11 X25vdGlmaWVyX3JhbmdlX2luaXQoJnJhbmdlLCBNTVVfTk9USUZZX1VOTUFQLCB2bWEsIHZtYS0+ dm1fbW0sCisJCQkJc3RhcnRfYWRkciwgZW5kX2FkZHIpOwogCW1tdV9ub3RpZmllcl9pbnZhbGlk YXRlX3JhbmdlX3N0YXJ0KCZyYW5nZSk7CiAJZm9yICggOyB2bWEgJiYgdm1hLT52bV9zdGFydCA8 IGVuZF9hZGRyOyB2bWEgPSB2bWEtPnZtX25leHQpCiAJCXVubWFwX3NpbmdsZV92bWEodGxiLCB2 bWEsIHN0YXJ0X2FkZHIsIGVuZF9hZGRyLCBOVUxMKTsKQEAgLTEzNTUsNyArMTM1Nyw4IEBAIHZv aWQgemFwX3BhZ2VfcmFuZ2Uoc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEsIHVuc2lnbmVkIGxv bmcgc3RhcnQsCiAJc3RydWN0IG1tdV9nYXRoZXIgdGxiOwogCiAJbHJ1X2FkZF9kcmFpbigpOwot CW1tdV9ub3RpZmllcl9yYW5nZV9pbml0KCZyYW5nZSwgdm1hLT52bV9tbSwgc3RhcnQsIHN0YXJ0 ICsgc2l6ZSk7CisJbW11X25vdGlmaWVyX3JhbmdlX2luaXQoJnJhbmdlLCBNTVVfTk9USUZZX1VO TUFQLCB2bWEsIHZtYS0+dm1fbW0sCisJCQkJc3RhcnQsIHN0YXJ0ICsgc2l6ZSk7CiAJdGxiX2dh dGhlcl9tbXUoJnRsYiwgdm1hLT52bV9tbSwgc3RhcnQsIHJhbmdlLmVuZCk7CiAJdXBkYXRlX2hp d2F0ZXJfcnNzKHZtYS0+dm1fbW0pOwogCW1tdV9ub3RpZmllcl9pbnZhbGlkYXRlX3JhbmdlX3N0 YXJ0KCZyYW5nZSk7CkBAIC0xMzgxLDcgKzEzODQsOCBAQCBzdGF0aWMgdm9pZCB6YXBfcGFnZV9y YW5nZV9zaW5nbGUoc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEsIHVuc2lnbmVkIGxvbmcgYWRk cgogCXN0cnVjdCBtbXVfZ2F0aGVyIHRsYjsKIAogCWxydV9hZGRfZHJhaW4oKTsKLQltbXVfbm90 aWZpZXJfcmFuZ2VfaW5pdCgmcmFuZ2UsIHZtYS0+dm1fbW0sIGFkZHJlc3MsIGFkZHJlc3MgKyBz aXplKTsKKwltbXVfbm90aWZpZXJfcmFuZ2VfaW5pdCgmcmFuZ2UsIE1NVV9OT1RJRllfVU5NQVAs IHZtYSwgdm1hLT52bV9tbSwKKwkJCQlhZGRyZXNzLCBhZGRyZXNzICsgc2l6ZSk7CiAJdGxiX2dh dGhlcl9tbXUoJnRsYiwgdm1hLT52bV9tbSwgYWRkcmVzcywgcmFuZ2UuZW5kKTsKIAl1cGRhdGVf aGl3YXRlcl9yc3Modm1hLT52bV9tbSk7CiAJbW11X25vdGlmaWVyX2ludmFsaWRhdGVfcmFuZ2Vf c3RhcnQoJnJhbmdlKTsKQEAgLTIyNzEsNyArMjI3NSw4IEBAIHN0YXRpYyB2bV9mYXVsdF90IHdw X3BhZ2VfY29weShzdHJ1Y3Qgdm1fZmF1bHQgKnZtZikKIAogCV9fU2V0UGFnZVVwdG9kYXRlKG5l d19wYWdlKTsKIAotCW1tdV9ub3RpZmllcl9yYW5nZV9pbml0KCZyYW5nZSwgbW0sIHZtZi0+YWRk cmVzcyAmIFBBR0VfTUFTSywKKwltbXVfbm90aWZpZXJfcmFuZ2VfaW5pdCgmcmFuZ2UsIE1NVV9O T1RJRllfVU5NQVAsIHZtYSwgbW0sCisJCQkJdm1mLT5hZGRyZXNzICYgUEFHRV9NQVNLLAogCQkJ CSh2bWYtPmFkZHJlc3MgJiBQQUdFX01BU0spICsgUEFHRV9TSVpFKTsKIAltbXVfbm90aWZpZXJf aW52YWxpZGF0ZV9yYW5nZV9zdGFydCgmcmFuZ2UpOwogCkBAIC00MDgxLDggKzQwODYsOSBAQCBz dGF0aWMgaW50IF9fZm9sbG93X3B0ZV9wbWQoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHVuc2lnbmVk IGxvbmcgYWRkcmVzcywKIAkJCWdvdG8gb3V0OwogCiAJCWlmIChyYW5nZSkgewotCQkJbW11X25v dGlmaWVyX3JhbmdlX2luaXQocmFuZ2UsIG1tLCBhZGRyZXNzICYgUE1EX01BU0ssCi0JCQkJCSAg ICAgKGFkZHJlc3MgJiBQTURfTUFTSykgKyBQTURfU0laRSk7CisJCQltbXVfbm90aWZpZXJfcmFu Z2VfaW5pdChyYW5nZSwgTU1VX05PVElGWV9VTk1BUCwgTlVMTCwKKwkJCQkJCW1tLCBhZGRyZXNz ICYgUE1EX01BU0ssCisJCQkJCQkoYWRkcmVzcyAmIFBNRF9NQVNLKSArIFBNRF9TSVpFKTsKIAkJ CW1tdV9ub3RpZmllcl9pbnZhbGlkYXRlX3JhbmdlX3N0YXJ0KHJhbmdlKTsKIAkJfQogCQkqcHRs cCA9IHBtZF9sb2NrKG1tLCBwbWQpOwpAQCAtNDA5OSw4ICs0MTA1LDkgQEAgc3RhdGljIGludCBf X2ZvbGxvd19wdGVfcG1kKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLCB1bnNpZ25lZCBsb25nIGFkZHJl c3MsCiAJCWdvdG8gb3V0OwogCiAJaWYgKHJhbmdlKSB7Ci0JCW1tdV9ub3RpZmllcl9yYW5nZV9p bml0KHJhbmdlLCBtbSwgYWRkcmVzcyAmIFBBR0VfTUFTSywKLQkJCQkgICAgIChhZGRyZXNzICYg UEFHRV9NQVNLKSArIFBBR0VfU0laRSk7CisJCW1tdV9ub3RpZmllcl9yYW5nZV9pbml0KHJhbmdl LCBNTVVfTk9USUZZX1VOTUFQLCBOVUxMLCBtbSwKKwkJCQkJYWRkcmVzcyAmIFBBR0VfTUFTSywK KwkJCQkJKGFkZHJlc3MgJiBQQUdFX01BU0spICsgUEFHRV9TSVpFKTsKIAkJbW11X25vdGlmaWVy X2ludmFsaWRhdGVfcmFuZ2Vfc3RhcnQocmFuZ2UpOwogCX0KIAlwdGVwID0gcHRlX29mZnNldF9t YXBfbG9jayhtbSwgcG1kLCBhZGRyZXNzLCBwdGxwKTsKZGlmZiAtLWdpdCBhL21tL21pZ3JhdGUu YyBiL21tL21pZ3JhdGUuYwppbmRleCBhMTZiMTUwOTBkZjMuLjM4NWM1OWQ1YzI4ZCAxMDA2NDQK LS0tIGEvbW0vbWlncmF0ZS5jCisrKyBiL21tL21pZ3JhdGUuYwpAQCAtMjM0Miw3ICsyMzQyLDgg QEAgc3RhdGljIHZvaWQgbWlncmF0ZV92bWFfY29sbGVjdChzdHJ1Y3QgbWlncmF0ZV92bWEgKm1p Z3JhdGUpCiAJbW1fd2Fsay5tbSA9IG1pZ3JhdGUtPnZtYS0+dm1fbW07CiAJbW1fd2Fsay5wcml2 YXRlID0gbWlncmF0ZTsKIAotCW1tdV9ub3RpZmllcl9yYW5nZV9pbml0KCZyYW5nZSwgbW1fd2Fs ay5tbSwgbWlncmF0ZS0+c3RhcnQsCisJbW11X25vdGlmaWVyX3JhbmdlX2luaXQoJnJhbmdlLCBN TVVfTk9USUZZX1VOTUFQLCBOVUxMLCBtbV93YWxrLm1tLAorCQkJCW1pZ3JhdGUtPnN0YXJ0LAog CQkJCW1pZ3JhdGUtPmVuZCk7CiAJbW11X25vdGlmaWVyX2ludmFsaWRhdGVfcmFuZ2Vfc3RhcnQo JnJhbmdlKTsKIAl3YWxrX3BhZ2VfcmFuZ2UobWlncmF0ZS0+c3RhcnQsIG1pZ3JhdGUtPmVuZCwg Jm1tX3dhbGspOwpAQCAtMjc1MCw2ICsyNzUxLDggQEAgc3RhdGljIHZvaWQgbWlncmF0ZV92bWFf cGFnZXMoc3RydWN0IG1pZ3JhdGVfdm1hICptaWdyYXRlKQogCQkJCW5vdGlmaWVkID0gdHJ1ZTsK IAogCQkJCW1tdV9ub3RpZmllcl9yYW5nZV9pbml0KCZyYW5nZSwKKwkJCQkJCQlNTVVfTk9USUZZ X1VOTUFQLAorCQkJCQkJCU5VTEwsCiAJCQkJCQkJbWlncmF0ZS0+dm1hLT52bV9tbSwKIAkJCQkJ CQlhZGRyLCBtaWdyYXRlLT5lbmQpOwogCQkJCW1tdV9ub3RpZmllcl9pbnZhbGlkYXRlX3Jhbmdl X3N0YXJ0KCZyYW5nZSk7CmRpZmYgLS1naXQgYS9tbS9tcHJvdGVjdC5jIGIvbW0vbXByb3RlY3Qu YwppbmRleCAzNmNiMzU4ZGIxNzAuLmIyMmU2NjA3MDFmMSAxMDA2NDQKLS0tIGEvbW0vbXByb3Rl Y3QuYworKysgYi9tbS9tcHJvdGVjdC5jCkBAIC0xODUsNyArMTg1LDggQEAgc3RhdGljIGlubGlu ZSB1bnNpZ25lZCBsb25nIGNoYW5nZV9wbWRfcmFuZ2Uoc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2 bWEsCiAKIAkJLyogaW52b2tlIHRoZSBtbXUgbm90aWZpZXIgaWYgdGhlIHBtZCBpcyBwb3B1bGF0 ZWQgKi8KIAkJaWYgKCFyYW5nZS5zdGFydCkgewotCQkJbW11X25vdGlmaWVyX3JhbmdlX2luaXQo JnJhbmdlLCB2bWEtPnZtX21tLCBhZGRyLCBlbmQpOworCQkJbW11X25vdGlmaWVyX3JhbmdlX2lu aXQoJnJhbmdlLCBNTVVfTk9USUZZX1VOTUFQLCB2bWEsCisJCQkJCQl2bWEtPnZtX21tLCBhZGRy LCBlbmQpOwogCQkJbW11X25vdGlmaWVyX2ludmFsaWRhdGVfcmFuZ2Vfc3RhcnQoJnJhbmdlKTsK IAkJfQogCmRpZmYgLS1naXQgYS9tbS9tcmVtYXAuYyBiL21tL21yZW1hcC5jCmluZGV4IDMzMjA2 MTZlZDkzZi4uY2FjMTljMWUwYWY0IDEwMDY0NAotLS0gYS9tbS9tcmVtYXAuYworKysgYi9tbS9t cmVtYXAuYwpAQCAtMjQ5LDcgKzI0OSw4IEBAIHVuc2lnbmVkIGxvbmcgbW92ZV9wYWdlX3RhYmxl cyhzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSwKIAlvbGRfZW5kID0gb2xkX2FkZHIgKyBsZW47 CiAJZmx1c2hfY2FjaGVfcmFuZ2Uodm1hLCBvbGRfYWRkciwgb2xkX2VuZCk7CiAKLQltbXVfbm90 aWZpZXJfcmFuZ2VfaW5pdCgmcmFuZ2UsIHZtYS0+dm1fbW0sIG9sZF9hZGRyLCBvbGRfZW5kKTsK KwltbXVfbm90aWZpZXJfcmFuZ2VfaW5pdCgmcmFuZ2UsIE1NVV9OT1RJRllfVU5NQVAsIHZtYSwg dm1hLT52bV9tbSwKKwkJCQlvbGRfYWRkciwgb2xkX2VuZCk7CiAJbW11X25vdGlmaWVyX2ludmFs aWRhdGVfcmFuZ2Vfc3RhcnQoJnJhbmdlKTsKIAogCWZvciAoOyBvbGRfYWRkciA8IG9sZF9lbmQ7 IG9sZF9hZGRyICs9IGV4dGVudCwgbmV3X2FkZHIgKz0gZXh0ZW50KSB7CmRpZmYgLS1naXQgYS9t bS9vb21fa2lsbC5jIGIvbW0vb29tX2tpbGwuYwppbmRleCBmMGU4Y2Q5ZWRiMWEuLjc3Mjg5YmM2 YTk0MyAxMDA2NDQKLS0tIGEvbW0vb29tX2tpbGwuYworKysgYi9tbS9vb21fa2lsbC5jCkBAIC01 MzEsNyArNTMxLDggQEAgYm9vbCBfX29vbV9yZWFwX3Rhc2tfbW0oc3RydWN0IG1tX3N0cnVjdCAq bW0pCiAJCQlzdHJ1Y3QgbW11X25vdGlmaWVyX3JhbmdlIHJhbmdlOwogCQkJc3RydWN0IG1tdV9n YXRoZXIgdGxiOwogCi0JCQltbXVfbm90aWZpZXJfcmFuZ2VfaW5pdCgmcmFuZ2UsIG1tLCB2bWEt PnZtX3N0YXJ0LAorCQkJbW11X25vdGlmaWVyX3JhbmdlX2luaXQoJnJhbmdlLCBNTVVfTk9USUZZ X1VOTUFQLCB2bWEsCisJCQkJCQltbSwgdm1hLT52bV9zdGFydCwKIAkJCQkJCXZtYS0+dm1fZW5k KTsKIAkJCXRsYl9nYXRoZXJfbW11KCZ0bGIsIG1tLCByYW5nZS5zdGFydCwgcmFuZ2UuZW5kKTsK IAkJCWlmIChtbXVfbm90aWZpZXJfaW52YWxpZGF0ZV9yYW5nZV9zdGFydF9ub25ibG9jaygmcmFu Z2UpKSB7CmRpZmYgLS1naXQgYS9tbS9ybWFwLmMgYi9tbS9ybWFwLmMKaW5kZXggMDQ1NGVjYzI5 NTM3Li40OWM3NWYwYzZjMzMgMTAwNjQ0Ci0tLSBhL21tL3JtYXAuYworKysgYi9tbS9ybWFwLmMK QEAgLTg5Niw3ICs4OTYsOCBAQCBzdGF0aWMgYm9vbCBwYWdlX21rY2xlYW5fb25lKHN0cnVjdCBw YWdlICpwYWdlLCBzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSwKIAkgKiBXZSBoYXZlIHRvIGFz c3VtZSB0aGUgd29yc2UgY2FzZSBpZSBwbWQgZm9yIGludmFsaWRhdGlvbi4gTm90ZSB0aGF0CiAJ ICogdGhlIHBhZ2UgY2FuIG5vdCBiZSBmcmVlIGZyb20gdGhpcyBmdW5jdGlvbi4KIAkgKi8KLQlt bXVfbm90aWZpZXJfcmFuZ2VfaW5pdCgmcmFuZ2UsIHZtYS0+dm1fbW0sIGFkZHJlc3MsCisJbW11 X25vdGlmaWVyX3JhbmdlX2luaXQoJnJhbmdlLCBNTVVfTk9USUZZX1VOTUFQLCB2bWEsIHZtYS0+ dm1fbW0sCisJCQkJYWRkcmVzcywKIAkJCQltaW4odm1hLT52bV9lbmQsIGFkZHJlc3MgKwogCQkJ CSAgICAoUEFHRV9TSVpFIDw8IGNvbXBvdW5kX29yZGVyKHBhZ2UpKSkpOwogCW1tdV9ub3RpZmll cl9pbnZhbGlkYXRlX3JhbmdlX3N0YXJ0KCZyYW5nZSk7CkBAIC0xMzcxLDcgKzEzNzIsOCBAQCBz dGF0aWMgYm9vbCB0cnlfdG9fdW5tYXBfb25lKHN0cnVjdCBwYWdlICpwYWdlLCBzdHJ1Y3Qgdm1f YXJlYV9zdHJ1Y3QgKnZtYSwKIAkgKiBOb3RlIHRoYXQgdGhlIHBhZ2UgY2FuIG5vdCBiZSBmcmVl IGluIHRoaXMgZnVuY3Rpb24gYXMgY2FsbCBvZgogCSAqIHRyeV90b191bm1hcCgpIG11c3QgaG9s ZCBhIHJlZmVyZW5jZSBvbiB0aGUgcGFnZS4KIAkgKi8KLQltbXVfbm90aWZpZXJfcmFuZ2VfaW5p dCgmcmFuZ2UsIHZtYS0+dm1fbW0sIGFkZHJlc3MsCisJbW11X25vdGlmaWVyX3JhbmdlX2luaXQo JnJhbmdlLCBNTVVfTk9USUZZX1VOTUFQLCB2bWEsIHZtYS0+dm1fbW0sCisJCQkJYWRkcmVzcywK IAkJCQltaW4odm1hLT52bV9lbmQsIGFkZHJlc3MgKwogCQkJCSAgICAoUEFHRV9TSVpFIDw8IGNv bXBvdW5kX29yZGVyKHBhZ2UpKSkpOwogCWlmIChQYWdlSHVnZShwYWdlKSkgewotLSAKMi4xNy4y CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2 ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK