From mboxrd@z Thu Jan 1 00:00:00 1970 From: jglisse@redhat.com Subject: [PATCH v4 3/9] mm/mmu_notifier: use correct mmu_notifier events for each invalidation Date: Wed, 23 Jan 2019 17:23:09 -0500 Message-ID: <20190123222315.1122-4-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+CgpUaGlzIHVwZGF0ZSBl YWNoIGV4aXN0aW5nIGludmFsaWRhdGlvbiB0byB1c2UgdGhlIGNvcnJlY3QgbW11IG5vdGlmaWVy CmV2ZW50IHRoYXQgcmVwcmVzZW50IHdoYXQgaXMgaGFwcGVuaW5nIHRvIHRoZSBDUFUgcGFnZSB0 YWJsZS4gU2VlIHRoZQpwYXRjaCB3aGljaCBpbnRyb2R1Y2VkIHRoZSBldmVudHMgdG8gc2VlIHRo ZSByYXRpb25hbCBiZWhpbmQgdGhpcy4KClNpZ25lZC1vZmYtYnk6IErDqXLDtG1lIEdsaXNzZSA8 amdsaXNzZUByZWRoYXQuY29tPgpDYzogQ2hyaXN0aWFuIEvDtm5pZyA8Y2hyaXN0aWFuLmtvZW5p Z0BhbWQuY29tPgpDYzogSmFuIEthcmEgPGphY2tAc3VzZS5jej4KQ2M6IEZlbGl4IEt1ZWhsaW5n IDxGZWxpeC5LdWVobGluZ0BhbWQuY29tPgpDYzogSmFzb24gR3VudGhvcnBlIDxqZ2dAbWVsbGFu b3guY29tPgpDYzogQW5kcmV3IE1vcnRvbiA8YWtwbUBsaW51eC1mb3VuZGF0aW9uLm9yZz4KQ2M6 IE1hdHRoZXcgV2lsY294IDxtYXdpbGNveEBtaWNyb3NvZnQuY29tPgpDYzogUm9zcyBad2lzbGVy IDx6d2lzbGVyQGtlcm5lbC5vcmc+CkNjOiBEYW4gV2lsbGlhbXMgPGRhbi5qLndpbGxpYW1zQGlu dGVsLmNvbT4KQ2M6IFBhb2xvIEJvbnppbmkgPHBib256aW5pQHJlZGhhdC5jb20+CkNjOiBSYWRp bSBLcsSNbcOhxZkgPHJrcmNtYXJAcmVkaGF0LmNvbT4KQ2M6IE1pY2hhbCBIb2NrbyA8bWhvY2tv QGtlcm5lbC5vcmc+CkNjOiBSYWxwaCBDYW1wYmVsbCA8cmNhbXBiZWxsQG52aWRpYS5jb20+CkNj OiBKb2huIEh1YmJhcmQgPGpodWJiYXJkQG52aWRpYS5jb20+CkNjOiBrdm1Admdlci5rZXJuZWwu b3JnCkNjOiBkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCkNjOiBsaW51eC1yZG1hQHZn ZXIua2VybmVsLm9yZwpDYzogbGludXgtZnNkZXZlbEB2Z2VyLmtlcm5lbC5vcmcKQ2M6IEFybmQg QmVyZ21hbm4gPGFybmRAYXJuZGIuZGU+Ci0tLQogZnMvcHJvYy90YXNrX21tdS5jICAgICAgfCAg MiArLQoga2VybmVsL2V2ZW50cy91cHJvYmVzLmMgfCAgMiArLQogbW0vaHVnZV9tZW1vcnkuYyAg ICAgICAgfCAxNCArKysrKystLS0tLS0tLQogbW0vaHVnZXRsYi5jICAgICAgICAgICAgfCAgNyAr KysrLS0tCiBtbS9raHVnZXBhZ2VkLmMgICAgICAgICB8ICAyICstCiBtbS9rc20uYyAgICAgICAg ICAgICAgICB8ICA0ICsrLS0KIG1tL21hZHZpc2UuYyAgICAgICAgICAgIHwgIDIgKy0KIG1tL21l bW9yeS5jICAgICAgICAgICAgIHwgMTYgKysrKysrKystLS0tLS0tLQogbW0vbWlncmF0ZS5jICAg ICAgICAgICAgfCAgNCArKy0tCiBtbS9tcHJvdGVjdC5jICAgICAgICAgICB8ICA1ICsrKy0tCiBt bS9ybWFwLmMgICAgICAgICAgICAgICB8ICA2ICsrKy0tLQogMTEgZmlsZXMgY2hhbmdlZCwgMzIg aW5zZXJ0aW9ucygrKSwgMzIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZnMvcHJvYy90YXNr X21tdS5jIGIvZnMvcHJvYy90YXNrX21tdS5jCmluZGV4IDU3ZTdmOTg2NDdkMy4uY2NlMjI2ZjMz MDVmIDEwMDY0NAotLS0gYS9mcy9wcm9jL3Rhc2tfbW11LmMKKysrIGIvZnMvcHJvYy90YXNrX21t dS5jCkBAIC0xMTQzLDcgKzExNDMsNyBAQCBzdGF0aWMgc3NpemVfdCBjbGVhcl9yZWZzX3dyaXRl KHN0cnVjdCBmaWxlICpmaWxlLCBjb25zdCBjaGFyIF9fdXNlciAqYnVmLAogCQkJCWJyZWFrOwog CQkJfQogCi0JCQltbXVfbm90aWZpZXJfcmFuZ2VfaW5pdCgmcmFuZ2UsIE1NVV9OT1RJRllfVU5N QVAsCisJCQltbXVfbm90aWZpZXJfcmFuZ2VfaW5pdCgmcmFuZ2UsIE1NVV9OT1RJRllfU09GVF9E SVJUWSwKIAkJCQkJCU5VTEwsIG1tLCAwLCAtMVVMKTsKIAkJCW1tdV9ub3RpZmllcl9pbnZhbGlk YXRlX3JhbmdlX3N0YXJ0KCZyYW5nZSk7CiAJCX0KZGlmZiAtLWdpdCBhL2tlcm5lbC9ldmVudHMv dXByb2Jlcy5jIGIva2VybmVsL2V2ZW50cy91cHJvYmVzLmMKaW5kZXggYjY3ZmU3ZTU5NjIxLi44 N2U3NmExZGM3NTggMTAwNjQ0Ci0tLSBhL2tlcm5lbC9ldmVudHMvdXByb2Jlcy5jCisrKyBiL2tl cm5lbC9ldmVudHMvdXByb2Jlcy5jCkBAIC0xNzQsNyArMTc0LDcgQEAgc3RhdGljIGludCBfX3Jl cGxhY2VfcGFnZShzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSwgdW5zaWduZWQgbG9uZyBhZGRy LAogCXN0cnVjdCBtbXVfbm90aWZpZXJfcmFuZ2UgcmFuZ2U7CiAJc3RydWN0IG1lbV9jZ3JvdXAg Km1lbWNnOwogCi0JbW11X25vdGlmaWVyX3JhbmdlX2luaXQoJnJhbmdlLCBNTVVfTk9USUZZX1VO TUFQLCB2bWEsIG1tLCBhZGRyLAorCW1tdV9ub3RpZmllcl9yYW5nZV9pbml0KCZyYW5nZSwgTU1V X05PVElGWV9DTEVBUiwgdm1hLCBtbSwgYWRkciwKIAkJCQlhZGRyICsgUEFHRV9TSVpFKTsKIAog CVZNX0JVR19PTl9QQUdFKFBhZ2VUcmFuc0h1Z2Uob2xkX3BhZ2UpLCBvbGRfcGFnZSk7CmRpZmYg LS1naXQgYS9tbS9odWdlX21lbW9yeS5jIGIvbW0vaHVnZV9tZW1vcnkuYwppbmRleCBiMzUzZThi Nzg3NmYuLjk1N2QyMzc1NDIxNyAxMDA2NDQKLS0tIGEvbW0vaHVnZV9tZW1vcnkuYworKysgYi9t bS9odWdlX21lbW9yeS5jCkBAIC0xMTgyLDkgKzExODIsOCBAQCBzdGF0aWMgdm1fZmF1bHRfdCBk b19odWdlX3BtZF93cF9wYWdlX2ZhbGxiYWNrKHN0cnVjdCB2bV9mYXVsdCAqdm1mLAogCQljb25k X3Jlc2NoZWQoKTsKIAl9CiAKLQltbXVfbm90aWZpZXJfcmFuZ2VfaW5pdCgmcmFuZ2UsIE1NVV9O T1RJRllfVU5NQVAsIHZtYSwgdm1hLT52bV9tbSwKLQkJCQloYWRkciwKLQkJCQloYWRkciArIEhQ QUdFX1BNRF9TSVpFKTsKKwltbXVfbm90aWZpZXJfcmFuZ2VfaW5pdCgmcmFuZ2UsIE1NVV9OT1RJ RllfQ0xFQVIsIHZtYSwgdm1hLT52bV9tbSwKKwkJCQloYWRkciwgaGFkZHIgKyBIUEFHRV9QTURf U0laRSk7CiAJbW11X25vdGlmaWVyX2ludmFsaWRhdGVfcmFuZ2Vfc3RhcnQoJnJhbmdlKTsKIAog CXZtZi0+cHRsID0gcG1kX2xvY2sodm1hLT52bV9tbSwgdm1mLT5wbWQpOwpAQCAtMTM0Niw5ICsx MzQ1LDggQEAgdm1fZmF1bHRfdCBkb19odWdlX3BtZF93cF9wYWdlKHN0cnVjdCB2bV9mYXVsdCAq dm1mLCBwbWRfdCBvcmlnX3BtZCkKIAkJCQkgICAgdm1hLCBIUEFHRV9QTURfTlIpOwogCV9fU2V0 UGFnZVVwdG9kYXRlKG5ld19wYWdlKTsKIAotCW1tdV9ub3RpZmllcl9yYW5nZV9pbml0KCZyYW5n ZSwgTU1VX05PVElGWV9VTk1BUCwgdm1hLCB2bWEtPnZtX21tLAotCQkJCWhhZGRyLAotCQkJCWhh ZGRyICsgSFBBR0VfUE1EX1NJWkUpOworCW1tdV9ub3RpZmllcl9yYW5nZV9pbml0KCZyYW5nZSwg TU1VX05PVElGWV9DTEVBUiwgdm1hLCB2bWEtPnZtX21tLAorCQkJCWhhZGRyLCBoYWRkciArIEhQ QUdFX1BNRF9TSVpFKTsKIAltbXVfbm90aWZpZXJfaW52YWxpZGF0ZV9yYW5nZV9zdGFydCgmcmFu Z2UpOwogCiAJc3Bpbl9sb2NrKHZtZi0+cHRsKTsKQEAgLTIwMjUsNyArMjAyMyw3IEBAIHZvaWQg X19zcGxpdF9odWdlX3B1ZChzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSwgcHVkX3QgKnB1ZCwK IAlzcGlubG9ja190ICpwdGw7CiAJc3RydWN0IG1tdV9ub3RpZmllcl9yYW5nZSByYW5nZTsKIAot CW1tdV9ub3RpZmllcl9yYW5nZV9pbml0KCZyYW5nZSwgTU1VX05PVElGWV9VTk1BUCwgdm1hLCB2 bWEtPnZtX21tLAorCW1tdV9ub3RpZmllcl9yYW5nZV9pbml0KCZyYW5nZSwgTU1VX05PVElGWV9D TEVBUiwgdm1hLCB2bWEtPnZtX21tLAogCQkJCWFkZHJlc3MgJiBIUEFHRV9QVURfTUFTSywKIAkJ CQkoYWRkcmVzcyAmIEhQQUdFX1BVRF9NQVNLKSArIEhQQUdFX1BVRF9TSVpFKTsKIAltbXVfbm90 aWZpZXJfaW52YWxpZGF0ZV9yYW5nZV9zdGFydCgmcmFuZ2UpOwpAQCAtMjI0NCw3ICsyMjQyLDcg QEAgdm9pZCBfX3NwbGl0X2h1Z2VfcG1kKHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hLCBwbWRf dCAqcG1kLAogCXNwaW5sb2NrX3QgKnB0bDsKIAlzdHJ1Y3QgbW11X25vdGlmaWVyX3JhbmdlIHJh bmdlOwogCi0JbW11X25vdGlmaWVyX3JhbmdlX2luaXQoJnJhbmdlLCBNTVVfTk9USUZZX1VOTUFQ LCB2bWEsIHZtYS0+dm1fbW0sCisJbW11X25vdGlmaWVyX3JhbmdlX2luaXQoJnJhbmdlLCBNTVVf Tk9USUZZX0NMRUFSLCB2bWEsIHZtYS0+dm1fbW0sCiAJCQkJYWRkcmVzcyAmIEhQQUdFX1BNRF9N QVNLLAogCQkJCShhZGRyZXNzICYgSFBBR0VfUE1EX01BU0spICsgSFBBR0VfUE1EX1NJWkUpOwog CW1tdV9ub3RpZmllcl9pbnZhbGlkYXRlX3JhbmdlX3N0YXJ0KCZyYW5nZSk7CmRpZmYgLS1naXQg YS9tbS9odWdldGxiLmMgYi9tbS9odWdldGxiLmMKaW5kZXggY2JkYTQ2YWQ2YTMwLi5mNjkxMzk4 YWM2YjYgMTAwNjQ0Ci0tLSBhL21tL2h1Z2V0bGIuYworKysgYi9tbS9odWdldGxiLmMKQEAgLTMy NDYsNyArMzI0Niw3IEBAIGludCBjb3B5X2h1Z2V0bGJfcGFnZV9yYW5nZShzdHJ1Y3QgbW1fc3Ry dWN0ICpkc3QsIHN0cnVjdCBtbV9zdHJ1Y3QgKnNyYywKIAljb3cgPSAodm1hLT52bV9mbGFncyAm IChWTV9TSEFSRUQgfCBWTV9NQVlXUklURSkpID09IFZNX01BWVdSSVRFOwogCiAJaWYgKGNvdykg ewotCQltbXVfbm90aWZpZXJfcmFuZ2VfaW5pdCgmcmFuZ2UsIE1NVV9OT1RJRllfVU5NQVAsIHZt YSwgc3JjLAorCQltbXVfbm90aWZpZXJfcmFuZ2VfaW5pdCgmcmFuZ2UsIE1NVV9OT1RJRllfQ0xF QVIsIHZtYSwgc3JjLAogCQkJCQl2bWEtPnZtX3N0YXJ0LAogCQkJCQl2bWEtPnZtX2VuZCk7CiAJ CW1tdV9ub3RpZmllcl9pbnZhbGlkYXRlX3JhbmdlX3N0YXJ0KCZyYW5nZSk7CkBAIC0zNjI3LDcg KzM2MjcsNyBAQCBzdGF0aWMgdm1fZmF1bHRfdCBodWdldGxiX2NvdyhzdHJ1Y3QgbW1fc3RydWN0 ICptbSwgc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEsCiAJX19TZXRQYWdlVXB0b2RhdGUobmV3 X3BhZ2UpOwogCXNldF9wYWdlX2h1Z2VfYWN0aXZlKG5ld19wYWdlKTsKIAotCW1tdV9ub3RpZmll cl9yYW5nZV9pbml0KCZyYW5nZSwgTU1VX05PVElGWV9VTk1BUCwgdm1hLCBtbSwgaGFkZHIsCisJ bW11X25vdGlmaWVyX3JhbmdlX2luaXQoJnJhbmdlLCBNTVVfTk9USUZZX0NMRUFSLCB2bWEsIG1t LCBoYWRkciwKIAkJCQloYWRkciArIGh1Z2VfcGFnZV9zaXplKGgpKTsKIAltbXVfbm90aWZpZXJf aW52YWxpZGF0ZV9yYW5nZV9zdGFydCgmcmFuZ2UpOwogCkBAIC00MzQ4LDcgKzQzNDgsOCBAQCB1 bnNpZ25lZCBsb25nIGh1Z2V0bGJfY2hhbmdlX3Byb3RlY3Rpb24oc3RydWN0IHZtX2FyZWFfc3Ry dWN0ICp2bWEsCiAJICogc3RhcnQvZW5kLiAgU2V0IHJhbmdlLnN0YXJ0L3JhbmdlLmVuZCB0byBj b3ZlciB0aGUgbWF4aW11bSBwb3NzaWJsZQogCSAqIHJhbmdlIGlmIFBNRCBzaGFyaW5nIGlzIHBv c3NpYmxlLgogCSAqLwotCW1tdV9ub3RpZmllcl9yYW5nZV9pbml0KCZyYW5nZSwgTU1VX05PVElG WV9VTk1BUCwgdm1hLCBtbSwgc3RhcnQsIGVuZCk7CisJbW11X25vdGlmaWVyX3JhbmdlX2luaXQo JnJhbmdlLCBNTVVfTk9USUZZX1BST1RFQ1RJT05fVk1BLAorCQkJCXZtYSwgbW0sIHN0YXJ0LCBl bmQpOwogCWFkanVzdF9yYW5nZV9pZl9wbWRfc2hhcmluZ19wb3NzaWJsZSh2bWEsICZyYW5nZS5z dGFydCwgJnJhbmdlLmVuZCk7CiAKIAlCVUdfT04oYWRkcmVzcyA+PSBlbmQpOwpkaWZmIC0tZ2l0 IGEvbW0va2h1Z2VwYWdlZC5jIGIvbW0va2h1Z2VwYWdlZC5jCmluZGV4IGY5MDNhY2IxYjBhNi4u ZDA5ZDcxZjEwZjBmIDEwMDY0NAotLS0gYS9tbS9raHVnZXBhZ2VkLmMKKysrIGIvbW0va2h1Z2Vw YWdlZC5jCkBAIC0xMDE2LDcgKzEwMTYsNyBAQCBzdGF0aWMgdm9pZCBjb2xsYXBzZV9odWdlX3Bh Z2Uoc3RydWN0IG1tX3N0cnVjdCAqbW0sCiAJcHRlID0gcHRlX29mZnNldF9tYXAocG1kLCBhZGRy ZXNzKTsKIAlwdGVfcHRsID0gcHRlX2xvY2twdHIobW0sIHBtZCk7CiAKLQltbXVfbm90aWZpZXJf cmFuZ2VfaW5pdCgmcmFuZ2UsIE1NVV9OT1RJRllfVU5NQVAsIE5VTEwsIG1tLCBhZGRyZXNzLAor CW1tdV9ub3RpZmllcl9yYW5nZV9pbml0KCZyYW5nZSwgTU1VX05PVElGWV9DTEVBUiwgTlVMTCwg bW0sIGFkZHJlc3MsCiAJCQkJYWRkcmVzcyArIEhQQUdFX1BNRF9TSVpFKTsKIAltbXVfbm90aWZp ZXJfaW52YWxpZGF0ZV9yYW5nZV9zdGFydCgmcmFuZ2UpOwogCXBtZF9wdGwgPSBwbWRfbG9jayht bSwgcG1kKTsgLyogcHJvYmFibHkgdW5uZWNlc3NhcnkgKi8KZGlmZiAtLWdpdCBhL21tL2tzbS5j IGIvbW0va3NtLmMKaW5kZXggNmIyN2M0ZjBmYjFmLi45Nzc1N2M1ZmExNWYgMTAwNjQ0Ci0tLSBh L21tL2tzbS5jCisrKyBiL21tL2tzbS5jCkBAIC0xMDUxLDcgKzEwNTEsNyBAQCBzdGF0aWMgaW50 IHdyaXRlX3Byb3RlY3RfcGFnZShzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSwgc3RydWN0IHBh Z2UgKnBhZ2UsCiAKIAlCVUdfT04oUGFnZVRyYW5zQ29tcG91bmQocGFnZSkpOwogCi0JbW11X25v dGlmaWVyX3JhbmdlX2luaXQoJnJhbmdlLCBNTVVfTk9USUZZX1VOTUFQLCB2bWEsIG1tLAorCW1t dV9ub3RpZmllcl9yYW5nZV9pbml0KCZyYW5nZSwgTU1VX05PVElGWV9DTEVBUiwgdm1hLCBtbSwK IAkJCQlwdm13LmFkZHJlc3MsCiAJCQkJcHZtdy5hZGRyZXNzICsgUEFHRV9TSVpFKTsKIAltbXVf bm90aWZpZXJfaW52YWxpZGF0ZV9yYW5nZV9zdGFydCgmcmFuZ2UpOwpAQCAtMTE0MCw3ICsxMTQw LDcgQEAgc3RhdGljIGludCByZXBsYWNlX3BhZ2Uoc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEs IHN0cnVjdCBwYWdlICpwYWdlLAogCWlmICghcG1kKQogCQlnb3RvIG91dDsKIAotCW1tdV9ub3Rp Zmllcl9yYW5nZV9pbml0KCZyYW5nZSwgTU1VX05PVElGWV9VTk1BUCwgdm1hLCBtbSwgYWRkciwK KwltbXVfbm90aWZpZXJfcmFuZ2VfaW5pdCgmcmFuZ2UsIE1NVV9OT1RJRllfQ0xFQVIsIHZtYSwg bW0sIGFkZHIsCiAJCQkJYWRkciArIFBBR0VfU0laRSk7CiAJbW11X25vdGlmaWVyX2ludmFsaWRh dGVfcmFuZ2Vfc3RhcnQoJnJhbmdlKTsKIApkaWZmIC0tZ2l0IGEvbW0vbWFkdmlzZS5jIGIvbW0v bWFkdmlzZS5jCmluZGV4IDA0NDQ2ZGFiYmE1Ni4uYTJmOTFiZDI4NmQ5IDEwMDY0NAotLS0gYS9t bS9tYWR2aXNlLmMKKysrIGIvbW0vbWFkdmlzZS5jCkBAIC00NzIsNyArNDcyLDcgQEAgc3RhdGlj IGludCBtYWR2aXNlX2ZyZWVfc2luZ2xlX3ZtYShzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSwK IAlyYW5nZS5lbmQgPSBtaW4odm1hLT52bV9lbmQsIGVuZF9hZGRyKTsKIAlpZiAocmFuZ2UuZW5k IDw9IHZtYS0+dm1fc3RhcnQpCiAJCXJldHVybiAtRUlOVkFMOwotCW1tdV9ub3RpZmllcl9yYW5n ZV9pbml0KCZyYW5nZSwgTU1VX05PVElGWV9VTk1BUCwgdm1hLCBtbSwKKwltbXVfbm90aWZpZXJf cmFuZ2VfaW5pdCgmcmFuZ2UsIE1NVV9OT1RJRllfQ0xFQVIsIHZtYSwgbW0sCiAJCQkJcmFuZ2Uu c3RhcnQsIHJhbmdlLmVuZCk7CiAKIAlscnVfYWRkX2RyYWluKCk7CmRpZmYgLS1naXQgYS9tbS9t ZW1vcnkuYyBiL21tL21lbW9yeS5jCmluZGV4IGQ5YjdjOTM1ZTgxMi4uYThjNjkyMjUyNmY2IDEw MDY0NAotLS0gYS9tbS9tZW1vcnkuYworKysgYi9tbS9tZW1vcnkuYwpAQCAtMTAwOSw4ICsxMDA5 LDggQEAgaW50IGNvcHlfcGFnZV9yYW5nZShzdHJ1Y3QgbW1fc3RydWN0ICpkc3RfbW0sIHN0cnVj dCBtbV9zdHJ1Y3QgKnNyY19tbSwKIAlpc19jb3cgPSBpc19jb3dfbWFwcGluZyh2bWEtPnZtX2Zs YWdzKTsKIAogCWlmIChpc19jb3cpIHsKLQkJbW11X25vdGlmaWVyX3JhbmdlX2luaXQoJnJhbmdl LCBNTVVfTk9USUZZX1VOTUFQLCB2bWEsIHNyY19tbSwKLQkJCQkJYWRkciwgZW5kKTsKKwkJbW11 X25vdGlmaWVyX3JhbmdlX2luaXQoJnJhbmdlLCBNTVVfTk9USUZZX1BST1RFQ1RJT05fUEFHRSwK KwkJCQkJdm1hLCBzcmNfbW0sIGFkZHIsIGVuZCk7CiAJCW1tdV9ub3RpZmllcl9pbnZhbGlkYXRl X3JhbmdlX3N0YXJ0KCZyYW5nZSk7CiAJfQogCkBAIC0xMzM0LDcgKzEzMzQsNyBAQCB2b2lkIHVu bWFwX3ZtYXMoc3RydWN0IG1tdV9nYXRoZXIgKnRsYiwKIHsKIAlzdHJ1Y3QgbW11X25vdGlmaWVy X3JhbmdlIHJhbmdlOwogCi0JbW11X25vdGlmaWVyX3JhbmdlX2luaXQoJnJhbmdlLCBNTVVfTk9U SUZZX1VOTUFQLCB2bWEsIHZtYS0+dm1fbW0sCisJbW11X25vdGlmaWVyX3JhbmdlX2luaXQoJnJh bmdlLCBNTVVfTk9USUZZX1VOTUFQLCBOVUxMLCB2bWEtPnZtX21tLAogCQkJCXN0YXJ0X2FkZHIs IGVuZF9hZGRyKTsKIAltbXVfbm90aWZpZXJfaW52YWxpZGF0ZV9yYW5nZV9zdGFydCgmcmFuZ2Up OwogCWZvciAoIDsgdm1hICYmIHZtYS0+dm1fc3RhcnQgPCBlbmRfYWRkcjsgdm1hID0gdm1hLT52 bV9uZXh0KQpAQCAtMTM1Nyw3ICsxMzU3LDcgQEAgdm9pZCB6YXBfcGFnZV9yYW5nZShzdHJ1Y3Qg dm1fYXJlYV9zdHJ1Y3QgKnZtYSwgdW5zaWduZWQgbG9uZyBzdGFydCwKIAlzdHJ1Y3QgbW11X2dh dGhlciB0bGI7CiAKIAlscnVfYWRkX2RyYWluKCk7Ci0JbW11X25vdGlmaWVyX3JhbmdlX2luaXQo JnJhbmdlLCBNTVVfTk9USUZZX1VOTUFQLCB2bWEsIHZtYS0+dm1fbW0sCisJbW11X25vdGlmaWVy X3JhbmdlX2luaXQoJnJhbmdlLCBNTVVfTk9USUZZX0NMRUFSLCB2bWEsIHZtYS0+dm1fbW0sCiAJ CQkJc3RhcnQsIHN0YXJ0ICsgc2l6ZSk7CiAJdGxiX2dhdGhlcl9tbXUoJnRsYiwgdm1hLT52bV9t bSwgc3RhcnQsIHJhbmdlLmVuZCk7CiAJdXBkYXRlX2hpd2F0ZXJfcnNzKHZtYS0+dm1fbW0pOwpA QCAtMTM4NCw3ICsxMzg0LDcgQEAgc3RhdGljIHZvaWQgemFwX3BhZ2VfcmFuZ2Vfc2luZ2xlKHN0 cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hLCB1bnNpZ25lZCBsb25nIGFkZHIKIAlzdHJ1Y3QgbW11 X2dhdGhlciB0bGI7CiAKIAlscnVfYWRkX2RyYWluKCk7Ci0JbW11X25vdGlmaWVyX3JhbmdlX2lu aXQoJnJhbmdlLCBNTVVfTk9USUZZX1VOTUFQLCB2bWEsIHZtYS0+dm1fbW0sCisJbW11X25vdGlm aWVyX3JhbmdlX2luaXQoJnJhbmdlLCBNTVVfTk9USUZZX0NMRUFSLCB2bWEsIHZtYS0+dm1fbW0s CiAJCQkJYWRkcmVzcywgYWRkcmVzcyArIHNpemUpOwogCXRsYl9nYXRoZXJfbW11KCZ0bGIsIHZt YS0+dm1fbW0sIGFkZHJlc3MsIHJhbmdlLmVuZCk7CiAJdXBkYXRlX2hpd2F0ZXJfcnNzKHZtYS0+ dm1fbW0pOwpAQCAtMjI3NSw3ICsyMjc1LDcgQEAgc3RhdGljIHZtX2ZhdWx0X3Qgd3BfcGFnZV9j b3B5KHN0cnVjdCB2bV9mYXVsdCAqdm1mKQogCiAJX19TZXRQYWdlVXB0b2RhdGUobmV3X3BhZ2Up OwogCi0JbW11X25vdGlmaWVyX3JhbmdlX2luaXQoJnJhbmdlLCBNTVVfTk9USUZZX1VOTUFQLCB2 bWEsIG1tLAorCW1tdV9ub3RpZmllcl9yYW5nZV9pbml0KCZyYW5nZSwgTU1VX05PVElGWV9DTEVB Uiwgdm1hLCBtbSwKIAkJCQl2bWYtPmFkZHJlc3MgJiBQQUdFX01BU0ssCiAJCQkJKHZtZi0+YWRk cmVzcyAmIFBBR0VfTUFTSykgKyBQQUdFX1NJWkUpOwogCW1tdV9ub3RpZmllcl9pbnZhbGlkYXRl X3JhbmdlX3N0YXJ0KCZyYW5nZSk7CkBAIC00MDg2LDcgKzQwODYsNyBAQCBzdGF0aWMgaW50IF9f Zm9sbG93X3B0ZV9wbWQoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHVuc2lnbmVkIGxvbmcgYWRkcmVz cywKIAkJCWdvdG8gb3V0OwogCiAJCWlmIChyYW5nZSkgewotCQkJbW11X25vdGlmaWVyX3Jhbmdl X2luaXQocmFuZ2UsIE1NVV9OT1RJRllfVU5NQVAsIE5VTEwsCisJCQltbXVfbm90aWZpZXJfcmFu Z2VfaW5pdChyYW5nZSwgTU1VX05PVElGWV9DTEVBUiwgTlVMTCwKIAkJCQkJCW1tLCBhZGRyZXNz ICYgUE1EX01BU0ssCiAJCQkJCQkoYWRkcmVzcyAmIFBNRF9NQVNLKSArIFBNRF9TSVpFKTsKIAkJ CW1tdV9ub3RpZmllcl9pbnZhbGlkYXRlX3JhbmdlX3N0YXJ0KHJhbmdlKTsKQEAgLTQxMDUsNyAr NDEwNSw3IEBAIHN0YXRpYyBpbnQgX19mb2xsb3dfcHRlX3BtZChzdHJ1Y3QgbW1fc3RydWN0ICpt bSwgdW5zaWduZWQgbG9uZyBhZGRyZXNzLAogCQlnb3RvIG91dDsKIAogCWlmIChyYW5nZSkgewot CQltbXVfbm90aWZpZXJfcmFuZ2VfaW5pdChyYW5nZSwgTU1VX05PVElGWV9VTk1BUCwgTlVMTCwg bW0sCisJCW1tdV9ub3RpZmllcl9yYW5nZV9pbml0KHJhbmdlLCBNTVVfTk9USUZZX0NMRUFSLCBO VUxMLCBtbSwKIAkJCQkJYWRkcmVzcyAmIFBBR0VfTUFTSywKIAkJCQkJKGFkZHJlc3MgJiBQQUdF X01BU0spICsgUEFHRV9TSVpFKTsKIAkJbW11X25vdGlmaWVyX2ludmFsaWRhdGVfcmFuZ2Vfc3Rh cnQocmFuZ2UpOwpkaWZmIC0tZ2l0IGEvbW0vbWlncmF0ZS5jIGIvbW0vbWlncmF0ZS5jCmluZGV4 IDM4NWM1OWQ1YzI4ZC4uMzg0Y2RlOTFkODg2IDEwMDY0NAotLS0gYS9tbS9taWdyYXRlLmMKKysr IGIvbW0vbWlncmF0ZS5jCkBAIC0yMzQyLDcgKzIzNDIsNyBAQCBzdGF0aWMgdm9pZCBtaWdyYXRl X3ZtYV9jb2xsZWN0KHN0cnVjdCBtaWdyYXRlX3ZtYSAqbWlncmF0ZSkKIAltbV93YWxrLm1tID0g bWlncmF0ZS0+dm1hLT52bV9tbTsKIAltbV93YWxrLnByaXZhdGUgPSBtaWdyYXRlOwogCi0JbW11 X25vdGlmaWVyX3JhbmdlX2luaXQoJnJhbmdlLCBNTVVfTk9USUZZX1VOTUFQLCBOVUxMLCBtbV93 YWxrLm1tLAorCW1tdV9ub3RpZmllcl9yYW5nZV9pbml0KCZyYW5nZSwgTU1VX05PVElGWV9DTEVB UiwgTlVMTCwgbW1fd2Fsay5tbSwKIAkJCQltaWdyYXRlLT5zdGFydCwKIAkJCQltaWdyYXRlLT5l bmQpOwogCW1tdV9ub3RpZmllcl9pbnZhbGlkYXRlX3JhbmdlX3N0YXJ0KCZyYW5nZSk7CkBAIC0y NzUxLDcgKzI3NTEsNyBAQCBzdGF0aWMgdm9pZCBtaWdyYXRlX3ZtYV9wYWdlcyhzdHJ1Y3QgbWln cmF0ZV92bWEgKm1pZ3JhdGUpCiAJCQkJbm90aWZpZWQgPSB0cnVlOwogCiAJCQkJbW11X25vdGlm aWVyX3JhbmdlX2luaXQoJnJhbmdlLAotCQkJCQkJCU1NVV9OT1RJRllfVU5NQVAsCisJCQkJCQkJ TU1VX05PVElGWV9DTEVBUiwKIAkJCQkJCQlOVUxMLAogCQkJCQkJCW1pZ3JhdGUtPnZtYS0+dm1f bW0sCiAJCQkJCQkJYWRkciwgbWlncmF0ZS0+ZW5kKTsKZGlmZiAtLWdpdCBhL21tL21wcm90ZWN0 LmMgYi9tbS9tcHJvdGVjdC5jCmluZGV4IGIyMmU2NjA3MDFmMS4uYzE5ZThiZGMyNjQ4IDEwMDY0 NAotLS0gYS9tbS9tcHJvdGVjdC5jCisrKyBiL21tL21wcm90ZWN0LmMKQEAgLTE4NSw4ICsxODUs OSBAQCBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgY2hhbmdlX3BtZF9yYW5nZShzdHJ1Y3Qg dm1fYXJlYV9zdHJ1Y3QgKnZtYSwKIAogCQkvKiBpbnZva2UgdGhlIG1tdSBub3RpZmllciBpZiB0 aGUgcG1kIGlzIHBvcHVsYXRlZCAqLwogCQlpZiAoIXJhbmdlLnN0YXJ0KSB7Ci0JCQltbXVfbm90 aWZpZXJfcmFuZ2VfaW5pdCgmcmFuZ2UsIE1NVV9OT1RJRllfVU5NQVAsIHZtYSwKLQkJCQkJCXZt YS0+dm1fbW0sIGFkZHIsIGVuZCk7CisJCQltbXVfbm90aWZpZXJfcmFuZ2VfaW5pdCgmcmFuZ2Us CisJCQkJCQlNTVVfTk9USUZZX1BST1RFQ1RJT05fVk1BLAorCQkJCQkJdm1hLCB2bWEtPnZtX21t LCBhZGRyLCBlbmQpOwogCQkJbW11X25vdGlmaWVyX2ludmFsaWRhdGVfcmFuZ2Vfc3RhcnQoJnJh bmdlKTsKIAkJfQogCmRpZmYgLS1naXQgYS9tbS9ybWFwLmMgYi9tbS9ybWFwLmMKaW5kZXggNDlj NzVmMGM2YzMzLi44MWVhODRhYjUxMWEgMTAwNjQ0Ci0tLSBhL21tL3JtYXAuYworKysgYi9tbS9y bWFwLmMKQEAgLTg5Niw4ICs4OTYsOCBAQCBzdGF0aWMgYm9vbCBwYWdlX21rY2xlYW5fb25lKHN0 cnVjdCBwYWdlICpwYWdlLCBzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSwKIAkgKiBXZSBoYXZl IHRvIGFzc3VtZSB0aGUgd29yc2UgY2FzZSBpZSBwbWQgZm9yIGludmFsaWRhdGlvbi4gTm90ZSB0 aGF0CiAJICogdGhlIHBhZ2UgY2FuIG5vdCBiZSBmcmVlIGZyb20gdGhpcyBmdW5jdGlvbi4KIAkg Ki8KLQltbXVfbm90aWZpZXJfcmFuZ2VfaW5pdCgmcmFuZ2UsIE1NVV9OT1RJRllfVU5NQVAsIHZt YSwgdm1hLT52bV9tbSwKLQkJCQlhZGRyZXNzLAorCW1tdV9ub3RpZmllcl9yYW5nZV9pbml0KCZy YW5nZSwgTU1VX05PVElGWV9QUk9URUNUSU9OX1BBR0UsIHZtYSwKKwkJCQl2bWEtPnZtX21tLCBh ZGRyZXNzLAogCQkJCW1pbih2bWEtPnZtX2VuZCwgYWRkcmVzcyArCiAJCQkJICAgIChQQUdFX1NJ WkUgPDwgY29tcG91bmRfb3JkZXIocGFnZSkpKSk7CiAJbW11X25vdGlmaWVyX2ludmFsaWRhdGVf cmFuZ2Vfc3RhcnQoJnJhbmdlKTsKQEAgLTEzNzIsNyArMTM3Miw3IEBAIHN0YXRpYyBib29sIHRy eV90b191bm1hcF9vbmUoc3RydWN0IHBhZ2UgKnBhZ2UsIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAq dm1hLAogCSAqIE5vdGUgdGhhdCB0aGUgcGFnZSBjYW4gbm90IGJlIGZyZWUgaW4gdGhpcyBmdW5j dGlvbiBhcyBjYWxsIG9mCiAJICogdHJ5X3RvX3VubWFwKCkgbXVzdCBob2xkIGEgcmVmZXJlbmNl IG9uIHRoZSBwYWdlLgogCSAqLwotCW1tdV9ub3RpZmllcl9yYW5nZV9pbml0KCZyYW5nZSwgTU1V X05PVElGWV9VTk1BUCwgdm1hLCB2bWEtPnZtX21tLAorCW1tdV9ub3RpZmllcl9yYW5nZV9pbml0 KCZyYW5nZSwgTU1VX05PVElGWV9DTEVBUiwgdm1hLCB2bWEtPnZtX21tLAogCQkJCWFkZHJlc3Ms CiAJCQkJbWluKHZtYS0+dm1fZW5kLCBhZGRyZXNzICsKIAkJCQkgICAgKFBBR0VfU0laRSA8PCBj b21wb3VuZF9vcmRlcihwYWdlKSkpKTsKLS0gCjIuMTcuMgoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2 ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==