From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH 7/7] xen/mm: Clean up share_xen_page_with_guest() API Date: Fri, 9 Mar 2018 13:18:42 +0000 Message-ID: <1520601522-2886-8-git-send-email-andrew.cooper3@citrix.com> References: <1520601522-2886-1-git-send-email-andrew.cooper3@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1520601522-2886-1-git-send-email-andrew.cooper3@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Xen-devel Cc: Stefano Stabellini , Wei Liu , George Dunlap , Andrew Cooper , Tim Deegan , Julien Grall , Jan Beulich , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= List-Id: xen-devel@lists.xenproject.org VGhlIHNoYXJlX3hlbl9wYWdlX3dpdGhfZ3Vlc3QoKSBmdW5jdGlvbnMgYXJlIHVzZWQgYnkgY29t bW9uIGNvZGUsIGFuZCBhcmUKaW1wbGVtZW50ZWQgdGhlIHNhbWUgYnkgZWFjaCBhcmNoLiAgTW92 ZSB0aGUgZGVjbGFyYXRpb25zIGludG8gdGhlIGNvbW1vbiBtbS5oCnJhdGhlciB0aGFuIGR1cGxp Y2F0aW5nIHRoZW0gaW4gZWFjaCBhcmNoL21tLmgKClR1cm4gYW4gaW50IHJlYWRvbmx5IGludG8g YSBib29sZWFuIGVudW0sIHRvIHJldGFpbiByby9ydyBjb250ZXh0IGF0IHRoZQpjYWxsc2l0ZXMs IGJ1dCB1c2Ugc2hvcnRlciBsYWJlbHMgd2hpY2ggYXZvaWRzIGEgbGFyZ2UgbnVtYmVyIG9mIHNw bGl0IGxpbmVzLgoKSW1wbGVtZW50IHNoYXJlX3hlbl9wYWdlX3dpdGhfcHJpdmlsZWdlZF9ndWVz dHMoKSBhcyBhIHN0YXRpYyBpbmxpbmUgd3JhcHBlcgphcm91bmQgc2hhcmVfeGVuX3BhZ2Vfd2l0 aF9ndWVzdCgpIHRvIGF2b2lkIGhhdmluZyBhIGNhbGwgaW50byBhIHNlcGFyYXRlCnRyYW5zbGF0 aW9uIHVuaXQgd2hvc2Ugb25seSBwdXJwb3NlIGlzIHRvIHNodWZmbGUgZnVuY3Rpb24gYXJndW1l bnRzLgoKTm8gZnVuY3Rpb25hbCBjaGFuZ2UuCgpTaWduZWQtb2ZmLWJ5OiBBbmRyZXcgQ29vcGVy IDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgotLS0KQ0M6IEphbiBCZXVsaWNoIDxKQmV1bGlj aEBzdXNlLmNvbT4KQ0M6IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3N0YWJlbGxpbmlAa2VybmVsLm9y Zz4KQ0M6IEp1bGllbiBHcmFsbCA8anVsaWVuLmdyYWxsQGFybS5jb20+CkNDOiBHZW9yZ2UgRHVu bGFwIDxnZW9yZ2UuZHVubGFwQGV1LmNpdHJpeC5jb20+CkNDOiBUaW0gRGVlZ2FuIDx0aW1AeGVu Lm9yZz4KQ0M6IFdlaSBMaXUgPHdlaS5saXUyQGNpdHJpeC5jb20+CkNDOiBSb2dlciBQYXUgTW9u bsOpIDxyb2dlci5wYXVAY2l0cml4LmNvbT4KLS0tCiB4ZW4vYXJjaC9hcm0vZG9tYWluLmMgICAg ICAgICAgICAgfCAgMyArLS0KIHhlbi9hcmNoL2FybS9tbS5jICAgICAgICAgICAgICAgICB8IDEz ICsrKystLS0tLS0tLS0KIHhlbi9hcmNoL3g4Ni9kb21haW4uYyAgICAgICAgICAgICB8ICAzICst LQogeGVuL2FyY2gveDg2L2h2bS9kb20wX2J1aWxkLmMgICAgIHwgIDIgKy0KIHhlbi9hcmNoL3g4 Ni9odm0vdm14L3ZteC5jICAgICAgICB8ICAyICstCiB4ZW4vYXJjaC94ODYvbW0uYyAgICAgICAg ICAgICAgICAgfCAyMCArKysrKysrLS0tLS0tLS0tLS0tLQogeGVuL2FyY2gveDg2L3B2L3NoaW0u YyAgICAgICAgICAgIHwgIDYgKystLS0tCiB4ZW4vYXJjaC94ODYveDg2XzY0L21tLmMgICAgICAg ICAgfCAxNiArKysrKystLS0tLS0tLS0tCiB4ZW4vY29tbW9uL3RyYWNlLmMgICAgICAgICAgICAg ICAgfCAgOSArKystLS0tLS0KIHhlbi9jb21tb24veGVub3Byb2YuYyAgICAgICAgICAgICB8ICAz ICstLQogeGVuL2luY2x1ZGUvYXNtLWFybS9ncmFudF90YWJsZS5oIHwgIDMgKy0tCiB4ZW4vaW5j bHVkZS9hc20tYXJtL21tLmggICAgICAgICAgfCAgNyAtLS0tLS0tCiB4ZW4vaW5jbHVkZS9hc20t eDg2L2dyYW50X3RhYmxlLmggfCAgNiArKy0tLS0KIHhlbi9pbmNsdWRlL2FzbS14ODYvbW0uaCAg ICAgICAgICB8ICA4IC0tLS0tLS0tCiB4ZW4vaW5jbHVkZS94ZW4vbW0uaCAgICAgICAgICAgICAg fCAxNCArKysrKysrKysrKysrKwogMTUgZmlsZXMgY2hhbmdlZCwgNDQgaW5zZXJ0aW9ucygrKSwg NzEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL2RvbWFpbi5jIGIveGVu L2FyY2gvYXJtL2RvbWFpbi5jCmluZGV4IDRiNDVmYWQuLjIzZGFjNWQgMTAwNjQ0Ci0tLSBhL3hl bi9hcmNoL2FybS9kb21haW4uYworKysgYi94ZW4vYXJjaC9hcm0vZG9tYWluLmMKQEAgLTYwMiw4 ICs2MDIsNyBAQCBpbnQgYXJjaF9kb21haW5fY3JlYXRlKHN0cnVjdCBkb21haW4gKmQsCiAgICAg ICAgIGdvdG8gZmFpbDsKIAogICAgIGNsZWFyX3BhZ2UoZC0+c2hhcmVkX2luZm8pOwotICAgIHNo YXJlX3hlbl9wYWdlX3dpdGhfZ3Vlc3QoCi0gICAgICAgIHZpcnRfdG9fcGFnZShkLT5zaGFyZWRf aW5mbyksIGQsIFhFTlNIQVJFX3dyaXRhYmxlKTsKKyAgICBzaGFyZV94ZW5fcGFnZV93aXRoX2d1 ZXN0KHZpcnRfdG9fcGFnZShkLT5zaGFyZWRfaW5mbyksIGQsIFNIQVJFX3J3KTsKIAogICAgIHN3 aXRjaCAoIGNvbmZpZy0+Y29uZmlnLmdpY192ZXJzaW9uICkKICAgICB7CmRpZmYgLS1naXQgYS94 ZW4vYXJjaC9hcm0vbW0uYyBiL3hlbi9hcmNoL2FybS9tbS5jCmluZGV4IGEwOWJlYTIuLmJhYTNi MGQgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS9tbS5jCisrKyBiL3hlbi9hcmNoL2FybS9tbS5j CkBAIC0xMTg3LDggKzExODcsOCBAQCB1bnNpZ25lZCBsb25nIGRvbWFpbl9nZXRfbWF4aW11bV9n cGZuKHN0cnVjdCBkb21haW4gKmQpCiAgICAgcmV0dXJuIGdmbl94KGQtPmFyY2gucDJtLm1heF9t YXBwZWRfZ2ZuKTsKIH0KIAotdm9pZCBzaGFyZV94ZW5fcGFnZV93aXRoX2d1ZXN0KHN0cnVjdCBw YWdlX2luZm8gKnBhZ2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBkb21haW4g KmQsIGludCByZWFkb25seSkKK3ZvaWQgc2hhcmVfeGVuX3BhZ2Vfd2l0aF9ndWVzdChzdHJ1Y3Qg cGFnZV9pbmZvICpwYWdlLCBzdHJ1Y3QgZG9tYWluICpkLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGVudW0gWEVOU0hBUkVfZmxhZ3MgZmxhZ3MpCiB7CiAgICAgaWYgKCBwYWdlX2dl dF9vd25lcihwYWdlKSA9PSBkICkKICAgICAgICAgcmV0dXJuOwpAQCAtMTE5Niw3ICsxMTk2LDgg QEAgdm9pZCBzaGFyZV94ZW5fcGFnZV93aXRoX2d1ZXN0KHN0cnVjdCBwYWdlX2luZm8gKnBhZ2Us CiAgICAgc3Bpbl9sb2NrKCZkLT5wYWdlX2FsbG9jX2xvY2spOwogCiAgICAgLyogVGhlIGluY3Jl bWVudGVkIHR5cGUgY291bnQgcGlucyBhcyB3cml0YWJsZSBvciByZWFkLW9ubHkuICovCi0gICAg cGFnZS0+dS5pbnVzZS50eXBlX2luZm8gPSAocmVhZG9ubHkgPyBQR1Rfbm9uZSA6IFBHVF93cml0 YWJsZV9wYWdlKSB8IDE7CisgICAgcGFnZS0+dS5pbnVzZS50eXBlX2luZm8gPQorICAgICAgICAo ZmxhZ3MgPT0gU0hBUkVfcm8gPyBQR1Rfbm9uZSA6IFBHVF93cml0YWJsZV9wYWdlKSB8IDE7CiAK ICAgICBwYWdlX3NldF9vd25lcihwYWdlLCBkKTsKICAgICBzbXBfd21iKCk7IC8qIGluc3RhbGwg dmFsaWQgZG9tYWluIHB0ciBiZWZvcmUgdXBkYXRpbmcgcmVmY250LiAqLwpAQCAtMTIxNCwxMiAr MTIxNSw2IEBAIHZvaWQgc2hhcmVfeGVuX3BhZ2Vfd2l0aF9ndWVzdChzdHJ1Y3QgcGFnZV9pbmZv ICpwYWdlLAogICAgIHNwaW5fdW5sb2NrKCZkLT5wYWdlX2FsbG9jX2xvY2spOwogfQogCi12b2lk IHNoYXJlX3hlbl9wYWdlX3dpdGhfcHJpdmlsZWdlZF9ndWVzdHMoCi0gICAgc3RydWN0IHBhZ2Vf aW5mbyAqcGFnZSwgaW50IHJlYWRvbmx5KQotewotICAgIHNoYXJlX3hlbl9wYWdlX3dpdGhfZ3Vl c3QocGFnZSwgZG9tX3hlbiwgcmVhZG9ubHkpOwotfQotCiBpbnQgeGVubWVtX2FkZF90b19waHlz bWFwX29uZSgKICAgICBzdHJ1Y3QgZG9tYWluICpkLAogICAgIHVuc2lnbmVkIGludCBzcGFjZSwK ZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9kb21haW4uYyBiL3hlbi9hcmNoL3g4Ni9kb21haW4u YwppbmRleCAxMmQwNzY2Li44MDA2YmVkIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvZG9tYWlu LmMKKysrIGIveGVuL2FyY2gveDg2L2RvbWFpbi5jCkBAIC01MjgsOCArNTI4LDcgQEAgaW50IGFy Y2hfZG9tYWluX2NyZWF0ZShzdHJ1Y3QgZG9tYWluICpkLAogICAgICAgICBnb3RvIGZhaWw7CiAK ICAgICBjbGVhcl9wYWdlKGQtPnNoYXJlZF9pbmZvKTsKLSAgICBzaGFyZV94ZW5fcGFnZV93aXRo X2d1ZXN0KAotICAgICAgICB2aXJ0X3RvX3BhZ2UoZC0+c2hhcmVkX2luZm8pLCBkLCBYRU5TSEFS RV93cml0YWJsZSk7CisgICAgc2hhcmVfeGVuX3BhZ2Vfd2l0aF9ndWVzdCh2aXJ0X3RvX3BhZ2Uo ZC0+c2hhcmVkX2luZm8pLCBkLCBTSEFSRV9ydyk7CiAKICAgICBpZiAoIChyYyA9IGluaXRfZG9t YWluX2lycV9tYXBwaW5nKGQpKSAhPSAwICkKICAgICAgICAgZ290byBmYWlsOwpkaWZmIC0tZ2l0 IGEveGVuL2FyY2gveDg2L2h2bS9kb20wX2J1aWxkLmMgYi94ZW4vYXJjaC94ODYvaHZtL2RvbTBf YnVpbGQuYwppbmRleCBhZmViYWVjLi4xYzcwNDE2IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYv aHZtL2RvbTBfYnVpbGQuYworKysgYi94ZW4vYXJjaC94ODYvaHZtL2RvbTBfYnVpbGQuYwpAQCAt Mjk3LDcgKzI5Nyw3IEBAIHN0YXRpYyB2b2lkIF9faW5pdCBwdmhfc3RlYWxfbG93X3JhbShzdHJ1 Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBsb25nIHN0YXJ0LAogICAgICAgICAgICAgY29udGludWU7 CiAgICAgICAgIH0KIAotICAgICAgICBzaGFyZV94ZW5fcGFnZV93aXRoX2d1ZXN0KHBnLCBkLCBY RU5TSEFSRV93cml0YWJsZSk7CisgICAgICAgIHNoYXJlX3hlbl9wYWdlX3dpdGhfZ3Vlc3QocGcs IGQsIFNIQVJFX3J3KTsKICAgICAgICAgcmMgPSBndWVzdF9waHlzbWFwX2FkZF9lbnRyeShkLCBf Z2ZuKG1mbiksIF9tZm4obWZuKSwgMCwgcDJtX3JhbV9ydyk7CiAgICAgICAgIGlmICggcmMgKQog ICAgICAgICAgICAgcHJpbnRrKCJVbmFibGUgdG8gYWRkIG1mbiAlI2x4IHRvIHAybTogJWRcbiIs IG1mbiwgcmMpOwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2bS92bXgvdm14LmMgYi94ZW4v YXJjaC94ODYvaHZtL3ZteC92bXguYwppbmRleCAxOGQ4Y2UyLi5lYmM2OTM0IDEwMDY0NAotLS0g YS94ZW4vYXJjaC94ODYvaHZtL3ZteC92bXguYworKysgYi94ZW4vYXJjaC94ODYvaHZtL3ZteC92 bXguYwpAQCAtMjk0MSw3ICsyOTQxLDcgQEAgc3RhdGljIGludCB2bXhfYWxsb2NfdmxhcGljX21h cHBpbmcoc3RydWN0IGRvbWFpbiAqZCkKICAgICAgICAgcmV0dXJuIC1FTk9NRU07CiAgICAgbWZu ID0gcGFnZV90b19tZm4ocGcpOwogICAgIGNsZWFyX2RvbWFpbl9wYWdlKF9tZm4obWZuKSk7Ci0g ICAgc2hhcmVfeGVuX3BhZ2Vfd2l0aF9ndWVzdChwZywgZCwgWEVOU0hBUkVfd3JpdGFibGUpOwor ICAgIHNoYXJlX3hlbl9wYWdlX3dpdGhfZ3Vlc3QocGcsIGQsIFNIQVJFX3J3KTsKICAgICBkLT5h cmNoLmh2bV9kb21haW4udm14LmFwaWNfYWNjZXNzX21mbiA9IG1mbjsKICAgICBzZXRfbW1pb19w Mm1fZW50cnkoZCwgcGFkZHJfdG9fcGZuKEFQSUNfREVGQVVMVF9QSFlTX0JBU0UpLCBfbWZuKG1m biksCiAgICAgICAgICAgICAgICAgICAgICAgIFBBR0VfT1JERVJfNEssIHAybV9nZXRfaG9zdHAy bShkKS0+ZGVmYXVsdF9hY2Nlc3MpOwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L21tLmMgYi94 ZW4vYXJjaC94ODYvbW0uYwppbmRleCAxZDRlMzk2Li4xNzU1OGUwIDEwMDY0NAotLS0gYS94ZW4v YXJjaC94ODYvbW0uYworKysgYi94ZW4vYXJjaC94ODYvbW0uYwpAQCAtMzAxLDggKzMwMSw3IEBA IHZvaWQgX19pbml0IGFyY2hfaW5pdF9tZW1vcnkodm9pZCkKICAgICAgICAgICBpIDwgKHB2aF9i b290ID8gKDEgKyBQRk5fVVAodHJhbXBvbGluZV9lbmQgLSB0cmFtcG9saW5lX3N0YXJ0KSkKICAg ICAgICAgICAgICAgICAgICAgICAgIDogMHgxMDApOwogICAgICAgICAgIGkrKyApCi0gICAgICAg IHNoYXJlX3hlbl9wYWdlX3dpdGhfZ3Vlc3QobWZuX3RvX3BhZ2UoX21mbihpKSksCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9tX2lvLCBYRU5TSEFSRV93cml0YWJsZSk7Cisg ICAgICAgIHNoYXJlX3hlbl9wYWdlX3dpdGhfZ3Vlc3QobWZuX3RvX3BhZ2UoX21mbihpKSksIGRv bV9pbywgU0hBUkVfcncpOwogCiAgICAgLyogQW55IGFyZWFzIG5vdCBzcGVjaWZpZWQgYXMgUkFN IGJ5IHRoZSBlODIwIG1hcCBhcmUgY29uc2lkZXJlZCBJL08uICovCiAgICAgZm9yICggaSA9IDAs IHBmbiA9IDA7IHBmbiA8IG1heF9wYWdlOyBpKysgKQpAQCAtMzQyLDggKzM0MSw4IEBAIHZvaWQg X19pbml0IGFyY2hfaW5pdF9tZW1vcnkodm9pZCkKICAgICAgICAgewogICAgICAgICAgICAgaWYg KCAhbWZuX3ZhbGlkKF9tZm4ocGZuKSkgKQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAg ICAgICAgICAgc2hhcmVfeGVuX3BhZ2Vfd2l0aF9ndWVzdCgKLSAgICAgICAgICAgICAgICBtZm5f dG9fcGFnZShfbWZuKHBmbikpLCBkb21faW8sIFhFTlNIQVJFX3dyaXRhYmxlKTsKKworICAgICAg ICAgICAgc2hhcmVfeGVuX3BhZ2Vfd2l0aF9ndWVzdChtZm5fdG9fcGFnZShfbWZuKHBmbikpLCBk b21faW8sIFNIQVJFX3J3KTsKICAgICAgICAgfQogCiAgICAgICAgIC8qIFNraXAgdGhlIFJBTSBy ZWdpb24uICovCkBAIC00MzksOCArNDM4LDggQEAgdW5zaWduZWQgbG9uZyBkb21haW5fZ2V0X21h eGltdW1fZ3BmbihzdHJ1Y3QgZG9tYWluICpkKQogICAgIHJldHVybiAoYXJjaF9nZXRfbWF4X3Bm bihkKSA/OiAxKSAtIDE7CiB9CiAKLXZvaWQgc2hhcmVfeGVuX3BhZ2Vfd2l0aF9ndWVzdCgKLSAg ICBzdHJ1Y3QgcGFnZV9pbmZvICpwYWdlLCBzdHJ1Y3QgZG9tYWluICpkLCBpbnQgcmVhZG9ubHkp Cit2b2lkIHNoYXJlX3hlbl9wYWdlX3dpdGhfZ3Vlc3Qoc3RydWN0IHBhZ2VfaW5mbyAqcGFnZSwg c3RydWN0IGRvbWFpbiAqZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnVtIFhF TlNIQVJFX2ZsYWdzIGZsYWdzKQogewogICAgIGlmICggcGFnZV9nZXRfb3duZXIocGFnZSkgPT0g ZCApCiAgICAgICAgIHJldHVybjsKQEAgLTQ1MCw3ICs0NDksOCBAQCB2b2lkIHNoYXJlX3hlbl9w YWdlX3dpdGhfZ3Vlc3QoCiAgICAgc3Bpbl9sb2NrKCZkLT5wYWdlX2FsbG9jX2xvY2spOwogCiAg ICAgLyogVGhlIGluY3JlbWVudGVkIHR5cGUgY291bnQgcGlucyBhcyB3cml0YWJsZSBvciByZWFk LW9ubHkuICovCi0gICAgcGFnZS0+dS5pbnVzZS50eXBlX2luZm8gID0gKHJlYWRvbmx5ID8gUEdU X25vbmUgOiBQR1Rfd3JpdGFibGVfcGFnZSk7CisgICAgcGFnZS0+dS5pbnVzZS50eXBlX2luZm8g PQorICAgICAgICAoZmxhZ3MgPT0gU0hBUkVfcm8gPyBQR1Rfbm9uZSA6IFBHVF93cml0YWJsZV9w YWdlKTsKICAgICBwYWdlLT51LmludXNlLnR5cGVfaW5mbyB8PSBQR1RfdmFsaWRhdGVkIHwgMTsK IAogICAgIHBhZ2Vfc2V0X293bmVyKHBhZ2UsIGQpOwpAQCAtNDg1LDEyICs0ODUsNiBAQCBpbnQg X19pbml0IHVuc2hhcmVfeGVuX3BhZ2Vfd2l0aF9ndWVzdChzdHJ1Y3QgcGFnZV9pbmZvICpwYWdl LAogICAgIHJldHVybiAwOwogfQogCi12b2lkIHNoYXJlX3hlbl9wYWdlX3dpdGhfcHJpdmlsZWdl ZF9ndWVzdHMoCi0gICAgc3RydWN0IHBhZ2VfaW5mbyAqcGFnZSwgaW50IHJlYWRvbmx5KQotewot ICAgIHNoYXJlX3hlbl9wYWdlX3dpdGhfZ3Vlc3QocGFnZSwgZG9tX3hlbiwgcmVhZG9ubHkpOwot fQotCiB2b2lkIGZyZWVfc2hhcmVkX2RvbWhlYXBfcGFnZShzdHJ1Y3QgcGFnZV9pbmZvICpwYWdl KQogewogICAgIGlmICggdGVzdF9hbmRfY2xlYXJfYml0KF9QR0NfYWxsb2NhdGVkLCAmcGFnZS0+ Y291bnRfaW5mbykgKQpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3B2L3NoaW0uYyBiL3hlbi9h cmNoL3g4Ni9wdi9zaGltLmMKaW5kZXggNTM0OTY1Yy4uZGQ3NjI2NCAxMDA2NDQKLS0tIGEveGVu L2FyY2gveDg2L3B2L3NoaW0uYworKysgYi94ZW4vYXJjaC94ODYvcHYvc2hpbS5jCkBAIC0xNzEs OCArMTcxLDcgQEAgdm9pZCBfX2luaXQgcHZfc2hpbV9zZXR1cF9kb20oc3RydWN0IGRvbWFpbiAq ZCwgbDRfcGdlbnRyeV90ICpsNHN0YXJ0LAogICAgIChzaSkgPSBwYXJhbTsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBp ZiAoIHZhICkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBcCiAgICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICBzaGFy ZV94ZW5fcGFnZV93aXRoX2d1ZXN0KG1mbl90b19wYWdlKF9tZm4ocGFyYW0pKSwgZCwgICAgICAg ICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYRU5TSEFSRV93 cml0YWJsZSk7ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIHNoYXJlX3hlbl9w YWdlX3dpdGhfZ3Vlc3QobWZuX3RvX3BhZ2UoX21mbihwYXJhbSkpLCBkLCBTSEFSRV9ydyk7ICAg ICAgXAogICAgICAgICByZXBsYWNlX3ZhX21hcHBpbmcoZCwgbDRzdGFydCwgdmEsIF9tZm4ocGFy YW0pKTsgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgZG9tMF91cGRhdGVfcGh5c21h cChkLCBQRk5fRE9XTigodmEpIC0gdmFfc3RhcnQpLCBwYXJhbSwgdnBoeXNtYXApOyAgICBcCiAg ICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXApAQCAtMTk5LDggKzE5OCw3IEBAIHZvaWQgX19pbml0IHB2 X3NoaW1fc2V0dXBfZG9tKHN0cnVjdCBkb21haW4gKmQsIGw0X3BnZW50cnlfdCAqbDRzdGFydCwK ICAgICAgICAgY2xlYXJfcGFnZShwYWdlKTsKICAgICAgICAgY29uc29sZV9tZm4gPSB2aXJ0X3Rv X21mbihwYWdlKTsKICAgICAgICAgc2ktPmNvbnNvbGUuZG9tVS5tZm4gPSBtZm5feChjb25zb2xl X21mbik7Ci0gICAgICAgIHNoYXJlX3hlbl9wYWdlX3dpdGhfZ3Vlc3QobWZuX3RvX3BhZ2UoY29u c29sZV9tZm4pLCBkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhFTlNIQVJF X3dyaXRhYmxlKTsKKyAgICAgICAgc2hhcmVfeGVuX3BhZ2Vfd2l0aF9ndWVzdChtZm5fdG9fcGFn ZShjb25zb2xlX21mbiksIGQsIFNIQVJFX3J3KTsKICAgICAgICAgcmVwbGFjZV92YV9tYXBwaW5n KGQsIGw0c3RhcnQsIGNvbnNvbGVfdmEsIGNvbnNvbGVfbWZuKTsKICAgICAgICAgZG9tMF91cGRh dGVfcGh5c21hcChkLCAoY29uc29sZV92YSAtIHZhX3N0YXJ0KSA+PiBQQUdFX1NISUZULAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgIG1mbl94KGNvbnNvbGVfbWZuKSwgdnBoeXNtYXApOwpk aWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3g4Nl82NC9tbS5jIGIveGVuL2FyY2gveDg2L3g4Nl82 NC9tbS5jCmluZGV4IDliMzdkYTYuLjg4MjBmNWMgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni94 ODZfNjQvbW0uYworKysgYi94ZW4vYXJjaC94ODYveDg2XzY0L21tLmMKQEAgLTE4NSw3ICsxODUs NyBAQCBzdGF0aWMgaW50IHNoYXJlX2hvdGFkZF9tMnBfdGFibGUoc3RydWN0IG1lbV9ob3RhZGRf aW5mbyAqaW5mbykKICAgICAgICAgewogICAgICAgICAgICAgc3RydWN0IHBhZ2VfaW5mbyAqcGFn ZSA9IG1mbl90b19wYWdlKG0ycF9zdGFydF9tZm4gKyBpKTsKICAgICAgICAgICAgIGlmIChob3Rh ZGRfbWVtX3ZhbGlkKG0ycF9zdGFydF9tZm4gKyBpLCBpbmZvKSkKLSAgICAgICAgICAgICAgICBz aGFyZV94ZW5fcGFnZV93aXRoX3ByaXZpbGVnZWRfZ3Vlc3RzKHBhZ2UsIFhFTlNIQVJFX3JlYWRv bmx5KTsKKyAgICAgICAgICAgICAgICBzaGFyZV94ZW5fcGFnZV93aXRoX3ByaXZpbGVnZWRfZ3Vl c3RzKHBhZ2UsIFNIQVJFX3JvKTsKICAgICAgICAgfQogICAgIH0KIApAQCAtMjA2LDcgKzIwNiw3 IEBAIHN0YXRpYyBpbnQgc2hhcmVfaG90YWRkX20ycF90YWJsZShzdHJ1Y3QgbWVtX2hvdGFkZF9p bmZvICppbmZvKQogICAgICAgICB7CiAgICAgICAgICAgICBzdHJ1Y3QgcGFnZV9pbmZvICpwYWdl ID0gbWZuX3RvX3BhZ2UobTJwX3N0YXJ0X21mbiArIGkpOwogICAgICAgICAgICAgaWYgKGhvdGFk ZF9tZW1fdmFsaWQobTJwX3N0YXJ0X21mbiArIGksIGluZm8pKQotICAgICAgICAgICAgICAgIHNo YXJlX3hlbl9wYWdlX3dpdGhfcHJpdmlsZWdlZF9ndWVzdHMocGFnZSwgWEVOU0hBUkVfcmVhZG9u bHkpOworICAgICAgICAgICAgICAgIHNoYXJlX3hlbl9wYWdlX3dpdGhfcHJpdmlsZWdlZF9ndWVz dHMocGFnZSwgU0hBUkVfcm8pOwogICAgICAgICB9CiAgICAgfQogICAgIHJldHVybiAwOwpAQCAt ODYwLDEwICs4NjAsOCBAQCB2b2lkIF9faW5pdCBzdWJhcmNoX2luaXRfbWVtb3J5KHZvaWQpCiAg ICAgICAgIH0KIAogICAgICAgICBmb3IgKCBpID0gMDsgaSA8IG47IGkrKyApCi0gICAgICAgIHsK LSAgICAgICAgICAgIHN0cnVjdCBwYWdlX2luZm8gKnBhZ2UgPSBtZm5fdG9fcGFnZShtMnBfc3Rh cnRfbWZuICsgaSk7Ci0gICAgICAgICAgICBzaGFyZV94ZW5fcGFnZV93aXRoX3ByaXZpbGVnZWRf Z3Vlc3RzKHBhZ2UsIFhFTlNIQVJFX3JlYWRvbmx5KTsKLSAgICAgICAgfQorICAgICAgICAgICAg c2hhcmVfeGVuX3BhZ2Vfd2l0aF9wcml2aWxlZ2VkX2d1ZXN0cygKKyAgICAgICAgICAgICAgICBt Zm5fdG9fcGFnZShtMnBfc3RhcnRfbWZuICsgaSksIFNIQVJFX3JvKTsKICAgICB9CiAKICAgICBm b3IgKCB2ICA9IFJEV1JfQ09NUEFUX01QVF9WSVJUX1NUQVJUOwpAQCAtODgwLDEwICs4NzgsOCBA QCB2b2lkIF9faW5pdCBzdWJhcmNoX2luaXRfbWVtb3J5KHZvaWQpCiAgICAgICAgIG0ycF9zdGFy dF9tZm4gPSBsMmVfZ2V0X3BmbihsMmUpOwogCiAgICAgICAgIGZvciAoIGkgPSAwOyBpIDwgTDFf UEFHRVRBQkxFX0VOVFJJRVM7IGkrKyApCi0gICAgICAgIHsKLSAgICAgICAgICAgIHN0cnVjdCBw YWdlX2luZm8gKnBhZ2UgPSBtZm5fdG9fcGFnZShtMnBfc3RhcnRfbWZuICsgaSk7Ci0gICAgICAg ICAgICBzaGFyZV94ZW5fcGFnZV93aXRoX3ByaXZpbGVnZWRfZ3Vlc3RzKHBhZ2UsIFhFTlNIQVJF X3JlYWRvbmx5KTsKLSAgICAgICAgfQorICAgICAgICAgICAgc2hhcmVfeGVuX3BhZ2Vfd2l0aF9w cml2aWxlZ2VkX2d1ZXN0cygKKyAgICAgICAgICAgICAgICBtZm5fdG9fcGFnZShtMnBfc3RhcnRf bWZuICsgaSksIFNIQVJFX3JvKTsKICAgICB9CiAKICAgICAvKiBNYXJrIGFsbCBvZiBkaXJlY3Qg bWFwIE5YIGlmIGhhcmR3YXJlIHN1cHBvcnRzIGl0LiAqLwpkaWZmIC0tZ2l0IGEveGVuL2NvbW1v bi90cmFjZS5jIGIveGVuL2NvbW1vbi90cmFjZS5jCmluZGV4IDJlMTg3MDIuLjY4MGY2YWUgMTAw NjQ0Ci0tLSBhL3hlbi9jb21tb24vdHJhY2UuYworKysgYi94ZW4vY29tbW9uL3RyYWNlLmMKQEAg LTIyNyw3ICsyMjcsNiBAQCBzdGF0aWMgaW50IGFsbG9jX3RyYWNlX2J1ZnModW5zaWduZWQgaW50 IHBhZ2VzKQogICAgIGZvcl9lYWNoX29ubGluZV9jcHUoY3B1KQogICAgIHsKICAgICAgICAgc3Ry dWN0IHRfYnVmICpidWY7Ci0gICAgICAgIHN0cnVjdCBwYWdlX2luZm8gKnBnOwogCiAgICAgICAg IHNwaW5fbG9ja19pbml0KCZwZXJfY3B1KHRfbG9jaywgY3B1KSk7CiAKQEAgLTI0MiwxNiArMjQx LDE0IEBAIHN0YXRpYyBpbnQgYWxsb2NfdHJhY2VfYnVmcyh1bnNpZ25lZCBpbnQgcGFnZXMpCiAK ICAgICAgICAgLyogTm93IHNoYXJlIHRoZSB0cmFjZSBwYWdlcyAqLwogICAgICAgICBmb3IgKCBp ID0gMDsgaSA8IHBhZ2VzOyBpKysgKQotICAgICAgICB7Ci0gICAgICAgICAgICBwZyA9IG1mbl90 b19wYWdlKHRfaW5mb19tZm5fbGlzdFtvZmZzZXQgKyBpXSk7Ci0gICAgICAgICAgICBzaGFyZV94 ZW5fcGFnZV93aXRoX3ByaXZpbGVnZWRfZ3Vlc3RzKHBnLCBYRU5TSEFSRV93cml0YWJsZSk7Ci0g ICAgICAgIH0KKyAgICAgICAgICAgIHNoYXJlX3hlbl9wYWdlX3dpdGhfcHJpdmlsZWdlZF9ndWVz dHMoCisgICAgICAgICAgICAgICAgbWZuX3RvX3BhZ2UodF9pbmZvX21mbl9saXN0W29mZnNldCAr IGldKSwgU0hBUkVfcncpOwogICAgIH0KIAogICAgIC8qIEZpbmFsbHksIHNoYXJlIHRoZSB0X2lu Zm8gcGFnZSAqLwogICAgIGZvcihpID0gMDsgaSA8IHRfaW5mb19wYWdlczsgaSsrKQogICAgICAg ICBzaGFyZV94ZW5fcGFnZV93aXRoX3ByaXZpbGVnZWRfZ3Vlc3RzKAotICAgICAgICAgICAgdmly dF90b19wYWdlKHRfaW5mbykgKyBpLCBYRU5TSEFSRV9yZWFkb25seSk7CisgICAgICAgICAgICB2 aXJ0X3RvX3BhZ2UodF9pbmZvKSArIGksIFNIQVJFX3JvKTsKIAogICAgIGRhdGFfc2l6ZSAgPSAo cGFnZXMgKiBQQUdFX1NJWkUgLSBzaXplb2Yoc3RydWN0IHRfYnVmKSk7CiAgICAgdF9idWZfaGln aHdhdGVyID0gZGF0YV9zaXplID4+IDE7IC8qIDUwJSBoaWdoIHdhdGVyICovCmRpZmYgLS1naXQg YS94ZW4vY29tbW9uL3hlbm9wcm9mLmMgYi94ZW4vY29tbW9uL3hlbm9wcm9mLmMKaW5kZXggNWFj ZGRlNS4uYzFiNDMwMyAxMDA2NDQKLS0tIGEveGVuL2NvbW1vbi94ZW5vcHJvZi5jCisrKyBiL3hl bi9jb21tb24veGVub3Byb2YuYwpAQCAtMTU5LDggKzE1OSw3IEBAIHNoYXJlX3hlbm9wcm9mX3Bh Z2Vfd2l0aF9ndWVzdChzdHJ1Y3QgZG9tYWluICpkLCBtZm5fdCBtZm4sIGludCBucGFnZXMpCiAg ICAgfQogCiAgICAgZm9yICggaSA9IDA7IGkgPCBucGFnZXM7IGkrKyApCi0gICAgICAgIHNoYXJl X3hlbl9wYWdlX3dpdGhfZ3Vlc3QobWZuX3RvX3BhZ2UobWZuX2FkZChtZm4sIGkpKSwKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkLCBYRU5TSEFSRV93cml0YWJsZSk7CisgICAg ICAgIHNoYXJlX3hlbl9wYWdlX3dpdGhfZ3Vlc3QobWZuX3RvX3BhZ2UobWZuX2FkZChtZm4sIGkp KSwgZCwgU0hBUkVfcncpOwogCiAgICAgcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS94ZW4vaW5j bHVkZS9hc20tYXJtL2dyYW50X3RhYmxlLmggYi94ZW4vaW5jbHVkZS9hc20tYXJtL2dyYW50X3Rh YmxlLmgKaW5kZXggNWI4OTk0Yy4uYmU3ZWQ3NSAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNt LWFybS9ncmFudF90YWJsZS5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vZ3JhbnRfdGFibGUu aApAQCAtODEsOCArODEsNyBAQCBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGludCBnbnR0YWJfZG9t MF9tYXgodm9pZCkKICNkZWZpbmUgZ250dGFiX2NyZWF0ZV9zaGFyZWRfcGFnZShkLCB0LCBpKSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgZG8geyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAg ICBzaGFyZV94ZW5fcGFnZV93aXRoX2d1ZXN0KCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFwKLSAgICAgICAgICAgIHZpcnRfdG9fcGFnZSgoY2hhciAqKSh0KS0+c2hhcmVk X3Jhd1tpXSksICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAoZCksIFhFTlNIQVJF X3dyaXRhYmxlKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAg ICAgICAgdmlydF90b19wYWdlKChjaGFyICopKHQpLT5zaGFyZWRfcmF3W2ldKSwgKGQpLCBTSEFS RV9ydyk7ICAgIFwKICAgICB9IHdoaWxlICggMCApCiAKICNkZWZpbmUgZ250dGFiX3NoYXJlZF9n bWZuKGQsIHQsIGkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCmRpZmYg LS1naXQgYS94ZW4vaW5jbHVkZS9hc20tYXJtL21tLmggYi94ZW4vaW5jbHVkZS9hc20tYXJtL21t LmgKaW5kZXggNGQ1NTYzYi4uYTBlOTIyZiAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLWFy bS9tbS5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vbW0uaApAQCAtMTU5LDEzICsxNTksNiBA QCBleHRlcm4gdmFkZHJfdCB4ZW5oZWFwX3ZpcnRfc3RhcnQ7CiAKICNkZWZpbmUgbWFkZHJfZ2V0 X293bmVyKG1hKSAgIChwYWdlX2dldF9vd25lcihtYWRkcl90b19wYWdlKChtYSkpKSkKIAotI2Rl ZmluZSBYRU5TSEFSRV93cml0YWJsZSAwCi0jZGVmaW5lIFhFTlNIQVJFX3JlYWRvbmx5IDEKLWV4 dGVybiB2b2lkIHNoYXJlX3hlbl9wYWdlX3dpdGhfZ3Vlc3QoCi0gICAgc3RydWN0IHBhZ2VfaW5m byAqcGFnZSwgc3RydWN0IGRvbWFpbiAqZCwgaW50IHJlYWRvbmx5KTsKLWV4dGVybiB2b2lkIHNo YXJlX3hlbl9wYWdlX3dpdGhfcHJpdmlsZWdlZF9ndWVzdHMoCi0gICAgc3RydWN0IHBhZ2VfaW5m byAqcGFnZSwgaW50IHJlYWRvbmx5KTsKLQogI2RlZmluZSBmcmFtZV90YWJsZSAoKHN0cnVjdCBw YWdlX2luZm8gKilGUkFNRVRBQkxFX1ZJUlRfU1RBUlQpCiAvKiBQRFggb2YgdGhlIGZpcnN0IHBh Z2UgaW4gdGhlIGZyYW1lIHRhYmxlLiAqLwogZXh0ZXJuIHVuc2lnbmVkIGxvbmcgZnJhbWV0YWJs ZV9iYXNlX3BkeDsKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvZ3JhbnRfdGFibGUu aCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvZ3JhbnRfdGFibGUuaAppbmRleCA2NmU5NzQyLi44NzIw MTU5IDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L2dyYW50X3RhYmxlLmgKKysrIGIv eGVuL2luY2x1ZGUvYXNtLXg4Ni9ncmFudF90YWJsZS5oCkBAIC01NywxNSArNTcsMTMgQEAgc3Rh dGljIGlubGluZSB1bnNpZ25lZCBpbnQgZ250dGFiX2RvbTBfbWF4KHZvaWQpCiAjZGVmaW5lIGdu dHRhYl9jcmVhdGVfc2hhcmVkX3BhZ2UoZCwgdCwgaSkgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXAogICAgIGRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgc2hhcmVfeGVuX3BhZ2Vfd2l0aF9n dWVzdCggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAg ICB2aXJ0X3RvX3BhZ2UoKGNoYXIgKikodCktPnNoYXJlZF9yYXdbaV0pLCAgICAgICAgICAgICAg ICAgICAgXAotICAgICAgICAgICAgKGQpLCBYRU5TSEFSRV93cml0YWJsZSk7ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIHZpcnRfdG9fcGFnZSgoY2hh ciAqKSh0KS0+c2hhcmVkX3Jhd1tpXSksIChkKSwgU0hBUkVfcncpOyAgICBcCiAgICAgfSB3aGls ZSAoIDAgKQogCiAjZGVmaW5lIGdudHRhYl9jcmVhdGVfc3RhdHVzX3BhZ2UoZCwgdCwgaSkgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIGRvIHsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAg c2hhcmVfeGVuX3BhZ2Vfd2l0aF9ndWVzdCggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBcCi0gICAgICAgICAgIHZpcnRfdG9fcGFnZSgoY2hhciAqKSh0KS0+c3RhdHVzW2ld KSwgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgKGQpLCBYRU5TSEFSRV93 cml0YWJsZSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAg ICAgIHZpcnRfdG9fcGFnZSgoY2hhciAqKSh0KS0+c3RhdHVzW2ldKSwgKGQpLCBTSEFSRV9ydyk7 ICAgICAgICBcCiAgICAgfSB3aGlsZSAoIDAgKQogCiAKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRl L2FzbS14ODYvbW0uaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvbW0uaAppbmRleCA5NmYzYTM0Li5j MTE1NjYxIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L21tLmgKKysrIGIveGVuL2lu Y2x1ZGUvYXNtLXg4Ni9tbS5oCkBAIC0yOTIsMTQgKzI5Miw2IEBAIHN0cnVjdCBwYWdlX2luZm8K IAogI2RlZmluZSBtYWRkcl9nZXRfb3duZXIobWEpICAgKHBhZ2VfZ2V0X293bmVyKG1hZGRyX3Rv X3BhZ2UoKG1hKSkpKQogCi0jZGVmaW5lIFhFTlNIQVJFX3dyaXRhYmxlIDAKLSNkZWZpbmUgWEVO U0hBUkVfcmVhZG9ubHkgMQotZXh0ZXJuIHZvaWQgc2hhcmVfeGVuX3BhZ2Vfd2l0aF9ndWVzdCgK LSAgICBzdHJ1Y3QgcGFnZV9pbmZvICpwYWdlLCBzdHJ1Y3QgZG9tYWluICpkLCBpbnQgcmVhZG9u bHkpOwotZXh0ZXJuIGludCB1bnNoYXJlX3hlbl9wYWdlX3dpdGhfZ3Vlc3Qoc3RydWN0IHBhZ2Vf aW5mbyAqcGFnZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVj dCBkb21haW4gKmQpOwotZXh0ZXJuIHZvaWQgc2hhcmVfeGVuX3BhZ2Vfd2l0aF9wcml2aWxlZ2Vk X2d1ZXN0cygKLSAgICBzdHJ1Y3QgcGFnZV9pbmZvICpwYWdlLCBpbnQgcmVhZG9ubHkpOwogZXh0 ZXJuIHZvaWQgZnJlZV9zaGFyZWRfZG9taGVhcF9wYWdlKHN0cnVjdCBwYWdlX2luZm8gKnBhZ2Up OwogCiAjZGVmaW5lIGZyYW1lX3RhYmxlICgoc3RydWN0IHBhZ2VfaW5mbyAqKUZSQU1FVEFCTEVf VklSVF9TVEFSVCkKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3hlbi9tbS5oIGIveGVuL2luY2x1 ZGUveGVuL21tLmgKaW5kZXggMGUwZTUxMS4uMTQyYWE3MyAxMDA2NDQKLS0tIGEveGVuL2luY2x1 ZGUveGVuL21tLmgKKysrIGIveGVuL2luY2x1ZGUveGVuL21tLmgKQEAgLTYzNCw0ICs2MzQsMTgg QEAgc3RhdGljIGlubGluZSB2b2lkIGZpbHRlcmVkX2ZsdXNoX3RsYl9tYXNrKHVpbnQzMl90IHRs YmZsdXNoX3RpbWVzdGFtcCkKICAgICB9CiB9CiAKK2VudW0gWEVOU0hBUkVfZmxhZ3MgeworICAg IFNIQVJFX3J3LAorICAgIFNIQVJFX3JvLAorfTsKK3ZvaWQgc2hhcmVfeGVuX3BhZ2Vfd2l0aF9n dWVzdChzdHJ1Y3QgcGFnZV9pbmZvICpwYWdlLCBzdHJ1Y3QgZG9tYWluICpkLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGVudW0gWEVOU0hBUkVfZmxhZ3MgZmxhZ3MpOworaW50IHVu c2hhcmVfeGVuX3BhZ2Vfd2l0aF9ndWVzdChzdHJ1Y3QgcGFnZV9pbmZvICpwYWdlLCBzdHJ1Y3Qg ZG9tYWluICpkKTsKKworc3RhdGljIGlubGluZSB2b2lkIHNoYXJlX3hlbl9wYWdlX3dpdGhfcHJp dmlsZWdlZF9ndWVzdHMoCisgICAgc3RydWN0IHBhZ2VfaW5mbyAqcGFnZSwgZW51bSBYRU5TSEFS RV9mbGFncyBmbGFncykKK3sKKyAgICBzaGFyZV94ZW5fcGFnZV93aXRoX2d1ZXN0KHBhZ2UsIGRv bV94ZW4sIGZsYWdzKTsKK30KKwogI2VuZGlmIC8qIF9fWEVOX01NX0hfXyAqLwotLSAKMi4xLjQK CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2 ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xp c3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs