From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rodrigo Siqueira Subject: [PATCH 17/30] drm/amd/display: cleanup of construct and destruct funcs Date: Mon, 11 Nov 2019 19:33:11 -0500 Message-ID: <20191112003324.8419-18-Rodrigo.Siqueira@amd.com> References: <20191112003324.8419-1-Rodrigo.Siqueira@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20191112003324.8419-1-Rodrigo.Siqueira-5C7GfCeVMHo@public.gmane.org> List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: Aric Cyr , Anthony Koo RnJvbTogQW50aG9ueSBLb28gPEFudGhvbnkuS29vQGFtZC5jb20+CgpbV2h5XQpUb28gbWFueSBj b25zdHJ1Y3QgZnVuY3Rpb25zIHdoaWNoIG1ha2VzIHNlYXJjaGluZwpkaWZmaWN1bHQsIGVzcGVj aWFsbHkgb24gc29tZSBkZWJ1Z2dlcnMuCgpbSG93XQpBcHBlbmQgYWxsIGNvbnN0cnVjdCBhbmQg ZGVzdHJ1Y3QgZnVuY3Rpb25zIHdpdGggZGNuCm51bWJlciBhbmQgb2JqZWN0IHR5cGUgdG8gbWFr ZSBlYWNoIGNvbnN0cnVjdCBmdW5jdGlvbgpuYW1lIHVuaXF1ZQoKU2lnbmVkLW9mZi1ieTogQW50 aG9ueSBLb28gPEFudGhvbnkuS29vQGFtZC5jb20+ClJldmlld2VkLWJ5OiBBcmljIEN5ciA8QXJp Yy5DeXJAYW1kLmNvbT4KQWNrZWQtYnk6IFJvZHJpZ28gU2lxdWVpcmEgPFJvZHJpZ28uU2lxdWVp cmFAYW1kLmNvbT4KLS0tCiAuLi4vZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9iaW9zL2Jpb3NfcGFy c2VyLmMgfCAgNCArLS0KIC4uLi9kcm0vYW1kL2Rpc3BsYXkvZGMvYmlvcy9iaW9zX3BhcnNlcjIu YyAgICB8ICA4ICsrLS0tCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvY29yZS9kYy5j ICAgICAgfCAxMCArKystLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9jb3JlL2Rj X2xpbmsuYyB8ICA4ICsrLS0tCiAuLi4vZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9jb3JlL2RjX2xp bmtfZGRjLmMgfCAgOCArKy0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2NvcmUv ZGNfc2luay5jIHwgIDggKystLS0KIC4uLi9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2NvcmUvZGNf c3RyZWFtLmMgICB8ICA4ICsrLS0tCiAuLi4vZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9jb3JlL2Rj X3N1cmZhY2UuYyAgfCAgOCArKy0tLQogLi4uL2FtZC9kaXNwbGF5L2RjL2RjZTEwMC9kY2UxMDBf cmVzb3VyY2UuYyAgIHwgMTAgKysrLS0tCiAuLi4vYW1kL2Rpc3BsYXkvZGMvZGNlMTEwL2RjZTEx MF9yZXNvdXJjZS5jICAgfCAxMCArKystLS0KIC4uLi9hbWQvZGlzcGxheS9kYy9kY2UxMTIvZGNl MTEyX3Jlc291cmNlLmMgICB8IDEwICsrKy0tLQogLi4uL2FtZC9kaXNwbGF5L2RjL2RjZTEyMC9k Y2UxMjBfcmVzb3VyY2UuYyAgIHwgMTAgKysrLS0tCiAuLi4vZHJtL2FtZC9kaXNwbGF5L2RjL2Rj ZTgwL2RjZTgwX3Jlc291cmNlLmMgfCAxMCArKystLS0KIC4uLi9kcm0vYW1kL2Rpc3BsYXkvZGMv ZGNuMTAvZGNuMTBfcmVzb3VyY2UuYyB8IDEwICsrKy0tLQogLi4uL2RybS9hbWQvZGlzcGxheS9k Yy9kY24yMC9kY24yMF9yZXNvdXJjZS5jIHwgMTAgKysrLS0tCiAuLi4vZHJtL2FtZC9kaXNwbGF5 L2RjL2RjbjIxL2RjbjIxX3Jlc291cmNlLmMgfCAxMCArKystLS0KIGRyaXZlcnMvZ3B1L2RybS9h bWQvZGlzcGxheS9kYy9ncGlvL2h3X2RkYy5jICB8IDEyICsrKy0tLS0KIC4uLi9ncHUvZHJtL2Ft ZC9kaXNwbGF5L2RjL2dwaW8vaHdfZ2VuZXJpYy5jICB8IDIzICsrKystLS0tLS0tLS0KIGRyaXZl cnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9ncGlvL2h3X2hwZC5jICB8IDMyICsrKysrLS0tLS0t LS0tLS0tLS0KIC4uLi9kYy9pcnEvZGNlMTEwL2lycV9zZXJ2aWNlX2RjZTExMC5jICAgICAgICB8 ICA0ICstLQogLi4uL2RjL2lycS9kY2UxMjAvaXJxX3NlcnZpY2VfZGNlMTIwLmMgICAgICAgIHwg IDQgKy0tCiAuLi4vZGlzcGxheS9kYy9pcnEvZGNlODAvaXJxX3NlcnZpY2VfZGNlODAuYyAgfCAg NCArLS0KIC4uLi9kaXNwbGF5L2RjL2lycS9kY24xMC9pcnFfc2VydmljZV9kY24xMC5jICB8ICA0 ICstLQogLi4uL2Rpc3BsYXkvZGMvaXJxL2RjbjIwL2lycV9zZXJ2aWNlX2RjbjIwLmMgIHwgIDQg Ky0tCiAuLi4vZGlzcGxheS9kYy9pcnEvZGNuMjEvaXJxX3NlcnZpY2VfZGNuMjEuYyAgfCAgNCAr LS0KIDI1IGZpbGVzIGNoYW5nZWQsIDEwNCBpbnNlcnRpb25zKCspLCAxMjkgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2Jpb3MvYmlvc19w YXJzZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9iaW9zL2Jpb3NfcGFyc2Vy LmMKaW5kZXggODIzODQzY2QyNjEzLi42ZTU3YTFiZTA4MzkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9hbWQvZGlzcGxheS9kYy9iaW9zL2Jpb3NfcGFyc2VyLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2FtZC9kaXNwbGF5L2RjL2Jpb3MvYmlvc19wYXJzZXIuYwpAQCAtMTExLDcgKzExMSw3 IEBAIHN0cnVjdCBkY19iaW9zICpiaW9zX3BhcnNlcl9jcmVhdGUoCiAJcmV0dXJuIE5VTEw7CiB9 CiAKLXN0YXRpYyB2b2lkIGRlc3RydWN0KHN0cnVjdCBiaW9zX3BhcnNlciAqYnApCitzdGF0aWMg dm9pZCBiaW9zX3BhcnNlcl9kZXN0cnVjdChzdHJ1Y3QgYmlvc19wYXJzZXIgKmJwKQogewogCWtm cmVlKGJwLT5iYXNlLmJpb3NfbG9jYWxfaW1hZ2UpOwogCWtmcmVlKGJwLT5iYXNlLmludGVncmF0 ZWRfaW5mbyk7CkBAIC0xMjYsNyArMTI2LDcgQEAgc3RhdGljIHZvaWQgYmlvc19wYXJzZXJfZGVz dHJveShzdHJ1Y3QgZGNfYmlvcyAqKmRjYikKIAkJcmV0dXJuOwogCX0KIAotCWRlc3RydWN0KGJw KTsKKwliaW9zX3BhcnNlcl9kZXN0cnVjdChicCk7CiAKIAlrZnJlZShicCk7CiAJKmRjYiA9IE5V TEw7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvYmlvcy9iaW9z X3BhcnNlcjIuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9iaW9zL2Jpb3NfcGFy c2VyMi5jCmluZGV4IDZlMjliYThlNTgyZS4uYmZkNDQ0YTFlOGVkIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvYmlvcy9iaW9zX3BhcnNlcjIuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvYmlvcy9iaW9zX3BhcnNlcjIuYwpAQCAtMTExLDcg KzExMSw3IEBAIHN0YXRpYyBzdHJ1Y3QgYXRvbV9lbmNvZGVyX2NhcHNfcmVjb3JkICpnZXRfZW5j b2Rlcl9jYXBfcmVjb3JkKAogCiAjZGVmaW5lIERBVEFfVEFCTEVTKHRhYmxlKSAoYnAtPm1hc3Rl cl9kYXRhX3RibC0+bGlzdE9mZGF0YXRhYmxlcy50YWJsZSkKIAotc3RhdGljIHZvaWQgZGVzdHJ1 Y3Qoc3RydWN0IGJpb3NfcGFyc2VyICpicCkKK3N0YXRpYyB2b2lkIGJpb3NfcGFyc2VyMl9kZXN0 cnVjdChzdHJ1Y3QgYmlvc19wYXJzZXIgKmJwKQogewogCWtmcmVlKGJwLT5iYXNlLmJpb3NfbG9j YWxfaW1hZ2UpOwogCWtmcmVlKGJwLT5iYXNlLmludGVncmF0ZWRfaW5mbyk7CkBAIC0xMjYsNyAr MTI2LDcgQEAgc3RhdGljIHZvaWQgZmlybXdhcmVfcGFyc2VyX2Rlc3Ryb3koc3RydWN0IGRjX2Jp b3MgKipkY2IpCiAJCXJldHVybjsKIAl9CiAKLQlkZXN0cnVjdChicCk7CisJYmlvc19wYXJzZXIy X2Rlc3RydWN0KGJwKTsKIAogCWtmcmVlKGJwKTsKIAkqZGNiID0gTlVMTDsKQEAgLTE5MjcsNyAr MTkyNyw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZGNfdmJpb3NfZnVuY3MgdmJpb3NfZnVuY3Mg PSB7CiAJLmdldF9ib2FyZF9sYXlvdXRfaW5mbyA9IGJpb3NfZ2V0X2JvYXJkX2xheW91dF9pbmZv LAogfTsKIAotc3RhdGljIGJvb2wgYmlvc19wYXJzZXJfY29uc3RydWN0KAorc3RhdGljIGJvb2wg Ymlvc19wYXJzZXIyX2NvbnN0cnVjdCgKIAlzdHJ1Y3QgYmlvc19wYXJzZXIgKmJwLAogCXN0cnVj dCBicF9pbml0X2RhdGEgKmluaXQsCiAJZW51bSBkY2VfdmVyc2lvbiBkY2VfdmVyc2lvbikKQEAg LTIwMjAsNyArMjAyMCw3IEBAIHN0cnVjdCBkY19iaW9zICpmaXJtd2FyZV9wYXJzZXJfY3JlYXRl KAogCWlmICghYnApCiAJCXJldHVybiBOVUxMOwogCi0JaWYgKGJpb3NfcGFyc2VyX2NvbnN0cnVj dChicCwgaW5pdCwgZGNlX3ZlcnNpb24pKQorCWlmIChiaW9zX3BhcnNlcjJfY29uc3RydWN0KGJw LCBpbml0LCBkY2VfdmVyc2lvbikpCiAJCXJldHVybiAmYnAtPmJhc2U7CiAKIAlrZnJlZShicCk7 CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvY29yZS9kYy5jIGIv ZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2NvcmUvZGMuYwppbmRleCAxZmRiYTEzYjNk MGYuLmQwNzlmZmFkYWViNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5 L2RjL2NvcmUvZGMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvY29yZS9k Yy5jCkBAIC01MzMsNyArNTMzLDcgQEAgdm9pZCBkY19zdHJlYW1fc2V0X3N0YXRpY19zY3JlZW5f ZXZlbnRzKHN0cnVjdCBkYyAqZGMsCiAJZGMtPmh3c3Muc2V0X3N0YXRpY19zY3JlZW5fY29udHJv bChwaXBlc19hZmZlY3RlZCwgbnVtX3BpcGVzX2FmZmVjdGVkLCBldmVudHMpOwogfQogCi1zdGF0 aWMgdm9pZCBkZXN0cnVjdChzdHJ1Y3QgZGMgKmRjKQorc3RhdGljIHZvaWQgZGNfZGVzdHJ1Y3Qo c3RydWN0IGRjICpkYykKIHsKIAlpZiAoZGMtPmN1cnJlbnRfc3RhdGUpIHsKIAkJZGNfcmVsZWFz ZV9zdGF0ZShkYy0+Y3VycmVudF9zdGF0ZSk7CkBAIC01NzksNyArNTc5LDcgQEAgc3RhdGljIHZv aWQgZGVzdHJ1Y3Qoc3RydWN0IGRjICpkYykKIAogfQogCi1zdGF0aWMgYm9vbCBjb25zdHJ1Y3Qo c3RydWN0IGRjICpkYywKK3N0YXRpYyBib29sIGRjX2NvbnN0cnVjdChzdHJ1Y3QgZGMgKmRjLAog CQljb25zdCBzdHJ1Y3QgZGNfaW5pdF9kYXRhICppbml0X3BhcmFtcykKIHsKIAlzdHJ1Y3QgZGNf Y29udGV4dCAqZGNfY3R4OwpAQCAtNzI5LDcgKzcyOSw3IEBAIHN0YXRpYyBib29sIGNvbnN0cnVj dChzdHJ1Y3QgZGMgKmRjLAogCiBmYWlsOgogCi0JZGVzdHJ1Y3QoZGMpOworCWRjX2Rlc3RydWN0 KGRjKTsKIAlyZXR1cm4gZmFsc2U7CiB9CiAKQEAgLTc5NSw3ICs3OTUsNyBAQCBzdHJ1Y3QgZGMg KmRjX2NyZWF0ZShjb25zdCBzdHJ1Y3QgZGNfaW5pdF9kYXRhICppbml0X3BhcmFtcykKIAlpZiAo TlVMTCA9PSBkYykKIAkJZ290byBhbGxvY19mYWlsOwogCi0JaWYgKGZhbHNlID09IGNvbnN0cnVj dChkYywgaW5pdF9wYXJhbXMpKQorCWlmIChmYWxzZSA9PSBkY19jb25zdHJ1Y3QoZGMsIGluaXRf cGFyYW1zKSkKIAkJZ290byBjb25zdHJ1Y3RfZmFpbDsKIAogCWZ1bGxfcGlwZV9jb3VudCA9IGRj LT5yZXNfcG9vbC0+cGlwZV9jb3VudDsKQEAgLTg1Miw3ICs4NTIsNyBAQCB2b2lkIGRjX2RlaW5p dF9jYWxsYmFja3Moc3RydWN0IGRjICpkYykKIAogdm9pZCBkY19kZXN0cm95KHN0cnVjdCBkYyAq KmRjKQogewotCWRlc3RydWN0KCpkYyk7CisJZGNfZGVzdHJ1Y3QoKmRjKTsKIAlrZnJlZSgqZGMp OwogCSpkYyA9IE5VTEw7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3Bs YXkvZGMvY29yZS9kY19saW5rLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvY29y ZS9kY19saW5rLmMKaW5kZXggMWUxZjQ2MWNiYjNjLi5jNThhYzMxODY5ZGYgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9jb3JlL2RjX2xpbmsuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvY29yZS9kY19saW5rLmMKQEAgLTc0LDcgKzc0LDcg QEAgZW51bSB7CiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogUHJpdmF0ZSBmdW5jdGlvbnMK ICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKiovCi1zdGF0aWMgdm9pZCBkZXN0cnVjdChzdHJ1Y3QgZGNf bGluayAqbGluaykKK3N0YXRpYyB2b2lkIGRjX2xpbmtfZGVzdHJ1Y3Qoc3RydWN0IGRjX2xpbmsg KmxpbmspCiB7CiAJaW50IGk7CiAKQEAgLTEyNDQsNyArMTI0NCw3IEBAIHN0YXRpYyBlbnVtIHRy YW5zbWl0dGVyIHRyYW5zbGF0ZV9lbmNvZGVyX3RvX3RyYW5zbWl0dGVyKAogCX0KIH0KIAotc3Rh dGljIGJvb2wgY29uc3RydWN0KAorc3RhdGljIGJvb2wgZGNfbGlua19jb25zdHJ1Y3QoCiAJc3Ry dWN0IGRjX2xpbmsgKmxpbmssCiAJY29uc3Qgc3RydWN0IGxpbmtfaW5pdF9kYXRhICppbml0X3Bh cmFtcykKIHsKQEAgLTE0NDYsNyArMTQ0Niw3IEBAIHN0cnVjdCBkY19saW5rICpsaW5rX2NyZWF0 ZShjb25zdCBzdHJ1Y3QgbGlua19pbml0X2RhdGEgKmluaXRfcGFyYW1zKQogCWlmIChOVUxMID09 IGxpbmspCiAJCWdvdG8gYWxsb2NfZmFpbDsKIAotCWlmIChmYWxzZSA9PSBjb25zdHJ1Y3QobGlu aywgaW5pdF9wYXJhbXMpKQorCWlmIChmYWxzZSA9PSBkY19saW5rX2NvbnN0cnVjdChsaW5rLCBp bml0X3BhcmFtcykpCiAJCWdvdG8gY29uc3RydWN0X2ZhaWw7CiAKIAlyZXR1cm4gbGluazsKQEAg LTE0NjAsNyArMTQ2MCw3IEBAIHN0cnVjdCBkY19saW5rICpsaW5rX2NyZWF0ZShjb25zdCBzdHJ1 Y3QgbGlua19pbml0X2RhdGEgKmluaXRfcGFyYW1zKQogCiB2b2lkIGxpbmtfZGVzdHJveShzdHJ1 Y3QgZGNfbGluayAqKmxpbmspCiB7Ci0JZGVzdHJ1Y3QoKmxpbmspOworCWRjX2xpbmtfZGVzdHJ1 Y3QoKmxpbmspOwogCWtmcmVlKCpsaW5rKTsKIAkqbGluayA9IE5VTEw7CiB9CmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvY29yZS9kY19saW5rX2RkYy5jIGIvZHJp dmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2NvcmUvZGNfbGlua19kZGMuYwppbmRleCBjODAz N2FmOTNlMGEuLjNmYzk3NTJlZGZlMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9k aXNwbGF5L2RjL2NvcmUvZGNfbGlua19kZGMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rp c3BsYXkvZGMvY29yZS9kY19saW5rX2RkYy5jCkBAIC0xODcsNyArMTg3LDcgQEAgdm9pZCBkYWxf ZGRjX2kyY19wYXlsb2Fkc19hZGQoCiAKIH0KIAotc3RhdGljIHZvaWQgY29uc3RydWN0KAorc3Rh dGljIHZvaWQgZGRjX3NlcnZpY2VfY29uc3RydWN0KAogCXN0cnVjdCBkZGNfc2VydmljZSAqZGRj X3NlcnZpY2UsCiAJc3RydWN0IGRkY19zZXJ2aWNlX2luaXRfZGF0YSAqaW5pdF9kYXRhKQogewpA QCAtMjM5LDExICsyMzksMTEgQEAgc3RydWN0IGRkY19zZXJ2aWNlICpkYWxfZGRjX3NlcnZpY2Vf Y3JlYXRlKAogCWlmICghZGRjX3NlcnZpY2UpCiAJCXJldHVybiBOVUxMOwogCi0JY29uc3RydWN0 KGRkY19zZXJ2aWNlLCBpbml0X2RhdGEpOworCWRkY19zZXJ2aWNlX2NvbnN0cnVjdChkZGNfc2Vy dmljZSwgaW5pdF9kYXRhKTsKIAlyZXR1cm4gZGRjX3NlcnZpY2U7CiB9CiAKLXN0YXRpYyB2b2lk IGRlc3RydWN0KHN0cnVjdCBkZGNfc2VydmljZSAqZGRjKQorc3RhdGljIHZvaWQgZGRjX3NlcnZp Y2VfZGVzdHJ1Y3Qoc3RydWN0IGRkY19zZXJ2aWNlICpkZGMpCiB7CiAJaWYgKGRkYy0+ZGRjX3Bp bikKIAkJZGFsX2dwaW9fZGVzdHJveV9kZGMoJmRkYy0+ZGRjX3Bpbik7CkBAIC0yNTUsNyArMjU1 LDcgQEAgdm9pZCBkYWxfZGRjX3NlcnZpY2VfZGVzdHJveShzdHJ1Y3QgZGRjX3NlcnZpY2UgKipk ZGMpCiAJCUJSRUFLX1RPX0RFQlVHR0VSKCk7CiAJCXJldHVybjsKIAl9Ci0JZGVzdHJ1Y3QoKmRk Yyk7CisJZGRjX3NlcnZpY2VfZGVzdHJ1Y3QoKmRkYyk7CiAJa2ZyZWUoKmRkYyk7CiAJKmRkYyA9 IE5VTEw7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvY29y ZS9kY19zaW5rLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvY29yZS9kY19zaW5r LmMKaW5kZXggNWNiZmRmMWM0YjExLi5hMjQ5YTBlNWVkZDAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9hbWQvZGlzcGxheS9kYy9jb3JlL2RjX3NpbmsuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vYW1kL2Rpc3BsYXkvZGMvY29yZS9kY19zaW5rLmMKQEAgLTMzLDcgKzMzLDcgQEAKICAqIFBy aXZhdGUgZnVuY3Rpb25zCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogCi1zdGF0aWMgdm9pZCBk ZXN0cnVjdChzdHJ1Y3QgZGNfc2luayAqc2luaykKK3N0YXRpYyB2b2lkIGRjX3NpbmtfZGVzdHJ1 Y3Qoc3RydWN0IGRjX3NpbmsgKnNpbmspCiB7CiAJaWYgKHNpbmstPmRjX2NvbnRhaW5lcl9pZCkg ewogCQlrZnJlZShzaW5rLT5kY19jb250YWluZXJfaWQpOwpAQCAtNDEsNyArNDEsNyBAQCBzdGF0 aWMgdm9pZCBkZXN0cnVjdChzdHJ1Y3QgZGNfc2luayAqc2luaykKIAl9CiB9CiAKLXN0YXRpYyBi b29sIGNvbnN0cnVjdChzdHJ1Y3QgZGNfc2luayAqc2luaywgY29uc3Qgc3RydWN0IGRjX3Npbmtf aW5pdF9kYXRhICppbml0X3BhcmFtcykKK3N0YXRpYyBib29sIGRjX3NpbmtfY29uc3RydWN0KHN0 cnVjdCBkY19zaW5rICpzaW5rLCBjb25zdCBzdHJ1Y3QgZGNfc2lua19pbml0X2RhdGEgKmluaXRf cGFyYW1zKQogewogCiAJc3RydWN0IGRjX2xpbmsgKmxpbmsgPSBpbml0X3BhcmFtcy0+bGluazsK QEAgLTc1LDcgKzc1LDcgQEAgdm9pZCBkY19zaW5rX3JldGFpbihzdHJ1Y3QgZGNfc2luayAqc2lu aykKIHN0YXRpYyB2b2lkIGRjX3NpbmtfZnJlZShzdHJ1Y3Qga3JlZiAqa3JlZikKIHsKIAlzdHJ1 Y3QgZGNfc2luayAqc2luayA9IGNvbnRhaW5lcl9vZihrcmVmLCBzdHJ1Y3QgZGNfc2luaywgcmVm Y291bnQpOwotCWRlc3RydWN0KHNpbmspOworCWRjX3NpbmtfZGVzdHJ1Y3Qoc2luayk7CiAJa2Zy ZWUoc2luayk7CiB9CiAKQEAgLTkxLDcgKzkxLDcgQEAgc3RydWN0IGRjX3NpbmsgKmRjX3Npbmtf Y3JlYXRlKGNvbnN0IHN0cnVjdCBkY19zaW5rX2luaXRfZGF0YSAqaW5pdF9wYXJhbXMpCiAJaWYg KE5VTEwgPT0gc2luaykKIAkJZ290byBhbGxvY19mYWlsOwogCi0JaWYgKGZhbHNlID09IGNvbnN0 cnVjdChzaW5rLCBpbml0X3BhcmFtcykpCisJaWYgKGZhbHNlID09IGRjX3NpbmtfY29uc3RydWN0 KHNpbmssIGluaXRfcGFyYW1zKSkKIAkJZ290byBjb25zdHJ1Y3RfZmFpbDsKIAogCWtyZWZfaW5p dCgmc2luay0+cmVmY291bnQpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNw bGF5L2RjL2NvcmUvZGNfc3RyZWFtLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMv Y29yZS9kY19zdHJlYW0uYwppbmRleCAzNzFkNDllOWI3NDUuLjk3Y2IwMzBiOWY0ZSAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2NvcmUvZGNfc3RyZWFtLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2NvcmUvZGNfc3RyZWFtLmMKQEAgLTU4 LDcgKzU4LDcgQEAgdm9pZCB1cGRhdGVfc3RyZWFtX3NpZ25hbChzdHJ1Y3QgZGNfc3RyZWFtX3N0 YXRlICpzdHJlYW0sIHN0cnVjdCBkY19zaW5rICpzaW5rKQogCX0KIH0KIAotc3RhdGljIHZvaWQg Y29uc3RydWN0KHN0cnVjdCBkY19zdHJlYW1fc3RhdGUgKnN0cmVhbSwKK3N0YXRpYyB2b2lkIGRj X3N0cmVhbV9jb25zdHJ1Y3Qoc3RydWN0IGRjX3N0cmVhbV9zdGF0ZSAqc3RyZWFtLAogCXN0cnVj dCBkY19zaW5rICpkY19zaW5rX2RhdGEpCiB7CiAJdWludDMyX3QgaSA9IDA7CkBAIC0xMjcsNyAr MTI3LDcgQEAgc3RhdGljIHZvaWQgY29uc3RydWN0KHN0cnVjdCBkY19zdHJlYW1fc3RhdGUgKnN0 cmVhbSwKIAlzdHJlYW0tPmN0eC0+ZGNfc3RyZWFtX2lkX2NvdW50Kys7CiB9CiAKLXN0YXRpYyB2 b2lkIGRlc3RydWN0KHN0cnVjdCBkY19zdHJlYW1fc3RhdGUgKnN0cmVhbSkKK3N0YXRpYyB2b2lk IGRjX3N0cmVhbV9kZXN0cnVjdChzdHJ1Y3QgZGNfc3RyZWFtX3N0YXRlICpzdHJlYW0pCiB7CiAJ ZGNfc2lua19yZWxlYXNlKHN0cmVhbS0+c2luayk7CiAJaWYgKHN0cmVhbS0+b3V0X3RyYW5zZmVy X2Z1bmMgIT0gTlVMTCkgewpAQCAtMTQ1LDcgKzE0NSw3IEBAIHN0YXRpYyB2b2lkIGRjX3N0cmVh bV9mcmVlKHN0cnVjdCBrcmVmICprcmVmKQogewogCXN0cnVjdCBkY19zdHJlYW1fc3RhdGUgKnN0 cmVhbSA9IGNvbnRhaW5lcl9vZihrcmVmLCBzdHJ1Y3QgZGNfc3RyZWFtX3N0YXRlLCByZWZjb3Vu dCk7CiAKLQlkZXN0cnVjdChzdHJlYW0pOworCWRjX3N0cmVhbV9kZXN0cnVjdChzdHJlYW0pOwog CWtmcmVlKHN0cmVhbSk7CiB9CiAKQEAgLTE2OCw3ICsxNjgsNyBAQCBzdHJ1Y3QgZGNfc3RyZWFt X3N0YXRlICpkY19jcmVhdGVfc3RyZWFtX2Zvcl9zaW5rKAogCWlmIChzdHJlYW0gPT0gTlVMTCkK IAkJcmV0dXJuIE5VTEw7CiAKLQljb25zdHJ1Y3Qoc3RyZWFtLCBzaW5rKTsKKwlkY19zdHJlYW1f Y29uc3RydWN0KHN0cmVhbSwgc2luayk7CiAKIAlrcmVmX2luaXQoJnN0cmVhbS0+cmVmY291bnQp OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvY29yZS9kY19z dXJmYWNlLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvY29yZS9kY19zdXJmYWNl LmMKaW5kZXggYWFlY2RlZTJiOGI0Li5lNjBhZmY0NmQ1MTAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9hbWQvZGlzcGxheS9kYy9jb3JlL2RjX3N1cmZhY2UuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vYW1kL2Rpc3BsYXkvZGMvY29yZS9kY19zdXJmYWNlLmMKQEAgLTM3LDcgKzM3LDcgQEAK IC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBQcml2YXRlIGZ1bmN0aW9ucwogICoqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKi8KLXN0YXRpYyB2b2lkIGNvbnN0cnVjdChzdHJ1Y3QgZGNfY29udGV4dCAq Y3R4LCBzdHJ1Y3QgZGNfcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlKQorc3RhdGljIHZvaWQgZGNf cGxhbmVfY29uc3RydWN0KHN0cnVjdCBkY19jb250ZXh0ICpjdHgsIHN0cnVjdCBkY19wbGFuZV9z dGF0ZSAqcGxhbmVfc3RhdGUpCiB7CiAJcGxhbmVfc3RhdGUtPmN0eCA9IGN0eDsKIApAQCAtNjgs NyArNjgsNyBAQCBzdGF0aWMgdm9pZCBjb25zdHJ1Y3Qoc3RydWN0IGRjX2NvbnRleHQgKmN0eCwg c3RydWN0IGRjX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZQogCiB9CiAKLXN0YXRpYyB2b2lkIGRl c3RydWN0KHN0cnVjdCBkY19wbGFuZV9zdGF0ZSAqcGxhbmVfc3RhdGUpCitzdGF0aWMgdm9pZCBk Y19wbGFuZV9kZXN0cnVjdChzdHJ1Y3QgZGNfcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlKQogewog CWlmIChwbGFuZV9zdGF0ZS0+Z2FtbWFfY29ycmVjdGlvbiAhPSBOVUxMKSB7CiAJCWRjX2dhbW1h X3JlbGVhc2UoJnBsYW5lX3N0YXRlLT5nYW1tYV9jb3JyZWN0aW9uKTsKQEAgLTExNyw3ICsxMTcs NyBAQCBzdHJ1Y3QgZGNfcGxhbmVfc3RhdGUgKmRjX2NyZWF0ZV9wbGFuZV9zdGF0ZShzdHJ1Y3Qg ZGMgKmRjKQogCQlyZXR1cm4gTlVMTDsKIAogCWtyZWZfaW5pdCgmcGxhbmVfc3RhdGUtPnJlZmNv dW50KTsKLQljb25zdHJ1Y3QoY29yZV9kYy0+Y3R4LCBwbGFuZV9zdGF0ZSk7CisJZGNfcGxhbmVf Y29uc3RydWN0KGNvcmVfZGMtPmN0eCwgcGxhbmVfc3RhdGUpOwogCiAJcmV0dXJuIHBsYW5lX3N0 YXRlOwogfQpAQCAtMTg3LDcgKzE4Nyw3IEBAIHZvaWQgZGNfcGxhbmVfc3RhdGVfcmV0YWluKHN0 cnVjdCBkY19wbGFuZV9zdGF0ZSAqcGxhbmVfc3RhdGUpCiBzdGF0aWMgdm9pZCBkY19wbGFuZV9z dGF0ZV9mcmVlKHN0cnVjdCBrcmVmICprcmVmKQogewogCXN0cnVjdCBkY19wbGFuZV9zdGF0ZSAq cGxhbmVfc3RhdGUgPSBjb250YWluZXJfb2Yoa3JlZiwgc3RydWN0IGRjX3BsYW5lX3N0YXRlLCBy ZWZjb3VudCk7Ci0JZGVzdHJ1Y3QocGxhbmVfc3RhdGUpOworCWRjX3BsYW5lX2Rlc3RydWN0KHBs YW5lX3N0YXRlKTsKIAlrdmZyZWUocGxhbmVfc3RhdGUpOwogfQogCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNlMTAwL2RjZTEwMF9yZXNvdXJjZS5jIGIvZHJp dmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjZTEwMC9kY2UxMDBfcmVzb3VyY2UuYwppbmRl eCBhNWUxMjJjNzIxZWMuLjhmNzhiZjlhYmJjYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2FtZC9kaXNwbGF5L2RjL2RjZTEwMC9kY2UxMDBfcmVzb3VyY2UuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNlMTAwL2RjZTEwMF9yZXNvdXJjZS5jCkBAIC03MjUsNyAr NzI1LDcgQEAgdm9pZCBkY2UxMDBfY2xvY2tfc291cmNlX2Rlc3Ryb3koc3RydWN0IGNsb2NrX3Nv dXJjZSAqKmNsa19zcmMpCiAJKmNsa19zcmMgPSBOVUxMOwogfQogCi1zdGF0aWMgdm9pZCBkZXN0 cnVjdChzdHJ1Y3QgZGNlMTEwX3Jlc291cmNlX3Bvb2wgKnBvb2wpCitzdGF0aWMgdm9pZCBkY2Ux MDBfcmVzb3VyY2VfZGVzdHJ1Y3Qoc3RydWN0IGRjZTExMF9yZXNvdXJjZV9wb29sICpwb29sKQog ewogCXVuc2lnbmVkIGludCBpOwogCkBAIC04ODUsNyArODg1LDcgQEAgc3RhdGljIHZvaWQgZGNl MTAwX2Rlc3Ryb3lfcmVzb3VyY2VfcG9vbChzdHJ1Y3QgcmVzb3VyY2VfcG9vbCAqKnBvb2wpCiB7 CiAJc3RydWN0IGRjZTExMF9yZXNvdXJjZV9wb29sICpkY2UxMTBfcG9vbCA9IFRPX0RDRTExMF9S RVNfUE9PTCgqcG9vbCk7CiAKLQlkZXN0cnVjdChkY2UxMTBfcG9vbCk7CisJZGNlMTAwX3Jlc291 cmNlX2Rlc3RydWN0KGRjZTExMF9wb29sKTsKIAlrZnJlZShkY2UxMTBfcG9vbCk7CiAJKnBvb2wg PSBOVUxMOwogfQpAQCAtOTUwLDcgKzk1MCw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcmVzb3Vy Y2VfZnVuY3MgZGNlMTAwX3Jlc19wb29sX2Z1bmNzID0gewogCS5maW5kX2ZpcnN0X2ZyZWVfbWF0 Y2hfc3RyZWFtX2VuY19mb3JfbGluayA9IGRjZTEwMF9maW5kX2ZpcnN0X2ZyZWVfbWF0Y2hfc3Ry ZWFtX2VuY19mb3JfbGluawogfTsKIAotc3RhdGljIGJvb2wgY29uc3RydWN0KAorc3RhdGljIGJv b2wgZGNlMTAwX3Jlc291cmNlX2NvbnN0cnVjdCgKIAl1aW50OF90IG51bV92aXJ0dWFsX2xpbmtz LAogCXN0cnVjdCBkYyAgKmRjLAogCXN0cnVjdCBkY2UxMTBfcmVzb3VyY2VfcG9vbCAqcG9vbCkK QEAgLTExMjIsNyArMTEyMiw3IEBAIHN0YXRpYyBib29sIGNvbnN0cnVjdCgKIAlyZXR1cm4gdHJ1 ZTsKIAogcmVzX2NyZWF0ZV9mYWlsOgotCWRlc3RydWN0KHBvb2wpOworCWRjZTEwMF9yZXNvdXJj ZV9kZXN0cnVjdChwb29sKTsKIAogCXJldHVybiBmYWxzZTsKIH0KQEAgLTExMzcsNyArMTEzNyw3 IEBAIHN0cnVjdCByZXNvdXJjZV9wb29sICpkY2UxMDBfY3JlYXRlX3Jlc291cmNlX3Bvb2woCiAJ aWYgKCFwb29sKQogCQlyZXR1cm4gTlVMTDsKIAotCWlmIChjb25zdHJ1Y3QobnVtX3ZpcnR1YWxf bGlua3MsIGRjLCBwb29sKSkKKwlpZiAoZGNlMTAwX3Jlc291cmNlX2NvbnN0cnVjdChudW1fdmly dHVhbF9saW5rcywgZGMsIHBvb2wpKQogCQlyZXR1cm4gJnBvb2wtPmJhc2U7CiAKIAlrZnJlZShw b29sKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY2UxMTAv ZGNlMTEwX3Jlc291cmNlLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNlMTEw L2RjZTExMF9yZXNvdXJjZS5jCmluZGV4IDgzYTRkYmY2ZDc2ZS4uYTUzNWUyY2RhNjk0IDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNlMTEwL2RjZTExMF9yZXNv dXJjZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY2UxMTAvZGNlMTEw X3Jlc291cmNlLmMKQEAgLTc4Miw3ICs3ODIsNyBAQCB2b2lkIGRjZTExMF9jbG9ja19zb3VyY2Vf ZGVzdHJveShzdHJ1Y3QgY2xvY2tfc291cmNlICoqY2xrX3NyYykKIAkqY2xrX3NyYyA9IE5VTEw7 CiB9CiAKLXN0YXRpYyB2b2lkIGRlc3RydWN0KHN0cnVjdCBkY2UxMTBfcmVzb3VyY2VfcG9vbCAq cG9vbCkKK3N0YXRpYyB2b2lkIGRjZTExMF9yZXNvdXJjZV9kZXN0cnVjdChzdHJ1Y3QgZGNlMTEw X3Jlc291cmNlX3Bvb2wgKnBvb2wpCiB7CiAJdW5zaWduZWQgaW50IGk7CiAKQEAgLTExNjEsNyAr MTE2MSw3IEBAIHN0YXRpYyB2b2lkIGRjZTExMF9kZXN0cm95X3Jlc291cmNlX3Bvb2woc3RydWN0 IHJlc291cmNlX3Bvb2wgKipwb29sKQogewogCXN0cnVjdCBkY2UxMTBfcmVzb3VyY2VfcG9vbCAq ZGNlMTEwX3Bvb2wgPSBUT19EQ0UxMTBfUkVTX1BPT0woKnBvb2wpOwogCi0JZGVzdHJ1Y3QoZGNl MTEwX3Bvb2wpOworCWRjZTExMF9yZXNvdXJjZV9kZXN0cnVjdChkY2UxMTBfcG9vbCk7CiAJa2Zy ZWUoZGNlMTEwX3Bvb2wpOwogCSpwb29sID0gTlVMTDsKIH0KQEAgLTEzMTMsNyArMTMxMyw3IEBA IGNvbnN0IHN0cnVjdCByZXNvdXJjZV9jYXBzICpkY2UxMTBfcmVzb3VyY2VfY2FwKAogCQlyZXR1 cm4gJmNhcnJpem9fcmVzb3VyY2VfY2FwOwogfQogCi1zdGF0aWMgYm9vbCBjb25zdHJ1Y3QoCitz dGF0aWMgYm9vbCBkY2UxMTBfcmVzb3VyY2VfY29uc3RydWN0KAogCXVpbnQ4X3QgbnVtX3ZpcnR1 YWxfbGlua3MsCiAJc3RydWN0IGRjICpkYywKIAlzdHJ1Y3QgZGNlMTEwX3Jlc291cmNlX3Bvb2wg KnBvb2wsCkBAIC0xNDkyLDcgKzE0OTIsNyBAQCBzdGF0aWMgYm9vbCBjb25zdHJ1Y3QoCiAJcmV0 dXJuIHRydWU7CiAKIHJlc19jcmVhdGVfZmFpbDoKLQlkZXN0cnVjdChwb29sKTsKKwlkY2UxMTBf cmVzb3VyY2VfZGVzdHJ1Y3QocG9vbCk7CiAJcmV0dXJuIGZhbHNlOwogfQogCkBAIC0xNTA3LDcg KzE1MDcsNyBAQCBzdHJ1Y3QgcmVzb3VyY2VfcG9vbCAqZGNlMTEwX2NyZWF0ZV9yZXNvdXJjZV9w b29sKAogCWlmICghcG9vbCkKIAkJcmV0dXJuIE5VTEw7CiAKLQlpZiAoY29uc3RydWN0KG51bV92 aXJ0dWFsX2xpbmtzLCBkYywgcG9vbCwgYXNpY19pZCkpCisJaWYgKGRjZTExMF9yZXNvdXJjZV9j b25zdHJ1Y3QobnVtX3ZpcnR1YWxfbGlua3MsIGRjLCBwb29sLCBhc2ljX2lkKSkKIAkJcmV0dXJu ICZwb29sLT5iYXNlOwogCiAJa2ZyZWUocG9vbCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vYW1kL2Rpc3BsYXkvZGMvZGNlMTEyL2RjZTExMl9yZXNvdXJjZS5jIGIvZHJpdmVycy9ncHUv ZHJtL2FtZC9kaXNwbGF5L2RjL2RjZTExMi9kY2UxMTJfcmVzb3VyY2UuYwppbmRleCA5N2RjYzVk MDg2MmIuLjcwMGFkOGIzZTU0YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNw bGF5L2RjL2RjZTExMi9kY2UxMTJfcmVzb3VyY2UuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1k L2Rpc3BsYXkvZGMvZGNlMTEyL2RjZTExMl9yZXNvdXJjZS5jCkBAIC03NDQsNyArNzQ0LDcgQEAg dm9pZCBkY2UxMTJfY2xvY2tfc291cmNlX2Rlc3Ryb3koc3RydWN0IGNsb2NrX3NvdXJjZSAqKmNs a19zcmMpCiAJKmNsa19zcmMgPSBOVUxMOwogfQogCi1zdGF0aWMgdm9pZCBkZXN0cnVjdChzdHJ1 Y3QgZGNlMTEwX3Jlc291cmNlX3Bvb2wgKnBvb2wpCitzdGF0aWMgdm9pZCBkY2UxMTJfcmVzb3Vy Y2VfZGVzdHJ1Y3Qoc3RydWN0IGRjZTExMF9yZXNvdXJjZV9wb29sICpwb29sKQogewogCXVuc2ln bmVkIGludCBpOwogCkBAIC0xMDEzLDcgKzEwMTMsNyBAQCBzdGF0aWMgdm9pZCBkY2UxMTJfZGVz dHJveV9yZXNvdXJjZV9wb29sKHN0cnVjdCByZXNvdXJjZV9wb29sICoqcG9vbCkKIHsKIAlzdHJ1 Y3QgZGNlMTEwX3Jlc291cmNlX3Bvb2wgKmRjZTExMF9wb29sID0gVE9fRENFMTEwX1JFU19QT09M KCpwb29sKTsKIAotCWRlc3RydWN0KGRjZTExMF9wb29sKTsKKwlkY2UxMTJfcmVzb3VyY2VfZGVz dHJ1Y3QoZGNlMTEwX3Bvb2wpOwogCWtmcmVlKGRjZTExMF9wb29sKTsKIAkqcG9vbCA9IE5VTEw7 CiB9CkBAIC0xMTg2LDcgKzExODYsNyBAQCBjb25zdCBzdHJ1Y3QgcmVzb3VyY2VfY2FwcyAqZGNl MTEyX3Jlc291cmNlX2NhcCgKIAkJcmV0dXJuICZwb2xhcmlzXzEwX3Jlc291cmNlX2NhcDsKIH0K IAotc3RhdGljIGJvb2wgY29uc3RydWN0KAorc3RhdGljIGJvb2wgZGNlMTEyX3Jlc291cmNlX2Nv bnN0cnVjdCgKIAl1aW50OF90IG51bV92aXJ0dWFsX2xpbmtzLAogCXN0cnVjdCBkYyAqZGMsCiAJ c3RydWN0IGRjZTExMF9yZXNvdXJjZV9wb29sICpwb29sKQpAQCAtMTM3Miw3ICsxMzcyLDcgQEAg c3RhdGljIGJvb2wgY29uc3RydWN0KAogCXJldHVybiB0cnVlOwogCiByZXNfY3JlYXRlX2ZhaWw6 Ci0JZGVzdHJ1Y3QocG9vbCk7CisJZGNlMTEyX3Jlc291cmNlX2Rlc3RydWN0KHBvb2wpOwogCXJl dHVybiBmYWxzZTsKIH0KIApAQCAtMTM4Niw3ICsxMzg2LDcgQEAgc3RydWN0IHJlc291cmNlX3Bv b2wgKmRjZTExMl9jcmVhdGVfcmVzb3VyY2VfcG9vbCgKIAlpZiAoIXBvb2wpCiAJCXJldHVybiBO VUxMOwogCi0JaWYgKGNvbnN0cnVjdChudW1fdmlydHVhbF9saW5rcywgZGMsIHBvb2wpKQorCWlm IChkY2UxMTJfcmVzb3VyY2VfY29uc3RydWN0KG51bV92aXJ0dWFsX2xpbmtzLCBkYywgcG9vbCkp CiAJCXJldHVybiAmcG9vbC0+YmFzZTsKIAogCWtmcmVlKHBvb2wpOwpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjZTEyMC9kY2UxMjBfcmVzb3VyY2UuYyBiL2Ry aXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY2UxMjAvZGNlMTIwX3Jlc291cmNlLmMKaW5k ZXggNjM1NDNmNjkxOGZmLi4zMDViYjA4NDE1NjMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvZGlzcGxheS9kYy9kY2UxMjAvZGNlMTIwX3Jlc291cmNlLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjZTEyMC9kY2UxMjBfcmVzb3VyY2UuYwpAQCAtNTg3LDcg KzU4Nyw3IEBAIHN0YXRpYyB2b2lkIGRjZTEyMF90cmFuc2Zvcm1fZGVzdHJveShzdHJ1Y3QgdHJh bnNmb3JtICoqeGZtKQogCSp4Zm0gPSBOVUxMOwogfQogCi1zdGF0aWMgdm9pZCBkZXN0cnVjdChz dHJ1Y3QgZGNlMTEwX3Jlc291cmNlX3Bvb2wgKnBvb2wpCitzdGF0aWMgdm9pZCBkY2UxMjBfcmVz b3VyY2VfZGVzdHJ1Y3Qoc3RydWN0IGRjZTExMF9yZXNvdXJjZV9wb29sICpwb29sKQogewogCXVu c2lnbmVkIGludCBpOwogCkBAIC04NzIsNyArODcyLDcgQEAgc3RhdGljIHZvaWQgZGNlMTIwX2Rl c3Ryb3lfcmVzb3VyY2VfcG9vbChzdHJ1Y3QgcmVzb3VyY2VfcG9vbCAqKnBvb2wpCiB7CiAJc3Ry dWN0IGRjZTExMF9yZXNvdXJjZV9wb29sICpkY2UxMTBfcG9vbCA9IFRPX0RDRTExMF9SRVNfUE9P TCgqcG9vbCk7CiAKLQlkZXN0cnVjdChkY2UxMTBfcG9vbCk7CisJZGNlMTIwX3Jlc291cmNlX2Rl c3RydWN0KGRjZTExMF9wb29sKTsKIAlrZnJlZShkY2UxMTBfcG9vbCk7CiAJKnBvb2wgPSBOVUxM OwogfQpAQCAtMTAyNCw3ICsxMDI0LDcgQEAgc3RhdGljIHVpbnQzMl90IHJlYWRfcGlwZV9mdXNl cyhzdHJ1Y3QgZGNfY29udGV4dCAqY3R4KQogCXJldHVybiB2YWx1ZTsKIH0KIAotc3RhdGljIGJv b2wgY29uc3RydWN0KAorc3RhdGljIGJvb2wgZGNlMTIwX3Jlc291cmNlX2NvbnN0cnVjdCgKIAl1 aW50OF90IG51bV92aXJ0dWFsX2xpbmtzLAogCXN0cnVjdCBkYyAqZGMsCiAJc3RydWN0IGRjZTEx MF9yZXNvdXJjZV9wb29sICpwb29sKQpAQCAtMTIzNyw3ICsxMjM3LDcgQEAgc3RhdGljIGJvb2wg Y29uc3RydWN0KAogY2xrX3NyY19jcmVhdGVfZmFpbDoKIHJlc19jcmVhdGVfZmFpbDoKIAotCWRl c3RydWN0KHBvb2wpOworCWRjZTEyMF9yZXNvdXJjZV9kZXN0cnVjdChwb29sKTsKIAogCXJldHVy biBmYWxzZTsKIH0KQEAgLTEyNTIsNyArMTI1Miw3IEBAIHN0cnVjdCByZXNvdXJjZV9wb29sICpk Y2UxMjBfY3JlYXRlX3Jlc291cmNlX3Bvb2woCiAJaWYgKCFwb29sKQogCQlyZXR1cm4gTlVMTDsK IAotCWlmIChjb25zdHJ1Y3QobnVtX3ZpcnR1YWxfbGlua3MsIGRjLCBwb29sKSkKKwlpZiAoZGNl MTIwX3Jlc291cmNlX2NvbnN0cnVjdChudW1fdmlydHVhbF9saW5rcywgZGMsIHBvb2wpKQogCQly ZXR1cm4gJnBvb2wtPmJhc2U7CiAKIAlrZnJlZShwb29sKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY2U4MC9kY2U4MF9yZXNvdXJjZS5jIGIvZHJpdmVycy9n cHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjZTgwL2RjZTgwX3Jlc291cmNlLmMKaW5kZXggM2U4ZDRi NDlmMjc5Li4yYWQ1YzI4YzZlNjYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlz cGxheS9kYy9kY2U4MC9kY2U4MF9yZXNvdXJjZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQv ZGlzcGxheS9kYy9kY2U4MC9kY2U4MF9yZXNvdXJjZS5jCkBAIC03NzMsNyArNzczLDcgQEAgc3Rh dGljIHN0cnVjdCBpbnB1dF9waXhlbF9wcm9jZXNzb3IgKmRjZTgwX2lwcF9jcmVhdGUoCiAJcmV0 dXJuICZpcHAtPmJhc2U7CiB9CiAKLXN0YXRpYyB2b2lkIGRlc3RydWN0KHN0cnVjdCBkY2UxMTBf cmVzb3VyY2VfcG9vbCAqcG9vbCkKK3N0YXRpYyB2b2lkIGRjZTgwX3Jlc291cmNlX2Rlc3RydWN0 KHN0cnVjdCBkY2UxMTBfcmVzb3VyY2VfcG9vbCAqcG9vbCkKIHsKIAl1bnNpZ25lZCBpbnQgaTsK IApAQCAtOTAxLDcgKzkwMSw3IEBAIHN0YXRpYyB2b2lkIGRjZTgwX2Rlc3Ryb3lfcmVzb3VyY2Vf cG9vbChzdHJ1Y3QgcmVzb3VyY2VfcG9vbCAqKnBvb2wpCiB7CiAJc3RydWN0IGRjZTExMF9yZXNv dXJjZV9wb29sICpkY2UxMTBfcG9vbCA9IFRPX0RDRTExMF9SRVNfUE9PTCgqcG9vbCk7CiAKLQlk ZXN0cnVjdChkY2UxMTBfcG9vbCk7CisJZGNlODBfcmVzb3VyY2VfZGVzdHJ1Y3QoZGNlMTEwX3Bv b2wpOwogCWtmcmVlKGRjZTExMF9wb29sKTsKIAkqcG9vbCA9IE5VTEw7CiB9CkBAIC0xMDkzLDcg KzEwOTMsNyBAQCBzdGF0aWMgYm9vbCBkY2U4MF9jb25zdHJ1Y3QoCiAJcmV0dXJuIHRydWU7CiAK IHJlc19jcmVhdGVfZmFpbDoKLQlkZXN0cnVjdChwb29sKTsKKwlkY2U4MF9yZXNvdXJjZV9kZXN0 cnVjdChwb29sKTsKIAlyZXR1cm4gZmFsc2U7CiB9CiAKQEAgLTEyOTAsNyArMTI5MCw3IEBAIHN0 YXRpYyBib29sIGRjZTgxX2NvbnN0cnVjdCgKIAlyZXR1cm4gdHJ1ZTsKIAogcmVzX2NyZWF0ZV9m YWlsOgotCWRlc3RydWN0KHBvb2wpOworCWRjZTgwX3Jlc291cmNlX2Rlc3RydWN0KHBvb2wpOwog CXJldHVybiBmYWxzZTsKIH0KIApAQCAtMTQ4Myw3ICsxNDgzLDcgQEAgc3RhdGljIGJvb2wgZGNl ODNfY29uc3RydWN0KAogCXJldHVybiB0cnVlOwogCiByZXNfY3JlYXRlX2ZhaWw6Ci0JZGVzdHJ1 Y3QocG9vbCk7CisJZGNlODBfcmVzb3VyY2VfZGVzdHJ1Y3QocG9vbCk7CiAJcmV0dXJuIGZhbHNl OwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNuMTAv ZGNuMTBfcmVzb3VyY2UuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY24xMC9k Y24xMF9yZXNvdXJjZS5jCmluZGV4IDE1NjQwYWVkZDY2NC4uNjAyNzY5ZTJmNGE3IDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNuMTAvZGNuMTBfcmVzb3VyY2Uu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNuMTAvZGNuMTBfcmVzb3Vy Y2UuYwpAQCAtOTE5LDcgKzkxOSw3IEBAIHN0YXRpYyBzdHJ1Y3QgcHBfc211X2Z1bmNzICpkY24x MF9wcF9zbXVfY3JlYXRlKHN0cnVjdCBkY19jb250ZXh0ICpjdHgpCiAJcmV0dXJuIHBwX3NtdTsK IH0KIAotc3RhdGljIHZvaWQgZGVzdHJ1Y3Qoc3RydWN0IGRjbjEwX3Jlc291cmNlX3Bvb2wgKnBv b2wpCitzdGF0aWMgdm9pZCBkY24xMF9yZXNvdXJjZV9kZXN0cnVjdChzdHJ1Y3QgZGNuMTBfcmVz b3VyY2VfcG9vbCAqcG9vbCkKIHsKIAl1bnNpZ25lZCBpbnQgaTsKIApAQCAtMTE2Niw3ICsxMTY2 LDcgQEAgc3RhdGljIHZvaWQgZGNuMTBfZGVzdHJveV9yZXNvdXJjZV9wb29sKHN0cnVjdCByZXNv dXJjZV9wb29sICoqcG9vbCkKIHsKIAlzdHJ1Y3QgZGNuMTBfcmVzb3VyY2VfcG9vbCAqZGNuMTBf cG9vbCA9IFRPX0RDTjEwX1JFU19QT09MKCpwb29sKTsKIAotCWRlc3RydWN0KGRjbjEwX3Bvb2wp OworCWRjbjEwX3Jlc291cmNlX2Rlc3RydWN0KGRjbjEwX3Bvb2wpOwogCWtmcmVlKGRjbjEwX3Bv b2wpOwogCSpwb29sID0gTlVMTDsKIH0KQEAgLTEzMDUsNyArMTMwNSw3IEBAIHN0YXRpYyB1aW50 MzJfdCByZWFkX3BpcGVfZnVzZXMoc3RydWN0IGRjX2NvbnRleHQgKmN0eCkKIAlyZXR1cm4gdmFs dWU7CiB9CiAKLXN0YXRpYyBib29sIGNvbnN0cnVjdCgKK3N0YXRpYyBib29sIGRjbjEwX3Jlc291 cmNlX2NvbnN0cnVjdCgKIAl1aW50OF90IG51bV92aXJ0dWFsX2xpbmtzLAogCXN0cnVjdCBkYyAq ZGMsCiAJc3RydWN0IGRjbjEwX3Jlc291cmNlX3Bvb2wgKnBvb2wpCkBAIC0xNTkyLDcgKzE1OTIs NyBAQCBzdGF0aWMgYm9vbCBjb25zdHJ1Y3QoCiAKIGZhaWw6CiAKLQlkZXN0cnVjdChwb29sKTsK KwlkY24xMF9yZXNvdXJjZV9kZXN0cnVjdChwb29sKTsKIAogCXJldHVybiBmYWxzZTsKIH0KQEAg LTE2MDcsNyArMTYwNyw3IEBAIHN0cnVjdCByZXNvdXJjZV9wb29sICpkY24xMF9jcmVhdGVfcmVz b3VyY2VfcG9vbCgKIAlpZiAoIXBvb2wpCiAJCXJldHVybiBOVUxMOwogCi0JaWYgKGNvbnN0cnVj dChpbml0X2RhdGEtPm51bV92aXJ0dWFsX2xpbmtzLCBkYywgcG9vbCkpCisJaWYgKGRjbjEwX3Jl c291cmNlX2NvbnN0cnVjdChpbml0X2RhdGEtPm51bV92aXJ0dWFsX2xpbmtzLCBkYywgcG9vbCkp CiAJCXJldHVybiAmcG9vbC0+YmFzZTsKIAogCWtmcmVlKHBvb2wpOwpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjbjIwL2RjbjIwX3Jlc291cmNlLmMgYi9kcml2 ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNuMjAvZGNuMjBfcmVzb3VyY2UuYwppbmRleCBm NjliNDVlZWI3NjYuLjM4MDU2ZTExMWM2MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2Ft ZC9kaXNwbGF5L2RjL2RjbjIwL2RjbjIwX3Jlc291cmNlLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2FtZC9kaXNwbGF5L2RjL2RjbjIwL2RjbjIwX3Jlc291cmNlLmMKQEAgLTEyMjYsNyArMTIyNiw3 IEBAIHZvaWQgZGNuMjBfZHNjX2Rlc3Ryb3koc3RydWN0IGRpc3BsYXlfc3RyZWFtX2NvbXByZXNz b3IgKipkc2MpCiB9CiAKIAotc3RhdGljIHZvaWQgZGVzdHJ1Y3Qoc3RydWN0IGRjbjIwX3Jlc291 cmNlX3Bvb2wgKnBvb2wpCitzdGF0aWMgdm9pZCBkY24yMF9yZXNvdXJjZV9kZXN0cnVjdChzdHJ1 Y3QgZGNuMjBfcmVzb3VyY2VfcG9vbCAqcG9vbCkKIHsKIAl1bnNpZ25lZCBpbnQgaTsKIApAQCAt Mjg4Niw3ICsyODg2LDcgQEAgc3RhdGljIHZvaWQgZGNuMjBfZGVzdHJveV9yZXNvdXJjZV9wb29s KHN0cnVjdCByZXNvdXJjZV9wb29sICoqcG9vbCkKIHsKIAlzdHJ1Y3QgZGNuMjBfcmVzb3VyY2Vf cG9vbCAqZGNuMjBfcG9vbCA9IFRPX0RDTjIwX1JFU19QT09MKCpwb29sKTsKIAotCWRlc3RydWN0 KGRjbjIwX3Bvb2wpOworCWRjbjIwX3Jlc291cmNlX2Rlc3RydWN0KGRjbjIwX3Bvb2wpOwogCWtm cmVlKGRjbjIwX3Bvb2wpOwogCSpwb29sID0gTlVMTDsKIH0KQEAgLTMzNDIsNyArMzM0Miw3IEBA IHN0YXRpYyBib29sIGluaXRfc29jX2JvdW5kaW5nX2JveChzdHJ1Y3QgZGMgKmRjLAogCXJldHVy biB0cnVlOwogfQogCi1zdGF0aWMgYm9vbCBjb25zdHJ1Y3QoCitzdGF0aWMgYm9vbCBkY24yMF9y ZXNvdXJjZV9jb25zdHJ1Y3QoCiAJdWludDhfdCBudW1fdmlydHVhbF9saW5rcywKIAlzdHJ1Y3Qg ZGMgKmRjLAogCXN0cnVjdCBkY24yMF9yZXNvdXJjZV9wb29sICpwb29sKQpAQCAtMzY1OSw3ICsz NjU5LDcgQEAgc3RhdGljIGJvb2wgY29uc3RydWN0KAogCiBjcmVhdGVfZmFpbDoKIAotCWRlc3Ry dWN0KHBvb2wpOworCWRjbjIwX3Jlc291cmNlX2Rlc3RydWN0KHBvb2wpOwogCiAJcmV0dXJuIGZh bHNlOwogfQpAQCAtMzY3NCw3ICszNjc0LDcgQEAgc3RydWN0IHJlc291cmNlX3Bvb2wgKmRjbjIw X2NyZWF0ZV9yZXNvdXJjZV9wb29sKAogCWlmICghcG9vbCkKIAkJcmV0dXJuIE5VTEw7CiAKLQlp ZiAoY29uc3RydWN0KGluaXRfZGF0YS0+bnVtX3ZpcnR1YWxfbGlua3MsIGRjLCBwb29sKSkKKwlp ZiAoZGNuMjBfcmVzb3VyY2VfY29uc3RydWN0KGluaXRfZGF0YS0+bnVtX3ZpcnR1YWxfbGlua3Ms IGRjLCBwb29sKSkKIAkJcmV0dXJuICZwb29sLT5iYXNlOwogCiAJQlJFQUtfVE9fREVCVUdHRVIo KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY24yMS9kY24y MV9yZXNvdXJjZS5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjbjIxL2RjbjIx X3Jlc291cmNlLmMKaW5kZXggOGU2OTM0NmZmMjdjLi4zZTcyMTVhNDY0YTYgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY24yMS9kY24yMV9yZXNvdXJjZS5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY24yMS9kY24yMV9yZXNvdXJjZS5j CkBAIC04NDQsNyArODQ0LDcgQEAgZW51bSBkY24yMF9jbGtfc3JjX2FycmF5X2lkIHsKIAlEQ04y MF9DTEtfU1JDX1RPVEFMX0RDTjIxCiB9OwogCi1zdGF0aWMgdm9pZCBkZXN0cnVjdChzdHJ1Y3Qg ZGNuMjFfcmVzb3VyY2VfcG9vbCAqcG9vbCkKK3N0YXRpYyB2b2lkIGRjbjIxX3Jlc291cmNlX2Rl c3RydWN0KHN0cnVjdCBkY24yMV9yZXNvdXJjZV9wb29sICpwb29sKQogewogCXVuc2lnbmVkIGlu dCBpOwogCkBAIC0xMTQ2LDcgKzExNDYsNyBAQCBzdGF0aWMgdm9pZCBkY24yMV9kZXN0cm95X3Jl c291cmNlX3Bvb2woc3RydWN0IHJlc291cmNlX3Bvb2wgKipwb29sKQogewogCXN0cnVjdCBkY24y MV9yZXNvdXJjZV9wb29sICpkY24yMV9wb29sID0gVE9fRENOMjFfUkVTX1BPT0woKnBvb2wpOwog Ci0JZGVzdHJ1Y3QoZGNuMjFfcG9vbCk7CisJZGNuMjFfcmVzb3VyY2VfZGVzdHJ1Y3QoZGNuMjFf cG9vbCk7CiAJa2ZyZWUoZGNuMjFfcG9vbCk7CiAJKnBvb2wgPSBOVUxMOwogfQpAQCAtMTYyNCw3 ICsxNjI0LDcgQEAgc3RhdGljIHN0cnVjdCByZXNvdXJjZV9mdW5jcyBkY24yMV9yZXNfcG9vbF9m dW5jcyA9IHsKIAkudXBkYXRlX2J3X2JvdW5kaW5nX2JveCA9IHVwZGF0ZV9id19ib3VuZGluZ19i b3gKIH07CiAKLXN0YXRpYyBib29sIGNvbnN0cnVjdCgKK3N0YXRpYyBib29sIGRjbjIxX3Jlc291 cmNlX2NvbnN0cnVjdCgKIAl1aW50OF90IG51bV92aXJ0dWFsX2xpbmtzLAogCXN0cnVjdCBkYyAq ZGMsCiAJc3RydWN0IGRjbjIxX3Jlc291cmNlX3Bvb2wgKnBvb2wpCkBAIC0xODc2LDcgKzE4NzYs NyBAQCBzdGF0aWMgYm9vbCBjb25zdHJ1Y3QoCiAKIGNyZWF0ZV9mYWlsOgogCi0JZGVzdHJ1Y3Qo cG9vbCk7CisJZGNuMjFfcmVzb3VyY2VfZGVzdHJ1Y3QocG9vbCk7CiAKIAlyZXR1cm4gZmFsc2U7 CiB9CkBAIC0xODkxLDcgKzE4OTEsNyBAQCBzdHJ1Y3QgcmVzb3VyY2VfcG9vbCAqZGNuMjFfY3Jl YXRlX3Jlc291cmNlX3Bvb2woCiAJaWYgKCFwb29sKQogCQlyZXR1cm4gTlVMTDsKIAotCWlmIChj b25zdHJ1Y3QoaW5pdF9kYXRhLT5udW1fdmlydHVhbF9saW5rcywgZGMsIHBvb2wpKQorCWlmIChk Y24yMV9yZXNvdXJjZV9jb25zdHJ1Y3QoaW5pdF9kYXRhLT5udW1fdmlydHVhbF9saW5rcywgZGMs IHBvb2wpKQogCQlyZXR1cm4gJnBvb2wtPmJhc2U7CiAKIAlCUkVBS19UT19ERUJVR0dFUigpOwpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2dwaW8vaHdfZGRjLmMg Yi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZ3Bpby9od19kZGMuYwppbmRleCBhOWFl ZTEzMzIzMzAuLjFhZTE1M2VhYjMxZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9k aXNwbGF5L2RjL2dwaW8vaHdfZGRjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5 L2RjL2dwaW8vaHdfZGRjLmMKQEAgLTQ4LDE4ICs0OCwxOCBAQAogCiBzdHJ1Y3QgZ3BpbzsKIAot c3RhdGljIHZvaWQgZGVzdHJ1Y3QoCitzdGF0aWMgdm9pZCBkYWxfaHdfZGRjX2Rlc3RydWN0KAog CXN0cnVjdCBod19kZGMgKnBpbikKIHsKIAlkYWxfaHdfZ3Bpb19kZXN0cnVjdCgmcGluLT5iYXNl KTsKIH0KIAotc3RhdGljIHZvaWQgZGVzdHJveSgKK3N0YXRpYyB2b2lkIGRhbF9od19kZGNfZGVz dHJveSgKIAlzdHJ1Y3QgaHdfZ3Bpb19waW4gKipwdHIpCiB7CiAJc3RydWN0IGh3X2RkYyAqcGlu ID0gSFdfRERDX0ZST01fQkFTRSgqcHRyKTsKIAotCWRlc3RydWN0KHBpbik7CisJZGFsX2h3X2Rk Y19kZXN0cnVjdChwaW4pOwogCiAJa2ZyZWUocGluKTsKIApAQCAtMjA3LDcgKzIwNyw3IEBAIHN0 YXRpYyBlbnVtIGdwaW9fcmVzdWx0IHNldF9jb25maWcoCiB9CiAKIHN0YXRpYyBjb25zdCBzdHJ1 Y3QgaHdfZ3Bpb19waW5fZnVuY3MgZnVuY3MgPSB7Ci0JLmRlc3Ryb3kgPSBkZXN0cm95LAorCS5k ZXN0cm95ID0gZGFsX2h3X2RkY19kZXN0cm95LAogCS5vcGVuID0gZGFsX2h3X2dwaW9fb3BlbiwK IAkuZ2V0X3ZhbHVlID0gZGFsX2h3X2dwaW9fZ2V0X3ZhbHVlLAogCS5zZXRfdmFsdWUgPSBkYWxf aHdfZ3Bpb19zZXRfdmFsdWUsCkBAIC0yMTYsNyArMjE2LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVj dCBod19ncGlvX3Bpbl9mdW5jcyBmdW5jcyA9IHsKIAkuY2xvc2UgPSBkYWxfaHdfZ3Bpb19jbG9z ZSwKIH07CiAKLXN0YXRpYyB2b2lkIGNvbnN0cnVjdCgKK3N0YXRpYyB2b2lkIGRhbF9od19kZGNf Y29uc3RydWN0KAogCXN0cnVjdCBod19kZGMgKmRkYywKIAllbnVtIGdwaW9faWQgaWQsCiAJdWlu dDMyX3QgZW4sCkBAIC0yNDMsNyArMjQzLDcgQEAgdm9pZCBkYWxfaHdfZGRjX2luaXQoCiAJCXJl dHVybjsKIAl9CiAKLQljb25zdHJ1Y3QoKmh3X2RkYywgaWQsIGVuLCBjdHgpOworCWRhbF9od19k ZGNfY29uc3RydWN0KCpod19kZGMsIGlkLCBlbiwgY3R4KTsKIH0KIAogc3RydWN0IGh3X2dwaW9f cGluICpkYWxfaHdfZGRjX2dldF9waW4oc3RydWN0IGdwaW8gKmdwaW8pCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZ3Bpby9od19nZW5lcmljLmMgYi9kcml2ZXJz L2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZ3Bpby9od19nZW5lcmljLmMKaW5kZXggNjliODk5NzQx ZjZkLi5mOWU4NDdlNjU1NWQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxh eS9kYy9ncGlvL2h3X2dlbmVyaWMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkv ZGMvZ3Bpby9od19nZW5lcmljLmMKQEAgLTQ2LDIyICs0NiwxMyBAQAogCiBzdHJ1Y3QgZ3BpbzsK IAotc3RhdGljIHZvaWQgZGFsX2h3X2dlbmVyaWNfY29uc3RydWN0KAotCXN0cnVjdCBod19nZW5l cmljICpwaW4sCi0JZW51bSBncGlvX2lkIGlkLAotCXVpbnQzMl90IGVuLAotCXN0cnVjdCBkY19j b250ZXh0ICpjdHgpCi17Ci0JZGFsX2h3X2dwaW9fY29uc3RydWN0KCZwaW4tPmJhc2UsIGlkLCBl biwgY3R4KTsKLX0KLQogc3RhdGljIHZvaWQgZGFsX2h3X2dlbmVyaWNfZGVzdHJ1Y3QoCiAJc3Ry dWN0IGh3X2dlbmVyaWMgKnBpbikKIHsKIAlkYWxfaHdfZ3Bpb19kZXN0cnVjdCgmcGluLT5iYXNl KTsKIH0KIAotc3RhdGljIHZvaWQgZGVzdHJveSgKK3N0YXRpYyB2b2lkIGRhbF9od19nZW5lcmlj X2Rlc3Ryb3koCiAJc3RydWN0IGh3X2dwaW9fcGluICoqcHRyKQogewogCXN0cnVjdCBod19nZW5l cmljICpnZW5lcmljID0gSFdfR0VORVJJQ19GUk9NX0JBU0UoKnB0cik7CkBAIC05MCw3ICs4MSw3 IEBAIHN0YXRpYyBlbnVtIGdwaW9fcmVzdWx0IHNldF9jb25maWcoCiB9CiAKIHN0YXRpYyBjb25z dCBzdHJ1Y3QgaHdfZ3Bpb19waW5fZnVuY3MgZnVuY3MgPSB7Ci0JLmRlc3Ryb3kgPSBkZXN0cm95 LAorCS5kZXN0cm95ID0gZGFsX2h3X2dlbmVyaWNfZGVzdHJveSwKIAkub3BlbiA9IGRhbF9od19n cGlvX29wZW4sCiAJLmdldF92YWx1ZSA9IGRhbF9od19ncGlvX2dldF92YWx1ZSwKIAkuc2V0X3Zh bHVlID0gZGFsX2h3X2dwaW9fc2V0X3ZhbHVlLApAQCAtOTksMTQgKzkwLDE0IEBAIHN0YXRpYyBj b25zdCBzdHJ1Y3QgaHdfZ3Bpb19waW5fZnVuY3MgZnVuY3MgPSB7CiAJLmNsb3NlID0gZGFsX2h3 X2dwaW9fY2xvc2UsCiB9OwogCi1zdGF0aWMgdm9pZCBjb25zdHJ1Y3QoCi0Jc3RydWN0IGh3X2dl bmVyaWMgKmdlbmVyaWMsCitzdGF0aWMgdm9pZCBkYWxfaHdfZ2VuZXJpY19jb25zdHJ1Y3QoCisJ c3RydWN0IGh3X2dlbmVyaWMgKnBpbiwKIAllbnVtIGdwaW9faWQgaWQsCiAJdWludDMyX3QgZW4s CiAJc3RydWN0IGRjX2NvbnRleHQgKmN0eCkKIHsKLQlkYWxfaHdfZ2VuZXJpY19jb25zdHJ1Y3Qo Z2VuZXJpYywgaWQsIGVuLCBjdHgpOwotCWdlbmVyaWMtPmJhc2UuYmFzZS5mdW5jcyA9ICZmdW5j czsKKwlkYWxfaHdfZ3Bpb19jb25zdHJ1Y3QoJnBpbi0+YmFzZSwgaWQsIGVuLCBjdHgpOworCXBp bi0+YmFzZS5iYXNlLmZ1bmNzID0gJmZ1bmNzOwogfQogCiB2b2lkIGRhbF9od19nZW5lcmljX2lu aXQoCkBAIC0xMjYsNyArMTE3LDcgQEAgdm9pZCBkYWxfaHdfZ2VuZXJpY19pbml0KAogCQlyZXR1 cm47CiAJfQogCi0JY29uc3RydWN0KCpod19nZW5lcmljLCBpZCwgZW4sIGN0eCk7CisJZGFsX2h3 X2dlbmVyaWNfY29uc3RydWN0KCpod19nZW5lcmljLCBpZCwgZW4sIGN0eCk7CiB9CiAKIApkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2dwaW8vaHdfaHBkLmMgYi9k cml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZ3Bpby9od19ocGQuYwppbmRleCAwMGM5YmNm NjYwYTMuLjY5MmYyOWRlNzc5NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNw bGF5L2RjL2dwaW8vaHdfaHBkLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2Rj L2dwaW8vaHdfaHBkLmMKQEAgLTQ2LDM0ICs0NiwxOCBAQAogCiBzdHJ1Y3QgZ3BpbzsKIAotc3Rh dGljIHZvaWQgZGFsX2h3X2hwZF9jb25zdHJ1Y3QoCi0Jc3RydWN0IGh3X2hwZCAqcGluLAotCWVu dW0gZ3Bpb19pZCBpZCwKLQl1aW50MzJfdCBlbiwKLQlzdHJ1Y3QgZGNfY29udGV4dCAqY3R4KQot ewotCWRhbF9od19ncGlvX2NvbnN0cnVjdCgmcGluLT5iYXNlLCBpZCwgZW4sIGN0eCk7Ci19Ci0K IHN0YXRpYyB2b2lkIGRhbF9od19ocGRfZGVzdHJ1Y3QoCiAJc3RydWN0IGh3X2hwZCAqcGluKQog ewogCWRhbF9od19ncGlvX2Rlc3RydWN0KCZwaW4tPmJhc2UpOwogfQogCi0KLXN0YXRpYyB2b2lk IGRlc3RydWN0KAotCXN0cnVjdCBod19ocGQgKmhwZCkKLXsKLQlkYWxfaHdfaHBkX2Rlc3RydWN0 KGhwZCk7Ci19Ci0KLXN0YXRpYyB2b2lkIGRlc3Ryb3koCitzdGF0aWMgdm9pZCBkYWxfaHdfaHBk X2Rlc3Ryb3koCiAJc3RydWN0IGh3X2dwaW9fcGluICoqcHRyKQogewogCXN0cnVjdCBod19ocGQg KmhwZCA9IEhXX0hQRF9GUk9NX0JBU0UoKnB0cik7CiAKLQlkZXN0cnVjdChocGQpOworCWRhbF9o d19ocGRfZGVzdHJ1Y3QoaHBkKTsKIAogCWtmcmVlKGhwZCk7CiAKQEAgLTEyMCw3ICsxMDQsNyBA QCBzdGF0aWMgZW51bSBncGlvX3Jlc3VsdCBzZXRfY29uZmlnKAogfQogCiBzdGF0aWMgY29uc3Qg c3RydWN0IGh3X2dwaW9fcGluX2Z1bmNzIGZ1bmNzID0gewotCS5kZXN0cm95ID0gZGVzdHJveSwK KwkuZGVzdHJveSA9IGRhbF9od19ocGRfZGVzdHJveSwKIAkub3BlbiA9IGRhbF9od19ncGlvX29w ZW4sCiAJLmdldF92YWx1ZSA9IGdldF92YWx1ZSwKIAkuc2V0X3ZhbHVlID0gZGFsX2h3X2dwaW9f c2V0X3ZhbHVlLApAQCAtMTI5LDE0ICsxMTMsMTQgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBod19n cGlvX3Bpbl9mdW5jcyBmdW5jcyA9IHsKIAkuY2xvc2UgPSBkYWxfaHdfZ3Bpb19jbG9zZSwKIH07 CiAKLXN0YXRpYyB2b2lkIGNvbnN0cnVjdCgKLQlzdHJ1Y3QgaHdfaHBkICpocGQsCitzdGF0aWMg dm9pZCBkYWxfaHdfaHBkX2NvbnN0cnVjdCgKKwlzdHJ1Y3QgaHdfaHBkICpwaW4sCiAJZW51bSBn cGlvX2lkIGlkLAogCXVpbnQzMl90IGVuLAogCXN0cnVjdCBkY19jb250ZXh0ICpjdHgpCiB7Ci0J ZGFsX2h3X2hwZF9jb25zdHJ1Y3QoaHBkLCBpZCwgZW4sIGN0eCk7Ci0JaHBkLT5iYXNlLmJhc2Uu ZnVuY3MgPSAmZnVuY3M7CisJZGFsX2h3X2dwaW9fY29uc3RydWN0KCZwaW4tPmJhc2UsIGlkLCBl biwgY3R4KTsKKwlwaW4tPmJhc2UuYmFzZS5mdW5jcyA9ICZmdW5jczsKIH0KIAogdm9pZCBkYWxf aHdfaHBkX2luaXQoCkBAIC0xNTYsNyArMTQwLDcgQEAgdm9pZCBkYWxfaHdfaHBkX2luaXQoCiAJ CXJldHVybjsKIAl9CiAKLQljb25zdHJ1Y3QoKmh3X2hwZCwgaWQsIGVuLCBjdHgpOworCWRhbF9o d19ocGRfY29uc3RydWN0KCpod19ocGQsIGlkLCBlbiwgY3R4KTsKIH0KIAogc3RydWN0IGh3X2dw aW9fcGluICpkYWxfaHdfaHBkX2dldF9waW4oc3RydWN0IGdwaW8gKmdwaW8pCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaXJxL2RjZTExMC9pcnFfc2VydmljZV9k Y2UxMTAuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pcnEvZGNlMTEwL2lycV9z ZXJ2aWNlX2RjZTExMC5jCmluZGV4IDFhNTgxYzQ2NDM0NS4uM2Q0NDYxYTcwZjdkIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaXJxL2RjZTExMC9pcnFfc2Vydmlj ZV9kY2UxMTAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaXJxL2RjZTEx MC9pcnFfc2VydmljZV9kY2UxMTAuYwpAQCAtNDAzLDcgKzQwMyw3IEBAIHN0YXRpYyBjb25zdCBz dHJ1Y3QgaXJxX3NlcnZpY2VfZnVuY3MgaXJxX3NlcnZpY2VfZnVuY3NfZGNlMTEwID0gewogCQku dG9fZGFsX2lycV9zb3VyY2UgPSB0b19kYWxfaXJxX3NvdXJjZV9kY2UxMTAKIH07CiAKLXN0YXRp YyB2b2lkIGNvbnN0cnVjdChzdHJ1Y3QgaXJxX3NlcnZpY2UgKmlycV9zZXJ2aWNlLAorc3RhdGlj IHZvaWQgZGNlMTEwX2lycV9jb25zdHJ1Y3Qoc3RydWN0IGlycV9zZXJ2aWNlICppcnFfc2Vydmlj ZSwKIAkJICAgICAgc3RydWN0IGlycV9zZXJ2aWNlX2luaXRfZGF0YSAqaW5pdF9kYXRhKQogewog CWRhbF9pcnFfc2VydmljZV9jb25zdHJ1Y3QoaXJxX3NlcnZpY2UsIGluaXRfZGF0YSk7CkBAIC00 MjEsNiArNDIxLDYgQEAgZGFsX2lycV9zZXJ2aWNlX2RjZTExMF9jcmVhdGUoc3RydWN0IGlycV9z ZXJ2aWNlX2luaXRfZGF0YSAqaW5pdF9kYXRhKQogCWlmICghaXJxX3NlcnZpY2UpCiAJCXJldHVy biBOVUxMOwogCi0JY29uc3RydWN0KGlycV9zZXJ2aWNlLCBpbml0X2RhdGEpOworCWRjZTExMF9p cnFfY29uc3RydWN0KGlycV9zZXJ2aWNlLCBpbml0X2RhdGEpOwogCXJldHVybiBpcnFfc2Vydmlj ZTsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pcnEvZGNl MTIwL2lycV9zZXJ2aWNlX2RjZTEyMC5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2Rj L2lycS9kY2UxMjAvaXJxX3NlcnZpY2VfZGNlMTIwLmMKaW5kZXggMTUzODAzMzZjYjUxLi4yZmU0 NzAzMzk1ZjMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pcnEv ZGNlMTIwL2lycV9zZXJ2aWNlX2RjZTEyMC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlz cGxheS9kYy9pcnEvZGNlMTIwL2lycV9zZXJ2aWNlX2RjZTEyMC5jCkBAIC0yNzMsNyArMjczLDcg QEAgc3RhdGljIGNvbnN0IHN0cnVjdCBpcnFfc2VydmljZV9mdW5jcyBpcnFfc2VydmljZV9mdW5j c19kY2UxMjAgPSB7CiAJCS50b19kYWxfaXJxX3NvdXJjZSA9IHRvX2RhbF9pcnFfc291cmNlX2Rj ZTExMAogfTsKIAotc3RhdGljIHZvaWQgY29uc3RydWN0KAorc3RhdGljIHZvaWQgZGNlMTIwX2ly cV9jb25zdHJ1Y3QoCiAJc3RydWN0IGlycV9zZXJ2aWNlICppcnFfc2VydmljZSwKIAlzdHJ1Y3Qg aXJxX3NlcnZpY2VfaW5pdF9kYXRhICppbml0X2RhdGEpCiB7CkBAIC0yOTIsNiArMjkyLDYgQEAg c3RydWN0IGlycV9zZXJ2aWNlICpkYWxfaXJxX3NlcnZpY2VfZGNlMTIwX2NyZWF0ZSgKIAlpZiAo IWlycV9zZXJ2aWNlKQogCQlyZXR1cm4gTlVMTDsKIAotCWNvbnN0cnVjdChpcnFfc2VydmljZSwg aW5pdF9kYXRhKTsKKwlkY2UxMjBfaXJxX2NvbnN0cnVjdChpcnFfc2VydmljZSwgaW5pdF9kYXRh KTsKIAlyZXR1cm4gaXJxX3NlcnZpY2U7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v YW1kL2Rpc3BsYXkvZGMvaXJxL2RjZTgwL2lycV9zZXJ2aWNlX2RjZTgwLmMgYi9kcml2ZXJzL2dw dS9kcm0vYW1kL2Rpc3BsYXkvZGMvaXJxL2RjZTgwL2lycV9zZXJ2aWNlX2RjZTgwLmMKaW5kZXgg MjgxZmVlOGFkMWU1Li4xN2U0MjZiODBhMDAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9h bWQvZGlzcGxheS9kYy9pcnEvZGNlODAvaXJxX3NlcnZpY2VfZGNlODAuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaXJxL2RjZTgwL2lycV9zZXJ2aWNlX2RjZTgwLmMKQEAg LTI4Myw3ICsyODMsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGlycV9zZXJ2aWNlX2Z1bmNzIGly cV9zZXJ2aWNlX2Z1bmNzX2RjZTgwID0gewogCQkudG9fZGFsX2lycV9zb3VyY2UgPSB0b19kYWxf aXJxX3NvdXJjZV9kY2UxMTAKIH07CiAKLXN0YXRpYyB2b2lkIGNvbnN0cnVjdCgKK3N0YXRpYyB2 b2lkIGRjZTgwX2lycV9jb25zdHJ1Y3QoCiAJc3RydWN0IGlycV9zZXJ2aWNlICppcnFfc2Vydmlj ZSwKIAlzdHJ1Y3QgaXJxX3NlcnZpY2VfaW5pdF9kYXRhICppbml0X2RhdGEpCiB7CkBAIC0zMDIs NyArMzAyLDcgQEAgc3RydWN0IGlycV9zZXJ2aWNlICpkYWxfaXJxX3NlcnZpY2VfZGNlODBfY3Jl YXRlKAogCWlmICghaXJxX3NlcnZpY2UpCiAJCXJldHVybiBOVUxMOwogCi0JY29uc3RydWN0KGly cV9zZXJ2aWNlLCBpbml0X2RhdGEpOworCWRjZTgwX2lycV9jb25zdHJ1Y3QoaXJxX3NlcnZpY2Us IGluaXRfZGF0YSk7CiAJcmV0dXJuIGlycV9zZXJ2aWNlOwogfQogCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaXJxL2RjbjEwL2lycV9zZXJ2aWNlX2RjbjEwLmMg Yi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaXJxL2RjbjEwL2lycV9zZXJ2aWNlX2Rj bjEwLmMKaW5kZXggY2M4ZTdkZWRjY2NlLi5mOTU2YjNiZGU2ODAgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pcnEvZGNuMTAvaXJxX3NlcnZpY2VfZGNuMTAuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaXJxL2RjbjEwL2lycV9zZXJ2aWNl X2RjbjEwLmMKQEAgLTM1NSw3ICszNTUsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGlycV9zZXJ2 aWNlX2Z1bmNzIGlycV9zZXJ2aWNlX2Z1bmNzX2RjbjEwID0gewogCQkudG9fZGFsX2lycV9zb3Vy Y2UgPSB0b19kYWxfaXJxX3NvdXJjZV9kY24xMAogfTsKIAotc3RhdGljIHZvaWQgY29uc3RydWN0 KAorc3RhdGljIHZvaWQgZGNuMTBfaXJxX2NvbnN0cnVjdCgKIAlzdHJ1Y3QgaXJxX3NlcnZpY2Ug KmlycV9zZXJ2aWNlLAogCXN0cnVjdCBpcnFfc2VydmljZV9pbml0X2RhdGEgKmluaXRfZGF0YSkK IHsKQEAgLTM3NCw2ICszNzQsNiBAQCBzdHJ1Y3QgaXJxX3NlcnZpY2UgKmRhbF9pcnFfc2Vydmlj ZV9kY24xMF9jcmVhdGUoCiAJaWYgKCFpcnFfc2VydmljZSkKIAkJcmV0dXJuIE5VTEw7CiAKLQlj b25zdHJ1Y3QoaXJxX3NlcnZpY2UsIGluaXRfZGF0YSk7CisJZGNuMTBfaXJxX2NvbnN0cnVjdChp cnFfc2VydmljZSwgaW5pdF9kYXRhKTsKIAlyZXR1cm4gaXJxX3NlcnZpY2U7CiB9CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaXJxL2RjbjIwL2lycV9zZXJ2aWNl X2RjbjIwLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaXJxL2RjbjIwL2lycV9z ZXJ2aWNlX2RjbjIwLmMKaW5kZXggNWRiMjliZjU4MmQzLi4yYTFmZWE1MDFmOGMgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pcnEvZGNuMjAvaXJxX3NlcnZpY2Vf ZGNuMjAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaXJxL2RjbjIwL2ly cV9zZXJ2aWNlX2RjbjIwLmMKQEAgLTM1OSw3ICszNTksNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0 IGlycV9zZXJ2aWNlX2Z1bmNzIGlycV9zZXJ2aWNlX2Z1bmNzX2RjbjIwID0gewogCQkudG9fZGFs X2lycV9zb3VyY2UgPSB0b19kYWxfaXJxX3NvdXJjZV9kY24yMAogfTsKIAotc3RhdGljIHZvaWQg Y29uc3RydWN0KAorc3RhdGljIHZvaWQgZGNuMjBfaXJxX2NvbnN0cnVjdCgKIAlzdHJ1Y3QgaXJx X3NlcnZpY2UgKmlycV9zZXJ2aWNlLAogCXN0cnVjdCBpcnFfc2VydmljZV9pbml0X2RhdGEgKmlu aXRfZGF0YSkKIHsKQEAgLTM3OCw2ICszNzgsNiBAQCBzdHJ1Y3QgaXJxX3NlcnZpY2UgKmRhbF9p cnFfc2VydmljZV9kY24yMF9jcmVhdGUoCiAJaWYgKCFpcnFfc2VydmljZSkKIAkJcmV0dXJuIE5V TEw7CiAKLQljb25zdHJ1Y3QoaXJxX3NlcnZpY2UsIGluaXRfZGF0YSk7CisJZGNuMjBfaXJxX2Nv bnN0cnVjdChpcnFfc2VydmljZSwgaW5pdF9kYXRhKTsKIAlyZXR1cm4gaXJxX3NlcnZpY2U7CiB9 CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaXJxL2RjbjIxL2ly cV9zZXJ2aWNlX2RjbjIxLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaXJxL2Rj bjIxL2lycV9zZXJ2aWNlX2RjbjIxLmMKaW5kZXggY2JlNzgxODUyOWJiLi4xYjk3MTI2NTQxOGIg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pcnEvZGNuMjEvaXJx X3NlcnZpY2VfZGNuMjEuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaXJx L2RjbjIxL2lycV9zZXJ2aWNlX2RjbjIxLmMKQEAgLTM1MCw3ICszNTAsNyBAQCBzdGF0aWMgY29u c3Qgc3RydWN0IGlycV9zZXJ2aWNlX2Z1bmNzIGlycV9zZXJ2aWNlX2Z1bmNzX2RjbjIxID0gewog CQkudG9fZGFsX2lycV9zb3VyY2UgPSB0b19kYWxfaXJxX3NvdXJjZV9kY24yMQogfTsKIAotc3Rh dGljIHZvaWQgY29uc3RydWN0KAorc3RhdGljIHZvaWQgZGNuMjFfaXJxX2NvbnN0cnVjdCgKIAlz dHJ1Y3QgaXJxX3NlcnZpY2UgKmlycV9zZXJ2aWNlLAogCXN0cnVjdCBpcnFfc2VydmljZV9pbml0 X2RhdGEgKmluaXRfZGF0YSkKIHsKQEAgLTM2OSw2ICszNjksNiBAQCBzdHJ1Y3QgaXJxX3NlcnZp Y2UgKmRhbF9pcnFfc2VydmljZV9kY24yMV9jcmVhdGUoCiAJaWYgKCFpcnFfc2VydmljZSkKIAkJ cmV0dXJuIE5VTEw7CiAKLQljb25zdHJ1Y3QoaXJxX3NlcnZpY2UsIGluaXRfZGF0YSk7CisJZGNu MjFfaXJxX2NvbnN0cnVjdChpcnFfc2VydmljZSwgaW5pdF9kYXRhKTsKIAlyZXR1cm4gaXJxX3Nl cnZpY2U7CiB9Ci0tIAoyLjI0LjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCmFtZC1nZnggbWFpbGluZyBsaXN0CmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1k LWdmeA== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id B9CFEC43331 for ; Tue, 12 Nov 2019 00:34:04 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 9812A2196E for ; Tue, 12 Nov 2019 00:34:04 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 9812A2196E Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=amd.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=amd-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 29D256EA39; Tue, 12 Nov 2019 00:34:04 +0000 (UTC) Received: from NAM03-DM3-obe.outbound.protection.outlook.com (mail-eopbgr800079.outbound.protection.outlook.com [40.107.80.79]) by gabe.freedesktop.org (Postfix) with ESMTPS id 4010C6EA34 for ; Tue, 12 Nov 2019 00:33:59 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MSwzffzz6iqnyDr4SofryT/xsZBSgyM/p03CktkRtKi8IE89rm2KbXCo3+WyFUa8GkzRnENMnpiM5N1qMPiXOixQBRY4cTAulsx7ikrsKPj3Dg0VELeGEeZWH5AIpCLIzHLG07HiEPVsXuB2oj5E0adsBkdIMBvyTuuZkVJ5nPe50PeHdoSc7HQIq9LBlUGAYY7UbgogNqri5YFduGV2bwdsmnyLuAoP6fX6nuh+0A+oKQAzT61yje0fVobRFKtIgiA5m+/EgpYRIqnUHK6IHPGQk0JAshtckrvobnUJASED5ajZhYLh7oalUta9Td3lADWz7vIqm1mt0mTgGp0fKg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=0/faGPUpuaASIs2nUNMXvT5TzvwfFuTDP4LCtvfHMHQ=; b=VggAxmbgLyF3oYFX15N4a+QwwJfZLgZ8uHJ6cJCVXlqZDanavHgnQGW/qqYwkODBWdfIvVxbNYbkedXyWb2FiqvOqL3cCYhPEtVdu/ewajjpwaSiHpMIhzS6r3CzJO3wXcY7ZYat3V55gF8gQR3aUuFa1uiVwtkNJiGCo9/8pdbRo6ffSGNUbx+H6veQjcKTDKcMbzsz6sw7kajjn+wTwSjEhJCcVNtl9A50e+3bt2zAEA2epmRqMwjrMiUjG/33I63YmLwSNntww4K8fG4rZo2BtD/hrP2w6YUcDZphqZJqNKcP+k5J6M9TTZx+8N6M9NJTfZt264vmSXtIDQV61A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none Received: from MW2PR12MB2524.namprd12.prod.outlook.com (52.132.180.155) by MW2PR12MB2554.namprd12.prod.outlook.com (52.132.180.161) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2430.25; Tue, 12 Nov 2019 00:33:57 +0000 Received: from MW2PR12MB2524.namprd12.prod.outlook.com ([fe80::3d1f:4c20:e980:6e69]) by MW2PR12MB2524.namprd12.prod.outlook.com ([fe80::3d1f:4c20:e980:6e69%5]) with mapi id 15.20.2430.027; Tue, 12 Nov 2019 00:33:57 +0000 From: Rodrigo Siqueira To: amd-gfx@lists.freedesktop.org Subject: [PATCH 17/30] drm/amd/display: cleanup of construct and destruct funcs Date: Mon, 11 Nov 2019 19:33:11 -0500 Message-Id: <20191112003324.8419-18-Rodrigo.Siqueira@amd.com> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20191112003324.8419-1-Rodrigo.Siqueira@amd.com> References: <20191112003324.8419-1-Rodrigo.Siqueira@amd.com> X-ClientProxiedBy: YTBPR01CA0012.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:14::25) To MW2PR12MB2524.namprd12.prod.outlook.com (2603:10b6:907:9::27) MIME-Version: 1.0 X-Mailer: git-send-email 2.24.0 X-Originating-IP: [165.204.55.250] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: f5374d53-6657-49c5-1676-08d7670800ef X-MS-TrafficTypeDiagnostic: MW2PR12MB2554: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:127; X-Forefront-PRVS: 021975AE46 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4636009)(136003)(366004)(396003)(346002)(39860400002)(376002)(189003)(199004)(76176011)(6916009)(81166006)(81156014)(386003)(8676002)(478600001)(6506007)(51416003)(52116002)(2870700001)(25786009)(14444005)(2906002)(186003)(2361001)(3846002)(316002)(66066001)(47776003)(50466002)(4326008)(26005)(66946007)(6116002)(36756003)(1076003)(8936002)(48376002)(50226002)(54906003)(2616005)(305945005)(486006)(5660300002)(6512007)(14454004)(2351001)(446003)(30864003)(6486002)(6666004)(99286004)(66556008)(476003)(66476007)(11346002)(86362001)(6436002)(7736002); DIR:OUT; SFP:1101; SCL:1; SRVR:MW2PR12MB2554; H:MW2PR12MB2524.namprd12.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; Received-SPF: None (protection.outlook.com: amd.com does not designate permitted sender hosts) X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 4KQQVXhS5qoXd9FOYLWibkfKymOsc+eK549o2to7UB7qtPdrm+RQWBvtAM4gLKegZ3qQavP6SGa/2iOazQ1GAGlVkuySSzZ+/rzIMblKXoEeMiuxUpI9V6mp1g06y+Zvx8DY2Ja1Chgt/X93Mc0DPizUzi5k1CJDvURUm/7m+lQ3jK9z83yHOsjpPWHuMZD2Qp8sdZdg4UEhpR6uUXafX6uCpzD6kjDBn6Qfm1PGpf5Adm+KEhC73e5lsuIoM33a+aZUa7hQtTXT2UXv/OcGocojy+Qju5Jq7DpUKt1jlcvXp7QZ3pfej6u+AsIOO9M6oGTnW3sDWo/mCXr2/eDA8BrVnGUFfMxtLKVaKLxyhFOnTTXdvXVdvi/HsBYedDMGxP/inl5KWkL4uaZQvrno/XwL8ef1z+Yyv865C1KEFHFYDOGUlsXocPhnBbGiTZIs X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: f5374d53-6657-49c5-1676-08d7670800ef X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Nov 2019 00:33:57.1921 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: /1h2C6iUQF0wtO3MqQXcAkE0jMcL2PRpSa0iLBMcRrzLO5TrUEaF7vTOWxQ4oi5GYPlTNICRz9hRI+IApVipZQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW2PR12MB2554 X-Mailman-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector2-amdcloud-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=0/faGPUpuaASIs2nUNMXvT5TzvwfFuTDP4LCtvfHMHQ=; b=Dfvgevf3XE6r8qMFLVV/Ae3yJOszob+nq9wz0cXdquLOlcxeEAApMrcKzXHvt45lzTb8NcrUOhh84awyUzeXQd9R8mI/1MogsQzmWZMr7UrE+b/mn45+UgX0SA8EyWOlk9v5bzzDSQrpz0gWvT3CoDcWicZOnUKO2tRuF5sRy6A= X-Mailman-Original-Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Rodrigo.Siqueira@amd.com; X-BeenThere: amd-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Aric Cyr , Anthony Koo Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: amd-gfx-bounces@lists.freedesktop.org Sender: "amd-gfx" Message-ID: <20191112003311.gI5MdWuABRiXgA859La16Is9q6k4J9TMoIueJBtaAms@z> RnJvbTogQW50aG9ueSBLb28gPEFudGhvbnkuS29vQGFtZC5jb20+CgpbV2h5XQpUb28gbWFueSBj b25zdHJ1Y3QgZnVuY3Rpb25zIHdoaWNoIG1ha2VzIHNlYXJjaGluZwpkaWZmaWN1bHQsIGVzcGVj aWFsbHkgb24gc29tZSBkZWJ1Z2dlcnMuCgpbSG93XQpBcHBlbmQgYWxsIGNvbnN0cnVjdCBhbmQg ZGVzdHJ1Y3QgZnVuY3Rpb25zIHdpdGggZGNuCm51bWJlciBhbmQgb2JqZWN0IHR5cGUgdG8gbWFr ZSBlYWNoIGNvbnN0cnVjdCBmdW5jdGlvbgpuYW1lIHVuaXF1ZQoKU2lnbmVkLW9mZi1ieTogQW50 aG9ueSBLb28gPEFudGhvbnkuS29vQGFtZC5jb20+ClJldmlld2VkLWJ5OiBBcmljIEN5ciA8QXJp Yy5DeXJAYW1kLmNvbT4KQWNrZWQtYnk6IFJvZHJpZ28gU2lxdWVpcmEgPFJvZHJpZ28uU2lxdWVp cmFAYW1kLmNvbT4KLS0tCiAuLi4vZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9iaW9zL2Jpb3NfcGFy c2VyLmMgfCAgNCArLS0KIC4uLi9kcm0vYW1kL2Rpc3BsYXkvZGMvYmlvcy9iaW9zX3BhcnNlcjIu YyAgICB8ICA4ICsrLS0tCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvY29yZS9kYy5j ICAgICAgfCAxMCArKystLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9jb3JlL2Rj X2xpbmsuYyB8ICA4ICsrLS0tCiAuLi4vZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9jb3JlL2RjX2xp bmtfZGRjLmMgfCAgOCArKy0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2NvcmUv ZGNfc2luay5jIHwgIDggKystLS0KIC4uLi9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2NvcmUvZGNf c3RyZWFtLmMgICB8ICA4ICsrLS0tCiAuLi4vZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9jb3JlL2Rj X3N1cmZhY2UuYyAgfCAgOCArKy0tLQogLi4uL2FtZC9kaXNwbGF5L2RjL2RjZTEwMC9kY2UxMDBf cmVzb3VyY2UuYyAgIHwgMTAgKysrLS0tCiAuLi4vYW1kL2Rpc3BsYXkvZGMvZGNlMTEwL2RjZTEx MF9yZXNvdXJjZS5jICAgfCAxMCArKystLS0KIC4uLi9hbWQvZGlzcGxheS9kYy9kY2UxMTIvZGNl MTEyX3Jlc291cmNlLmMgICB8IDEwICsrKy0tLQogLi4uL2FtZC9kaXNwbGF5L2RjL2RjZTEyMC9k Y2UxMjBfcmVzb3VyY2UuYyAgIHwgMTAgKysrLS0tCiAuLi4vZHJtL2FtZC9kaXNwbGF5L2RjL2Rj ZTgwL2RjZTgwX3Jlc291cmNlLmMgfCAxMCArKystLS0KIC4uLi9kcm0vYW1kL2Rpc3BsYXkvZGMv ZGNuMTAvZGNuMTBfcmVzb3VyY2UuYyB8IDEwICsrKy0tLQogLi4uL2RybS9hbWQvZGlzcGxheS9k Yy9kY24yMC9kY24yMF9yZXNvdXJjZS5jIHwgMTAgKysrLS0tCiAuLi4vZHJtL2FtZC9kaXNwbGF5 L2RjL2RjbjIxL2RjbjIxX3Jlc291cmNlLmMgfCAxMCArKystLS0KIGRyaXZlcnMvZ3B1L2RybS9h bWQvZGlzcGxheS9kYy9ncGlvL2h3X2RkYy5jICB8IDEyICsrKy0tLS0KIC4uLi9ncHUvZHJtL2Ft ZC9kaXNwbGF5L2RjL2dwaW8vaHdfZ2VuZXJpYy5jICB8IDIzICsrKystLS0tLS0tLS0KIGRyaXZl cnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9ncGlvL2h3X2hwZC5jICB8IDMyICsrKysrLS0tLS0t LS0tLS0tLS0KIC4uLi9kYy9pcnEvZGNlMTEwL2lycV9zZXJ2aWNlX2RjZTExMC5jICAgICAgICB8 ICA0ICstLQogLi4uL2RjL2lycS9kY2UxMjAvaXJxX3NlcnZpY2VfZGNlMTIwLmMgICAgICAgIHwg IDQgKy0tCiAuLi4vZGlzcGxheS9kYy9pcnEvZGNlODAvaXJxX3NlcnZpY2VfZGNlODAuYyAgfCAg NCArLS0KIC4uLi9kaXNwbGF5L2RjL2lycS9kY24xMC9pcnFfc2VydmljZV9kY24xMC5jICB8ICA0 ICstLQogLi4uL2Rpc3BsYXkvZGMvaXJxL2RjbjIwL2lycV9zZXJ2aWNlX2RjbjIwLmMgIHwgIDQg Ky0tCiAuLi4vZGlzcGxheS9kYy9pcnEvZGNuMjEvaXJxX3NlcnZpY2VfZGNuMjEuYyAgfCAgNCAr LS0KIDI1IGZpbGVzIGNoYW5nZWQsIDEwNCBpbnNlcnRpb25zKCspLCAxMjkgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2Jpb3MvYmlvc19w YXJzZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9iaW9zL2Jpb3NfcGFyc2Vy LmMKaW5kZXggODIzODQzY2QyNjEzLi42ZTU3YTFiZTA4MzkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9hbWQvZGlzcGxheS9kYy9iaW9zL2Jpb3NfcGFyc2VyLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2FtZC9kaXNwbGF5L2RjL2Jpb3MvYmlvc19wYXJzZXIuYwpAQCAtMTExLDcgKzExMSw3 IEBAIHN0cnVjdCBkY19iaW9zICpiaW9zX3BhcnNlcl9jcmVhdGUoCiAJcmV0dXJuIE5VTEw7CiB9 CiAKLXN0YXRpYyB2b2lkIGRlc3RydWN0KHN0cnVjdCBiaW9zX3BhcnNlciAqYnApCitzdGF0aWMg dm9pZCBiaW9zX3BhcnNlcl9kZXN0cnVjdChzdHJ1Y3QgYmlvc19wYXJzZXIgKmJwKQogewogCWtm cmVlKGJwLT5iYXNlLmJpb3NfbG9jYWxfaW1hZ2UpOwogCWtmcmVlKGJwLT5iYXNlLmludGVncmF0 ZWRfaW5mbyk7CkBAIC0xMjYsNyArMTI2LDcgQEAgc3RhdGljIHZvaWQgYmlvc19wYXJzZXJfZGVz dHJveShzdHJ1Y3QgZGNfYmlvcyAqKmRjYikKIAkJcmV0dXJuOwogCX0KIAotCWRlc3RydWN0KGJw KTsKKwliaW9zX3BhcnNlcl9kZXN0cnVjdChicCk7CiAKIAlrZnJlZShicCk7CiAJKmRjYiA9IE5V TEw7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvYmlvcy9iaW9z X3BhcnNlcjIuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9iaW9zL2Jpb3NfcGFy c2VyMi5jCmluZGV4IDZlMjliYThlNTgyZS4uYmZkNDQ0YTFlOGVkIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvYmlvcy9iaW9zX3BhcnNlcjIuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvYmlvcy9iaW9zX3BhcnNlcjIuYwpAQCAtMTExLDcg KzExMSw3IEBAIHN0YXRpYyBzdHJ1Y3QgYXRvbV9lbmNvZGVyX2NhcHNfcmVjb3JkICpnZXRfZW5j b2Rlcl9jYXBfcmVjb3JkKAogCiAjZGVmaW5lIERBVEFfVEFCTEVTKHRhYmxlKSAoYnAtPm1hc3Rl cl9kYXRhX3RibC0+bGlzdE9mZGF0YXRhYmxlcy50YWJsZSkKIAotc3RhdGljIHZvaWQgZGVzdHJ1 Y3Qoc3RydWN0IGJpb3NfcGFyc2VyICpicCkKK3N0YXRpYyB2b2lkIGJpb3NfcGFyc2VyMl9kZXN0 cnVjdChzdHJ1Y3QgYmlvc19wYXJzZXIgKmJwKQogewogCWtmcmVlKGJwLT5iYXNlLmJpb3NfbG9j YWxfaW1hZ2UpOwogCWtmcmVlKGJwLT5iYXNlLmludGVncmF0ZWRfaW5mbyk7CkBAIC0xMjYsNyAr MTI2LDcgQEAgc3RhdGljIHZvaWQgZmlybXdhcmVfcGFyc2VyX2Rlc3Ryb3koc3RydWN0IGRjX2Jp b3MgKipkY2IpCiAJCXJldHVybjsKIAl9CiAKLQlkZXN0cnVjdChicCk7CisJYmlvc19wYXJzZXIy X2Rlc3RydWN0KGJwKTsKIAogCWtmcmVlKGJwKTsKIAkqZGNiID0gTlVMTDsKQEAgLTE5MjcsNyAr MTkyNyw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZGNfdmJpb3NfZnVuY3MgdmJpb3NfZnVuY3Mg PSB7CiAJLmdldF9ib2FyZF9sYXlvdXRfaW5mbyA9IGJpb3NfZ2V0X2JvYXJkX2xheW91dF9pbmZv LAogfTsKIAotc3RhdGljIGJvb2wgYmlvc19wYXJzZXJfY29uc3RydWN0KAorc3RhdGljIGJvb2wg Ymlvc19wYXJzZXIyX2NvbnN0cnVjdCgKIAlzdHJ1Y3QgYmlvc19wYXJzZXIgKmJwLAogCXN0cnVj dCBicF9pbml0X2RhdGEgKmluaXQsCiAJZW51bSBkY2VfdmVyc2lvbiBkY2VfdmVyc2lvbikKQEAg LTIwMjAsNyArMjAyMCw3IEBAIHN0cnVjdCBkY19iaW9zICpmaXJtd2FyZV9wYXJzZXJfY3JlYXRl KAogCWlmICghYnApCiAJCXJldHVybiBOVUxMOwogCi0JaWYgKGJpb3NfcGFyc2VyX2NvbnN0cnVj dChicCwgaW5pdCwgZGNlX3ZlcnNpb24pKQorCWlmIChiaW9zX3BhcnNlcjJfY29uc3RydWN0KGJw LCBpbml0LCBkY2VfdmVyc2lvbikpCiAJCXJldHVybiAmYnAtPmJhc2U7CiAKIAlrZnJlZShicCk7 CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvY29yZS9kYy5jIGIv ZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2NvcmUvZGMuYwppbmRleCAxZmRiYTEzYjNk MGYuLmQwNzlmZmFkYWViNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5 L2RjL2NvcmUvZGMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvY29yZS9k Yy5jCkBAIC01MzMsNyArNTMzLDcgQEAgdm9pZCBkY19zdHJlYW1fc2V0X3N0YXRpY19zY3JlZW5f ZXZlbnRzKHN0cnVjdCBkYyAqZGMsCiAJZGMtPmh3c3Muc2V0X3N0YXRpY19zY3JlZW5fY29udHJv bChwaXBlc19hZmZlY3RlZCwgbnVtX3BpcGVzX2FmZmVjdGVkLCBldmVudHMpOwogfQogCi1zdGF0 aWMgdm9pZCBkZXN0cnVjdChzdHJ1Y3QgZGMgKmRjKQorc3RhdGljIHZvaWQgZGNfZGVzdHJ1Y3Qo c3RydWN0IGRjICpkYykKIHsKIAlpZiAoZGMtPmN1cnJlbnRfc3RhdGUpIHsKIAkJZGNfcmVsZWFz ZV9zdGF0ZShkYy0+Y3VycmVudF9zdGF0ZSk7CkBAIC01NzksNyArNTc5LDcgQEAgc3RhdGljIHZv aWQgZGVzdHJ1Y3Qoc3RydWN0IGRjICpkYykKIAogfQogCi1zdGF0aWMgYm9vbCBjb25zdHJ1Y3Qo c3RydWN0IGRjICpkYywKK3N0YXRpYyBib29sIGRjX2NvbnN0cnVjdChzdHJ1Y3QgZGMgKmRjLAog CQljb25zdCBzdHJ1Y3QgZGNfaW5pdF9kYXRhICppbml0X3BhcmFtcykKIHsKIAlzdHJ1Y3QgZGNf Y29udGV4dCAqZGNfY3R4OwpAQCAtNzI5LDcgKzcyOSw3IEBAIHN0YXRpYyBib29sIGNvbnN0cnVj dChzdHJ1Y3QgZGMgKmRjLAogCiBmYWlsOgogCi0JZGVzdHJ1Y3QoZGMpOworCWRjX2Rlc3RydWN0 KGRjKTsKIAlyZXR1cm4gZmFsc2U7CiB9CiAKQEAgLTc5NSw3ICs3OTUsNyBAQCBzdHJ1Y3QgZGMg KmRjX2NyZWF0ZShjb25zdCBzdHJ1Y3QgZGNfaW5pdF9kYXRhICppbml0X3BhcmFtcykKIAlpZiAo TlVMTCA9PSBkYykKIAkJZ290byBhbGxvY19mYWlsOwogCi0JaWYgKGZhbHNlID09IGNvbnN0cnVj dChkYywgaW5pdF9wYXJhbXMpKQorCWlmIChmYWxzZSA9PSBkY19jb25zdHJ1Y3QoZGMsIGluaXRf cGFyYW1zKSkKIAkJZ290byBjb25zdHJ1Y3RfZmFpbDsKIAogCWZ1bGxfcGlwZV9jb3VudCA9IGRj LT5yZXNfcG9vbC0+cGlwZV9jb3VudDsKQEAgLTg1Miw3ICs4NTIsNyBAQCB2b2lkIGRjX2RlaW5p dF9jYWxsYmFja3Moc3RydWN0IGRjICpkYykKIAogdm9pZCBkY19kZXN0cm95KHN0cnVjdCBkYyAq KmRjKQogewotCWRlc3RydWN0KCpkYyk7CisJZGNfZGVzdHJ1Y3QoKmRjKTsKIAlrZnJlZSgqZGMp OwogCSpkYyA9IE5VTEw7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3Bs YXkvZGMvY29yZS9kY19saW5rLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvY29y ZS9kY19saW5rLmMKaW5kZXggMWUxZjQ2MWNiYjNjLi5jNThhYzMxODY5ZGYgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9jb3JlL2RjX2xpbmsuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvY29yZS9kY19saW5rLmMKQEAgLTc0LDcgKzc0LDcg QEAgZW51bSB7CiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogUHJpdmF0ZSBmdW5jdGlvbnMK ICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKiovCi1zdGF0aWMgdm9pZCBkZXN0cnVjdChzdHJ1Y3QgZGNf bGluayAqbGluaykKK3N0YXRpYyB2b2lkIGRjX2xpbmtfZGVzdHJ1Y3Qoc3RydWN0IGRjX2xpbmsg KmxpbmspCiB7CiAJaW50IGk7CiAKQEAgLTEyNDQsNyArMTI0NCw3IEBAIHN0YXRpYyBlbnVtIHRy YW5zbWl0dGVyIHRyYW5zbGF0ZV9lbmNvZGVyX3RvX3RyYW5zbWl0dGVyKAogCX0KIH0KIAotc3Rh dGljIGJvb2wgY29uc3RydWN0KAorc3RhdGljIGJvb2wgZGNfbGlua19jb25zdHJ1Y3QoCiAJc3Ry dWN0IGRjX2xpbmsgKmxpbmssCiAJY29uc3Qgc3RydWN0IGxpbmtfaW5pdF9kYXRhICppbml0X3Bh cmFtcykKIHsKQEAgLTE0NDYsNyArMTQ0Niw3IEBAIHN0cnVjdCBkY19saW5rICpsaW5rX2NyZWF0 ZShjb25zdCBzdHJ1Y3QgbGlua19pbml0X2RhdGEgKmluaXRfcGFyYW1zKQogCWlmIChOVUxMID09 IGxpbmspCiAJCWdvdG8gYWxsb2NfZmFpbDsKIAotCWlmIChmYWxzZSA9PSBjb25zdHJ1Y3QobGlu aywgaW5pdF9wYXJhbXMpKQorCWlmIChmYWxzZSA9PSBkY19saW5rX2NvbnN0cnVjdChsaW5rLCBp bml0X3BhcmFtcykpCiAJCWdvdG8gY29uc3RydWN0X2ZhaWw7CiAKIAlyZXR1cm4gbGluazsKQEAg LTE0NjAsNyArMTQ2MCw3IEBAIHN0cnVjdCBkY19saW5rICpsaW5rX2NyZWF0ZShjb25zdCBzdHJ1 Y3QgbGlua19pbml0X2RhdGEgKmluaXRfcGFyYW1zKQogCiB2b2lkIGxpbmtfZGVzdHJveShzdHJ1 Y3QgZGNfbGluayAqKmxpbmspCiB7Ci0JZGVzdHJ1Y3QoKmxpbmspOworCWRjX2xpbmtfZGVzdHJ1 Y3QoKmxpbmspOwogCWtmcmVlKCpsaW5rKTsKIAkqbGluayA9IE5VTEw7CiB9CmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvY29yZS9kY19saW5rX2RkYy5jIGIvZHJp dmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2NvcmUvZGNfbGlua19kZGMuYwppbmRleCBjODAz N2FmOTNlMGEuLjNmYzk3NTJlZGZlMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9k aXNwbGF5L2RjL2NvcmUvZGNfbGlua19kZGMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rp c3BsYXkvZGMvY29yZS9kY19saW5rX2RkYy5jCkBAIC0xODcsNyArMTg3LDcgQEAgdm9pZCBkYWxf ZGRjX2kyY19wYXlsb2Fkc19hZGQoCiAKIH0KIAotc3RhdGljIHZvaWQgY29uc3RydWN0KAorc3Rh dGljIHZvaWQgZGRjX3NlcnZpY2VfY29uc3RydWN0KAogCXN0cnVjdCBkZGNfc2VydmljZSAqZGRj X3NlcnZpY2UsCiAJc3RydWN0IGRkY19zZXJ2aWNlX2luaXRfZGF0YSAqaW5pdF9kYXRhKQogewpA QCAtMjM5LDExICsyMzksMTEgQEAgc3RydWN0IGRkY19zZXJ2aWNlICpkYWxfZGRjX3NlcnZpY2Vf Y3JlYXRlKAogCWlmICghZGRjX3NlcnZpY2UpCiAJCXJldHVybiBOVUxMOwogCi0JY29uc3RydWN0 KGRkY19zZXJ2aWNlLCBpbml0X2RhdGEpOworCWRkY19zZXJ2aWNlX2NvbnN0cnVjdChkZGNfc2Vy dmljZSwgaW5pdF9kYXRhKTsKIAlyZXR1cm4gZGRjX3NlcnZpY2U7CiB9CiAKLXN0YXRpYyB2b2lk IGRlc3RydWN0KHN0cnVjdCBkZGNfc2VydmljZSAqZGRjKQorc3RhdGljIHZvaWQgZGRjX3NlcnZp Y2VfZGVzdHJ1Y3Qoc3RydWN0IGRkY19zZXJ2aWNlICpkZGMpCiB7CiAJaWYgKGRkYy0+ZGRjX3Bp bikKIAkJZGFsX2dwaW9fZGVzdHJveV9kZGMoJmRkYy0+ZGRjX3Bpbik7CkBAIC0yNTUsNyArMjU1 LDcgQEAgdm9pZCBkYWxfZGRjX3NlcnZpY2VfZGVzdHJveShzdHJ1Y3QgZGRjX3NlcnZpY2UgKipk ZGMpCiAJCUJSRUFLX1RPX0RFQlVHR0VSKCk7CiAJCXJldHVybjsKIAl9Ci0JZGVzdHJ1Y3QoKmRk Yyk7CisJZGRjX3NlcnZpY2VfZGVzdHJ1Y3QoKmRkYyk7CiAJa2ZyZWUoKmRkYyk7CiAJKmRkYyA9 IE5VTEw7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvY29y ZS9kY19zaW5rLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvY29yZS9kY19zaW5r LmMKaW5kZXggNWNiZmRmMWM0YjExLi5hMjQ5YTBlNWVkZDAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9hbWQvZGlzcGxheS9kYy9jb3JlL2RjX3NpbmsuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vYW1kL2Rpc3BsYXkvZGMvY29yZS9kY19zaW5rLmMKQEAgLTMzLDcgKzMzLDcgQEAKICAqIFBy aXZhdGUgZnVuY3Rpb25zCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogCi1zdGF0aWMgdm9pZCBk ZXN0cnVjdChzdHJ1Y3QgZGNfc2luayAqc2luaykKK3N0YXRpYyB2b2lkIGRjX3NpbmtfZGVzdHJ1 Y3Qoc3RydWN0IGRjX3NpbmsgKnNpbmspCiB7CiAJaWYgKHNpbmstPmRjX2NvbnRhaW5lcl9pZCkg ewogCQlrZnJlZShzaW5rLT5kY19jb250YWluZXJfaWQpOwpAQCAtNDEsNyArNDEsNyBAQCBzdGF0 aWMgdm9pZCBkZXN0cnVjdChzdHJ1Y3QgZGNfc2luayAqc2luaykKIAl9CiB9CiAKLXN0YXRpYyBi b29sIGNvbnN0cnVjdChzdHJ1Y3QgZGNfc2luayAqc2luaywgY29uc3Qgc3RydWN0IGRjX3Npbmtf aW5pdF9kYXRhICppbml0X3BhcmFtcykKK3N0YXRpYyBib29sIGRjX3NpbmtfY29uc3RydWN0KHN0 cnVjdCBkY19zaW5rICpzaW5rLCBjb25zdCBzdHJ1Y3QgZGNfc2lua19pbml0X2RhdGEgKmluaXRf cGFyYW1zKQogewogCiAJc3RydWN0IGRjX2xpbmsgKmxpbmsgPSBpbml0X3BhcmFtcy0+bGluazsK QEAgLTc1LDcgKzc1LDcgQEAgdm9pZCBkY19zaW5rX3JldGFpbihzdHJ1Y3QgZGNfc2luayAqc2lu aykKIHN0YXRpYyB2b2lkIGRjX3NpbmtfZnJlZShzdHJ1Y3Qga3JlZiAqa3JlZikKIHsKIAlzdHJ1 Y3QgZGNfc2luayAqc2luayA9IGNvbnRhaW5lcl9vZihrcmVmLCBzdHJ1Y3QgZGNfc2luaywgcmVm Y291bnQpOwotCWRlc3RydWN0KHNpbmspOworCWRjX3NpbmtfZGVzdHJ1Y3Qoc2luayk7CiAJa2Zy ZWUoc2luayk7CiB9CiAKQEAgLTkxLDcgKzkxLDcgQEAgc3RydWN0IGRjX3NpbmsgKmRjX3Npbmtf Y3JlYXRlKGNvbnN0IHN0cnVjdCBkY19zaW5rX2luaXRfZGF0YSAqaW5pdF9wYXJhbXMpCiAJaWYg KE5VTEwgPT0gc2luaykKIAkJZ290byBhbGxvY19mYWlsOwogCi0JaWYgKGZhbHNlID09IGNvbnN0 cnVjdChzaW5rLCBpbml0X3BhcmFtcykpCisJaWYgKGZhbHNlID09IGRjX3NpbmtfY29uc3RydWN0 KHNpbmssIGluaXRfcGFyYW1zKSkKIAkJZ290byBjb25zdHJ1Y3RfZmFpbDsKIAogCWtyZWZfaW5p dCgmc2luay0+cmVmY291bnQpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNw bGF5L2RjL2NvcmUvZGNfc3RyZWFtLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMv Y29yZS9kY19zdHJlYW0uYwppbmRleCAzNzFkNDllOWI3NDUuLjk3Y2IwMzBiOWY0ZSAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2NvcmUvZGNfc3RyZWFtLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2NvcmUvZGNfc3RyZWFtLmMKQEAgLTU4 LDcgKzU4LDcgQEAgdm9pZCB1cGRhdGVfc3RyZWFtX3NpZ25hbChzdHJ1Y3QgZGNfc3RyZWFtX3N0 YXRlICpzdHJlYW0sIHN0cnVjdCBkY19zaW5rICpzaW5rKQogCX0KIH0KIAotc3RhdGljIHZvaWQg Y29uc3RydWN0KHN0cnVjdCBkY19zdHJlYW1fc3RhdGUgKnN0cmVhbSwKK3N0YXRpYyB2b2lkIGRj X3N0cmVhbV9jb25zdHJ1Y3Qoc3RydWN0IGRjX3N0cmVhbV9zdGF0ZSAqc3RyZWFtLAogCXN0cnVj dCBkY19zaW5rICpkY19zaW5rX2RhdGEpCiB7CiAJdWludDMyX3QgaSA9IDA7CkBAIC0xMjcsNyAr MTI3LDcgQEAgc3RhdGljIHZvaWQgY29uc3RydWN0KHN0cnVjdCBkY19zdHJlYW1fc3RhdGUgKnN0 cmVhbSwKIAlzdHJlYW0tPmN0eC0+ZGNfc3RyZWFtX2lkX2NvdW50Kys7CiB9CiAKLXN0YXRpYyB2 b2lkIGRlc3RydWN0KHN0cnVjdCBkY19zdHJlYW1fc3RhdGUgKnN0cmVhbSkKK3N0YXRpYyB2b2lk IGRjX3N0cmVhbV9kZXN0cnVjdChzdHJ1Y3QgZGNfc3RyZWFtX3N0YXRlICpzdHJlYW0pCiB7CiAJ ZGNfc2lua19yZWxlYXNlKHN0cmVhbS0+c2luayk7CiAJaWYgKHN0cmVhbS0+b3V0X3RyYW5zZmVy X2Z1bmMgIT0gTlVMTCkgewpAQCAtMTQ1LDcgKzE0NSw3IEBAIHN0YXRpYyB2b2lkIGRjX3N0cmVh bV9mcmVlKHN0cnVjdCBrcmVmICprcmVmKQogewogCXN0cnVjdCBkY19zdHJlYW1fc3RhdGUgKnN0 cmVhbSA9IGNvbnRhaW5lcl9vZihrcmVmLCBzdHJ1Y3QgZGNfc3RyZWFtX3N0YXRlLCByZWZjb3Vu dCk7CiAKLQlkZXN0cnVjdChzdHJlYW0pOworCWRjX3N0cmVhbV9kZXN0cnVjdChzdHJlYW0pOwog CWtmcmVlKHN0cmVhbSk7CiB9CiAKQEAgLTE2OCw3ICsxNjgsNyBAQCBzdHJ1Y3QgZGNfc3RyZWFt X3N0YXRlICpkY19jcmVhdGVfc3RyZWFtX2Zvcl9zaW5rKAogCWlmIChzdHJlYW0gPT0gTlVMTCkK IAkJcmV0dXJuIE5VTEw7CiAKLQljb25zdHJ1Y3Qoc3RyZWFtLCBzaW5rKTsKKwlkY19zdHJlYW1f Y29uc3RydWN0KHN0cmVhbSwgc2luayk7CiAKIAlrcmVmX2luaXQoJnN0cmVhbS0+cmVmY291bnQp OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvY29yZS9kY19z dXJmYWNlLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvY29yZS9kY19zdXJmYWNl LmMKaW5kZXggYWFlY2RlZTJiOGI0Li5lNjBhZmY0NmQ1MTAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9hbWQvZGlzcGxheS9kYy9jb3JlL2RjX3N1cmZhY2UuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vYW1kL2Rpc3BsYXkvZGMvY29yZS9kY19zdXJmYWNlLmMKQEAgLTM3LDcgKzM3LDcgQEAK IC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBQcml2YXRlIGZ1bmN0aW9ucwogICoqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKi8KLXN0YXRpYyB2b2lkIGNvbnN0cnVjdChzdHJ1Y3QgZGNfY29udGV4dCAq Y3R4LCBzdHJ1Y3QgZGNfcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlKQorc3RhdGljIHZvaWQgZGNf cGxhbmVfY29uc3RydWN0KHN0cnVjdCBkY19jb250ZXh0ICpjdHgsIHN0cnVjdCBkY19wbGFuZV9z dGF0ZSAqcGxhbmVfc3RhdGUpCiB7CiAJcGxhbmVfc3RhdGUtPmN0eCA9IGN0eDsKIApAQCAtNjgs NyArNjgsNyBAQCBzdGF0aWMgdm9pZCBjb25zdHJ1Y3Qoc3RydWN0IGRjX2NvbnRleHQgKmN0eCwg c3RydWN0IGRjX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZQogCiB9CiAKLXN0YXRpYyB2b2lkIGRl c3RydWN0KHN0cnVjdCBkY19wbGFuZV9zdGF0ZSAqcGxhbmVfc3RhdGUpCitzdGF0aWMgdm9pZCBk Y19wbGFuZV9kZXN0cnVjdChzdHJ1Y3QgZGNfcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlKQogewog CWlmIChwbGFuZV9zdGF0ZS0+Z2FtbWFfY29ycmVjdGlvbiAhPSBOVUxMKSB7CiAJCWRjX2dhbW1h X3JlbGVhc2UoJnBsYW5lX3N0YXRlLT5nYW1tYV9jb3JyZWN0aW9uKTsKQEAgLTExNyw3ICsxMTcs NyBAQCBzdHJ1Y3QgZGNfcGxhbmVfc3RhdGUgKmRjX2NyZWF0ZV9wbGFuZV9zdGF0ZShzdHJ1Y3Qg ZGMgKmRjKQogCQlyZXR1cm4gTlVMTDsKIAogCWtyZWZfaW5pdCgmcGxhbmVfc3RhdGUtPnJlZmNv dW50KTsKLQljb25zdHJ1Y3QoY29yZV9kYy0+Y3R4LCBwbGFuZV9zdGF0ZSk7CisJZGNfcGxhbmVf Y29uc3RydWN0KGNvcmVfZGMtPmN0eCwgcGxhbmVfc3RhdGUpOwogCiAJcmV0dXJuIHBsYW5lX3N0 YXRlOwogfQpAQCAtMTg3LDcgKzE4Nyw3IEBAIHZvaWQgZGNfcGxhbmVfc3RhdGVfcmV0YWluKHN0 cnVjdCBkY19wbGFuZV9zdGF0ZSAqcGxhbmVfc3RhdGUpCiBzdGF0aWMgdm9pZCBkY19wbGFuZV9z dGF0ZV9mcmVlKHN0cnVjdCBrcmVmICprcmVmKQogewogCXN0cnVjdCBkY19wbGFuZV9zdGF0ZSAq cGxhbmVfc3RhdGUgPSBjb250YWluZXJfb2Yoa3JlZiwgc3RydWN0IGRjX3BsYW5lX3N0YXRlLCBy ZWZjb3VudCk7Ci0JZGVzdHJ1Y3QocGxhbmVfc3RhdGUpOworCWRjX3BsYW5lX2Rlc3RydWN0KHBs YW5lX3N0YXRlKTsKIAlrdmZyZWUocGxhbmVfc3RhdGUpOwogfQogCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNlMTAwL2RjZTEwMF9yZXNvdXJjZS5jIGIvZHJp dmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjZTEwMC9kY2UxMDBfcmVzb3VyY2UuYwppbmRl eCBhNWUxMjJjNzIxZWMuLjhmNzhiZjlhYmJjYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2FtZC9kaXNwbGF5L2RjL2RjZTEwMC9kY2UxMDBfcmVzb3VyY2UuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNlMTAwL2RjZTEwMF9yZXNvdXJjZS5jCkBAIC03MjUsNyAr NzI1LDcgQEAgdm9pZCBkY2UxMDBfY2xvY2tfc291cmNlX2Rlc3Ryb3koc3RydWN0IGNsb2NrX3Nv dXJjZSAqKmNsa19zcmMpCiAJKmNsa19zcmMgPSBOVUxMOwogfQogCi1zdGF0aWMgdm9pZCBkZXN0 cnVjdChzdHJ1Y3QgZGNlMTEwX3Jlc291cmNlX3Bvb2wgKnBvb2wpCitzdGF0aWMgdm9pZCBkY2Ux MDBfcmVzb3VyY2VfZGVzdHJ1Y3Qoc3RydWN0IGRjZTExMF9yZXNvdXJjZV9wb29sICpwb29sKQog ewogCXVuc2lnbmVkIGludCBpOwogCkBAIC04ODUsNyArODg1LDcgQEAgc3RhdGljIHZvaWQgZGNl MTAwX2Rlc3Ryb3lfcmVzb3VyY2VfcG9vbChzdHJ1Y3QgcmVzb3VyY2VfcG9vbCAqKnBvb2wpCiB7 CiAJc3RydWN0IGRjZTExMF9yZXNvdXJjZV9wb29sICpkY2UxMTBfcG9vbCA9IFRPX0RDRTExMF9S RVNfUE9PTCgqcG9vbCk7CiAKLQlkZXN0cnVjdChkY2UxMTBfcG9vbCk7CisJZGNlMTAwX3Jlc291 cmNlX2Rlc3RydWN0KGRjZTExMF9wb29sKTsKIAlrZnJlZShkY2UxMTBfcG9vbCk7CiAJKnBvb2wg PSBOVUxMOwogfQpAQCAtOTUwLDcgKzk1MCw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcmVzb3Vy Y2VfZnVuY3MgZGNlMTAwX3Jlc19wb29sX2Z1bmNzID0gewogCS5maW5kX2ZpcnN0X2ZyZWVfbWF0 Y2hfc3RyZWFtX2VuY19mb3JfbGluayA9IGRjZTEwMF9maW5kX2ZpcnN0X2ZyZWVfbWF0Y2hfc3Ry ZWFtX2VuY19mb3JfbGluawogfTsKIAotc3RhdGljIGJvb2wgY29uc3RydWN0KAorc3RhdGljIGJv b2wgZGNlMTAwX3Jlc291cmNlX2NvbnN0cnVjdCgKIAl1aW50OF90IG51bV92aXJ0dWFsX2xpbmtz LAogCXN0cnVjdCBkYyAgKmRjLAogCXN0cnVjdCBkY2UxMTBfcmVzb3VyY2VfcG9vbCAqcG9vbCkK QEAgLTExMjIsNyArMTEyMiw3IEBAIHN0YXRpYyBib29sIGNvbnN0cnVjdCgKIAlyZXR1cm4gdHJ1 ZTsKIAogcmVzX2NyZWF0ZV9mYWlsOgotCWRlc3RydWN0KHBvb2wpOworCWRjZTEwMF9yZXNvdXJj ZV9kZXN0cnVjdChwb29sKTsKIAogCXJldHVybiBmYWxzZTsKIH0KQEAgLTExMzcsNyArMTEzNyw3 IEBAIHN0cnVjdCByZXNvdXJjZV9wb29sICpkY2UxMDBfY3JlYXRlX3Jlc291cmNlX3Bvb2woCiAJ aWYgKCFwb29sKQogCQlyZXR1cm4gTlVMTDsKIAotCWlmIChjb25zdHJ1Y3QobnVtX3ZpcnR1YWxf bGlua3MsIGRjLCBwb29sKSkKKwlpZiAoZGNlMTAwX3Jlc291cmNlX2NvbnN0cnVjdChudW1fdmly dHVhbF9saW5rcywgZGMsIHBvb2wpKQogCQlyZXR1cm4gJnBvb2wtPmJhc2U7CiAKIAlrZnJlZShw b29sKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY2UxMTAv ZGNlMTEwX3Jlc291cmNlLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNlMTEw L2RjZTExMF9yZXNvdXJjZS5jCmluZGV4IDgzYTRkYmY2ZDc2ZS4uYTUzNWUyY2RhNjk0IDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNlMTEwL2RjZTExMF9yZXNv dXJjZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY2UxMTAvZGNlMTEw X3Jlc291cmNlLmMKQEAgLTc4Miw3ICs3ODIsNyBAQCB2b2lkIGRjZTExMF9jbG9ja19zb3VyY2Vf ZGVzdHJveShzdHJ1Y3QgY2xvY2tfc291cmNlICoqY2xrX3NyYykKIAkqY2xrX3NyYyA9IE5VTEw7 CiB9CiAKLXN0YXRpYyB2b2lkIGRlc3RydWN0KHN0cnVjdCBkY2UxMTBfcmVzb3VyY2VfcG9vbCAq cG9vbCkKK3N0YXRpYyB2b2lkIGRjZTExMF9yZXNvdXJjZV9kZXN0cnVjdChzdHJ1Y3QgZGNlMTEw X3Jlc291cmNlX3Bvb2wgKnBvb2wpCiB7CiAJdW5zaWduZWQgaW50IGk7CiAKQEAgLTExNjEsNyAr MTE2MSw3IEBAIHN0YXRpYyB2b2lkIGRjZTExMF9kZXN0cm95X3Jlc291cmNlX3Bvb2woc3RydWN0 IHJlc291cmNlX3Bvb2wgKipwb29sKQogewogCXN0cnVjdCBkY2UxMTBfcmVzb3VyY2VfcG9vbCAq ZGNlMTEwX3Bvb2wgPSBUT19EQ0UxMTBfUkVTX1BPT0woKnBvb2wpOwogCi0JZGVzdHJ1Y3QoZGNl MTEwX3Bvb2wpOworCWRjZTExMF9yZXNvdXJjZV9kZXN0cnVjdChkY2UxMTBfcG9vbCk7CiAJa2Zy ZWUoZGNlMTEwX3Bvb2wpOwogCSpwb29sID0gTlVMTDsKIH0KQEAgLTEzMTMsNyArMTMxMyw3IEBA IGNvbnN0IHN0cnVjdCByZXNvdXJjZV9jYXBzICpkY2UxMTBfcmVzb3VyY2VfY2FwKAogCQlyZXR1 cm4gJmNhcnJpem9fcmVzb3VyY2VfY2FwOwogfQogCi1zdGF0aWMgYm9vbCBjb25zdHJ1Y3QoCitz dGF0aWMgYm9vbCBkY2UxMTBfcmVzb3VyY2VfY29uc3RydWN0KAogCXVpbnQ4X3QgbnVtX3ZpcnR1 YWxfbGlua3MsCiAJc3RydWN0IGRjICpkYywKIAlzdHJ1Y3QgZGNlMTEwX3Jlc291cmNlX3Bvb2wg KnBvb2wsCkBAIC0xNDkyLDcgKzE0OTIsNyBAQCBzdGF0aWMgYm9vbCBjb25zdHJ1Y3QoCiAJcmV0 dXJuIHRydWU7CiAKIHJlc19jcmVhdGVfZmFpbDoKLQlkZXN0cnVjdChwb29sKTsKKwlkY2UxMTBf cmVzb3VyY2VfZGVzdHJ1Y3QocG9vbCk7CiAJcmV0dXJuIGZhbHNlOwogfQogCkBAIC0xNTA3LDcg KzE1MDcsNyBAQCBzdHJ1Y3QgcmVzb3VyY2VfcG9vbCAqZGNlMTEwX2NyZWF0ZV9yZXNvdXJjZV9w b29sKAogCWlmICghcG9vbCkKIAkJcmV0dXJuIE5VTEw7CiAKLQlpZiAoY29uc3RydWN0KG51bV92 aXJ0dWFsX2xpbmtzLCBkYywgcG9vbCwgYXNpY19pZCkpCisJaWYgKGRjZTExMF9yZXNvdXJjZV9j b25zdHJ1Y3QobnVtX3ZpcnR1YWxfbGlua3MsIGRjLCBwb29sLCBhc2ljX2lkKSkKIAkJcmV0dXJu ICZwb29sLT5iYXNlOwogCiAJa2ZyZWUocG9vbCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vYW1kL2Rpc3BsYXkvZGMvZGNlMTEyL2RjZTExMl9yZXNvdXJjZS5jIGIvZHJpdmVycy9ncHUv ZHJtL2FtZC9kaXNwbGF5L2RjL2RjZTExMi9kY2UxMTJfcmVzb3VyY2UuYwppbmRleCA5N2RjYzVk MDg2MmIuLjcwMGFkOGIzZTU0YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNw bGF5L2RjL2RjZTExMi9kY2UxMTJfcmVzb3VyY2UuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1k L2Rpc3BsYXkvZGMvZGNlMTEyL2RjZTExMl9yZXNvdXJjZS5jCkBAIC03NDQsNyArNzQ0LDcgQEAg dm9pZCBkY2UxMTJfY2xvY2tfc291cmNlX2Rlc3Ryb3koc3RydWN0IGNsb2NrX3NvdXJjZSAqKmNs a19zcmMpCiAJKmNsa19zcmMgPSBOVUxMOwogfQogCi1zdGF0aWMgdm9pZCBkZXN0cnVjdChzdHJ1 Y3QgZGNlMTEwX3Jlc291cmNlX3Bvb2wgKnBvb2wpCitzdGF0aWMgdm9pZCBkY2UxMTJfcmVzb3Vy Y2VfZGVzdHJ1Y3Qoc3RydWN0IGRjZTExMF9yZXNvdXJjZV9wb29sICpwb29sKQogewogCXVuc2ln bmVkIGludCBpOwogCkBAIC0xMDEzLDcgKzEwMTMsNyBAQCBzdGF0aWMgdm9pZCBkY2UxMTJfZGVz dHJveV9yZXNvdXJjZV9wb29sKHN0cnVjdCByZXNvdXJjZV9wb29sICoqcG9vbCkKIHsKIAlzdHJ1 Y3QgZGNlMTEwX3Jlc291cmNlX3Bvb2wgKmRjZTExMF9wb29sID0gVE9fRENFMTEwX1JFU19QT09M KCpwb29sKTsKIAotCWRlc3RydWN0KGRjZTExMF9wb29sKTsKKwlkY2UxMTJfcmVzb3VyY2VfZGVz dHJ1Y3QoZGNlMTEwX3Bvb2wpOwogCWtmcmVlKGRjZTExMF9wb29sKTsKIAkqcG9vbCA9IE5VTEw7 CiB9CkBAIC0xMTg2LDcgKzExODYsNyBAQCBjb25zdCBzdHJ1Y3QgcmVzb3VyY2VfY2FwcyAqZGNl MTEyX3Jlc291cmNlX2NhcCgKIAkJcmV0dXJuICZwb2xhcmlzXzEwX3Jlc291cmNlX2NhcDsKIH0K IAotc3RhdGljIGJvb2wgY29uc3RydWN0KAorc3RhdGljIGJvb2wgZGNlMTEyX3Jlc291cmNlX2Nv bnN0cnVjdCgKIAl1aW50OF90IG51bV92aXJ0dWFsX2xpbmtzLAogCXN0cnVjdCBkYyAqZGMsCiAJ c3RydWN0IGRjZTExMF9yZXNvdXJjZV9wb29sICpwb29sKQpAQCAtMTM3Miw3ICsxMzcyLDcgQEAg c3RhdGljIGJvb2wgY29uc3RydWN0KAogCXJldHVybiB0cnVlOwogCiByZXNfY3JlYXRlX2ZhaWw6 Ci0JZGVzdHJ1Y3QocG9vbCk7CisJZGNlMTEyX3Jlc291cmNlX2Rlc3RydWN0KHBvb2wpOwogCXJl dHVybiBmYWxzZTsKIH0KIApAQCAtMTM4Niw3ICsxMzg2LDcgQEAgc3RydWN0IHJlc291cmNlX3Bv b2wgKmRjZTExMl9jcmVhdGVfcmVzb3VyY2VfcG9vbCgKIAlpZiAoIXBvb2wpCiAJCXJldHVybiBO VUxMOwogCi0JaWYgKGNvbnN0cnVjdChudW1fdmlydHVhbF9saW5rcywgZGMsIHBvb2wpKQorCWlm IChkY2UxMTJfcmVzb3VyY2VfY29uc3RydWN0KG51bV92aXJ0dWFsX2xpbmtzLCBkYywgcG9vbCkp CiAJCXJldHVybiAmcG9vbC0+YmFzZTsKIAogCWtmcmVlKHBvb2wpOwpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjZTEyMC9kY2UxMjBfcmVzb3VyY2UuYyBiL2Ry aXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY2UxMjAvZGNlMTIwX3Jlc291cmNlLmMKaW5k ZXggNjM1NDNmNjkxOGZmLi4zMDViYjA4NDE1NjMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvZGlzcGxheS9kYy9kY2UxMjAvZGNlMTIwX3Jlc291cmNlLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjZTEyMC9kY2UxMjBfcmVzb3VyY2UuYwpAQCAtNTg3LDcg KzU4Nyw3IEBAIHN0YXRpYyB2b2lkIGRjZTEyMF90cmFuc2Zvcm1fZGVzdHJveShzdHJ1Y3QgdHJh bnNmb3JtICoqeGZtKQogCSp4Zm0gPSBOVUxMOwogfQogCi1zdGF0aWMgdm9pZCBkZXN0cnVjdChz dHJ1Y3QgZGNlMTEwX3Jlc291cmNlX3Bvb2wgKnBvb2wpCitzdGF0aWMgdm9pZCBkY2UxMjBfcmVz b3VyY2VfZGVzdHJ1Y3Qoc3RydWN0IGRjZTExMF9yZXNvdXJjZV9wb29sICpwb29sKQogewogCXVu c2lnbmVkIGludCBpOwogCkBAIC04NzIsNyArODcyLDcgQEAgc3RhdGljIHZvaWQgZGNlMTIwX2Rl c3Ryb3lfcmVzb3VyY2VfcG9vbChzdHJ1Y3QgcmVzb3VyY2VfcG9vbCAqKnBvb2wpCiB7CiAJc3Ry dWN0IGRjZTExMF9yZXNvdXJjZV9wb29sICpkY2UxMTBfcG9vbCA9IFRPX0RDRTExMF9SRVNfUE9P TCgqcG9vbCk7CiAKLQlkZXN0cnVjdChkY2UxMTBfcG9vbCk7CisJZGNlMTIwX3Jlc291cmNlX2Rl c3RydWN0KGRjZTExMF9wb29sKTsKIAlrZnJlZShkY2UxMTBfcG9vbCk7CiAJKnBvb2wgPSBOVUxM OwogfQpAQCAtMTAyNCw3ICsxMDI0LDcgQEAgc3RhdGljIHVpbnQzMl90IHJlYWRfcGlwZV9mdXNl cyhzdHJ1Y3QgZGNfY29udGV4dCAqY3R4KQogCXJldHVybiB2YWx1ZTsKIH0KIAotc3RhdGljIGJv b2wgY29uc3RydWN0KAorc3RhdGljIGJvb2wgZGNlMTIwX3Jlc291cmNlX2NvbnN0cnVjdCgKIAl1 aW50OF90IG51bV92aXJ0dWFsX2xpbmtzLAogCXN0cnVjdCBkYyAqZGMsCiAJc3RydWN0IGRjZTEx MF9yZXNvdXJjZV9wb29sICpwb29sKQpAQCAtMTIzNyw3ICsxMjM3LDcgQEAgc3RhdGljIGJvb2wg Y29uc3RydWN0KAogY2xrX3NyY19jcmVhdGVfZmFpbDoKIHJlc19jcmVhdGVfZmFpbDoKIAotCWRl c3RydWN0KHBvb2wpOworCWRjZTEyMF9yZXNvdXJjZV9kZXN0cnVjdChwb29sKTsKIAogCXJldHVy biBmYWxzZTsKIH0KQEAgLTEyNTIsNyArMTI1Miw3IEBAIHN0cnVjdCByZXNvdXJjZV9wb29sICpk Y2UxMjBfY3JlYXRlX3Jlc291cmNlX3Bvb2woCiAJaWYgKCFwb29sKQogCQlyZXR1cm4gTlVMTDsK IAotCWlmIChjb25zdHJ1Y3QobnVtX3ZpcnR1YWxfbGlua3MsIGRjLCBwb29sKSkKKwlpZiAoZGNl MTIwX3Jlc291cmNlX2NvbnN0cnVjdChudW1fdmlydHVhbF9saW5rcywgZGMsIHBvb2wpKQogCQly ZXR1cm4gJnBvb2wtPmJhc2U7CiAKIAlrZnJlZShwb29sKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY2U4MC9kY2U4MF9yZXNvdXJjZS5jIGIvZHJpdmVycy9n cHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjZTgwL2RjZTgwX3Jlc291cmNlLmMKaW5kZXggM2U4ZDRi NDlmMjc5Li4yYWQ1YzI4YzZlNjYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlz cGxheS9kYy9kY2U4MC9kY2U4MF9yZXNvdXJjZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQv ZGlzcGxheS9kYy9kY2U4MC9kY2U4MF9yZXNvdXJjZS5jCkBAIC03NzMsNyArNzczLDcgQEAgc3Rh dGljIHN0cnVjdCBpbnB1dF9waXhlbF9wcm9jZXNzb3IgKmRjZTgwX2lwcF9jcmVhdGUoCiAJcmV0 dXJuICZpcHAtPmJhc2U7CiB9CiAKLXN0YXRpYyB2b2lkIGRlc3RydWN0KHN0cnVjdCBkY2UxMTBf cmVzb3VyY2VfcG9vbCAqcG9vbCkKK3N0YXRpYyB2b2lkIGRjZTgwX3Jlc291cmNlX2Rlc3RydWN0 KHN0cnVjdCBkY2UxMTBfcmVzb3VyY2VfcG9vbCAqcG9vbCkKIHsKIAl1bnNpZ25lZCBpbnQgaTsK IApAQCAtOTAxLDcgKzkwMSw3IEBAIHN0YXRpYyB2b2lkIGRjZTgwX2Rlc3Ryb3lfcmVzb3VyY2Vf cG9vbChzdHJ1Y3QgcmVzb3VyY2VfcG9vbCAqKnBvb2wpCiB7CiAJc3RydWN0IGRjZTExMF9yZXNv dXJjZV9wb29sICpkY2UxMTBfcG9vbCA9IFRPX0RDRTExMF9SRVNfUE9PTCgqcG9vbCk7CiAKLQlk ZXN0cnVjdChkY2UxMTBfcG9vbCk7CisJZGNlODBfcmVzb3VyY2VfZGVzdHJ1Y3QoZGNlMTEwX3Bv b2wpOwogCWtmcmVlKGRjZTExMF9wb29sKTsKIAkqcG9vbCA9IE5VTEw7CiB9CkBAIC0xMDkzLDcg KzEwOTMsNyBAQCBzdGF0aWMgYm9vbCBkY2U4MF9jb25zdHJ1Y3QoCiAJcmV0dXJuIHRydWU7CiAK IHJlc19jcmVhdGVfZmFpbDoKLQlkZXN0cnVjdChwb29sKTsKKwlkY2U4MF9yZXNvdXJjZV9kZXN0 cnVjdChwb29sKTsKIAlyZXR1cm4gZmFsc2U7CiB9CiAKQEAgLTEyOTAsNyArMTI5MCw3IEBAIHN0 YXRpYyBib29sIGRjZTgxX2NvbnN0cnVjdCgKIAlyZXR1cm4gdHJ1ZTsKIAogcmVzX2NyZWF0ZV9m YWlsOgotCWRlc3RydWN0KHBvb2wpOworCWRjZTgwX3Jlc291cmNlX2Rlc3RydWN0KHBvb2wpOwog CXJldHVybiBmYWxzZTsKIH0KIApAQCAtMTQ4Myw3ICsxNDgzLDcgQEAgc3RhdGljIGJvb2wgZGNl ODNfY29uc3RydWN0KAogCXJldHVybiB0cnVlOwogCiByZXNfY3JlYXRlX2ZhaWw6Ci0JZGVzdHJ1 Y3QocG9vbCk7CisJZGNlODBfcmVzb3VyY2VfZGVzdHJ1Y3QocG9vbCk7CiAJcmV0dXJuIGZhbHNl OwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNuMTAv ZGNuMTBfcmVzb3VyY2UuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY24xMC9k Y24xMF9yZXNvdXJjZS5jCmluZGV4IDE1NjQwYWVkZDY2NC4uNjAyNzY5ZTJmNGE3IDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNuMTAvZGNuMTBfcmVzb3VyY2Uu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNuMTAvZGNuMTBfcmVzb3Vy Y2UuYwpAQCAtOTE5LDcgKzkxOSw3IEBAIHN0YXRpYyBzdHJ1Y3QgcHBfc211X2Z1bmNzICpkY24x MF9wcF9zbXVfY3JlYXRlKHN0cnVjdCBkY19jb250ZXh0ICpjdHgpCiAJcmV0dXJuIHBwX3NtdTsK IH0KIAotc3RhdGljIHZvaWQgZGVzdHJ1Y3Qoc3RydWN0IGRjbjEwX3Jlc291cmNlX3Bvb2wgKnBv b2wpCitzdGF0aWMgdm9pZCBkY24xMF9yZXNvdXJjZV9kZXN0cnVjdChzdHJ1Y3QgZGNuMTBfcmVz b3VyY2VfcG9vbCAqcG9vbCkKIHsKIAl1bnNpZ25lZCBpbnQgaTsKIApAQCAtMTE2Niw3ICsxMTY2 LDcgQEAgc3RhdGljIHZvaWQgZGNuMTBfZGVzdHJveV9yZXNvdXJjZV9wb29sKHN0cnVjdCByZXNv dXJjZV9wb29sICoqcG9vbCkKIHsKIAlzdHJ1Y3QgZGNuMTBfcmVzb3VyY2VfcG9vbCAqZGNuMTBf cG9vbCA9IFRPX0RDTjEwX1JFU19QT09MKCpwb29sKTsKIAotCWRlc3RydWN0KGRjbjEwX3Bvb2wp OworCWRjbjEwX3Jlc291cmNlX2Rlc3RydWN0KGRjbjEwX3Bvb2wpOwogCWtmcmVlKGRjbjEwX3Bv b2wpOwogCSpwb29sID0gTlVMTDsKIH0KQEAgLTEzMDUsNyArMTMwNSw3IEBAIHN0YXRpYyB1aW50 MzJfdCByZWFkX3BpcGVfZnVzZXMoc3RydWN0IGRjX2NvbnRleHQgKmN0eCkKIAlyZXR1cm4gdmFs dWU7CiB9CiAKLXN0YXRpYyBib29sIGNvbnN0cnVjdCgKK3N0YXRpYyBib29sIGRjbjEwX3Jlc291 cmNlX2NvbnN0cnVjdCgKIAl1aW50OF90IG51bV92aXJ0dWFsX2xpbmtzLAogCXN0cnVjdCBkYyAq ZGMsCiAJc3RydWN0IGRjbjEwX3Jlc291cmNlX3Bvb2wgKnBvb2wpCkBAIC0xNTkyLDcgKzE1OTIs NyBAQCBzdGF0aWMgYm9vbCBjb25zdHJ1Y3QoCiAKIGZhaWw6CiAKLQlkZXN0cnVjdChwb29sKTsK KwlkY24xMF9yZXNvdXJjZV9kZXN0cnVjdChwb29sKTsKIAogCXJldHVybiBmYWxzZTsKIH0KQEAg LTE2MDcsNyArMTYwNyw3IEBAIHN0cnVjdCByZXNvdXJjZV9wb29sICpkY24xMF9jcmVhdGVfcmVz b3VyY2VfcG9vbCgKIAlpZiAoIXBvb2wpCiAJCXJldHVybiBOVUxMOwogCi0JaWYgKGNvbnN0cnVj dChpbml0X2RhdGEtPm51bV92aXJ0dWFsX2xpbmtzLCBkYywgcG9vbCkpCisJaWYgKGRjbjEwX3Jl c291cmNlX2NvbnN0cnVjdChpbml0X2RhdGEtPm51bV92aXJ0dWFsX2xpbmtzLCBkYywgcG9vbCkp CiAJCXJldHVybiAmcG9vbC0+YmFzZTsKIAogCWtmcmVlKHBvb2wpOwpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjbjIwL2RjbjIwX3Jlc291cmNlLmMgYi9kcml2 ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNuMjAvZGNuMjBfcmVzb3VyY2UuYwppbmRleCBm NjliNDVlZWI3NjYuLjM4MDU2ZTExMWM2MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2Ft ZC9kaXNwbGF5L2RjL2RjbjIwL2RjbjIwX3Jlc291cmNlLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2FtZC9kaXNwbGF5L2RjL2RjbjIwL2RjbjIwX3Jlc291cmNlLmMKQEAgLTEyMjYsNyArMTIyNiw3 IEBAIHZvaWQgZGNuMjBfZHNjX2Rlc3Ryb3koc3RydWN0IGRpc3BsYXlfc3RyZWFtX2NvbXByZXNz b3IgKipkc2MpCiB9CiAKIAotc3RhdGljIHZvaWQgZGVzdHJ1Y3Qoc3RydWN0IGRjbjIwX3Jlc291 cmNlX3Bvb2wgKnBvb2wpCitzdGF0aWMgdm9pZCBkY24yMF9yZXNvdXJjZV9kZXN0cnVjdChzdHJ1 Y3QgZGNuMjBfcmVzb3VyY2VfcG9vbCAqcG9vbCkKIHsKIAl1bnNpZ25lZCBpbnQgaTsKIApAQCAt Mjg4Niw3ICsyODg2LDcgQEAgc3RhdGljIHZvaWQgZGNuMjBfZGVzdHJveV9yZXNvdXJjZV9wb29s KHN0cnVjdCByZXNvdXJjZV9wb29sICoqcG9vbCkKIHsKIAlzdHJ1Y3QgZGNuMjBfcmVzb3VyY2Vf cG9vbCAqZGNuMjBfcG9vbCA9IFRPX0RDTjIwX1JFU19QT09MKCpwb29sKTsKIAotCWRlc3RydWN0 KGRjbjIwX3Bvb2wpOworCWRjbjIwX3Jlc291cmNlX2Rlc3RydWN0KGRjbjIwX3Bvb2wpOwogCWtm cmVlKGRjbjIwX3Bvb2wpOwogCSpwb29sID0gTlVMTDsKIH0KQEAgLTMzNDIsNyArMzM0Miw3IEBA IHN0YXRpYyBib29sIGluaXRfc29jX2JvdW5kaW5nX2JveChzdHJ1Y3QgZGMgKmRjLAogCXJldHVy biB0cnVlOwogfQogCi1zdGF0aWMgYm9vbCBjb25zdHJ1Y3QoCitzdGF0aWMgYm9vbCBkY24yMF9y ZXNvdXJjZV9jb25zdHJ1Y3QoCiAJdWludDhfdCBudW1fdmlydHVhbF9saW5rcywKIAlzdHJ1Y3Qg ZGMgKmRjLAogCXN0cnVjdCBkY24yMF9yZXNvdXJjZV9wb29sICpwb29sKQpAQCAtMzY1OSw3ICsz NjU5LDcgQEAgc3RhdGljIGJvb2wgY29uc3RydWN0KAogCiBjcmVhdGVfZmFpbDoKIAotCWRlc3Ry dWN0KHBvb2wpOworCWRjbjIwX3Jlc291cmNlX2Rlc3RydWN0KHBvb2wpOwogCiAJcmV0dXJuIGZh bHNlOwogfQpAQCAtMzY3NCw3ICszNjc0LDcgQEAgc3RydWN0IHJlc291cmNlX3Bvb2wgKmRjbjIw X2NyZWF0ZV9yZXNvdXJjZV9wb29sKAogCWlmICghcG9vbCkKIAkJcmV0dXJuIE5VTEw7CiAKLQlp ZiAoY29uc3RydWN0KGluaXRfZGF0YS0+bnVtX3ZpcnR1YWxfbGlua3MsIGRjLCBwb29sKSkKKwlp ZiAoZGNuMjBfcmVzb3VyY2VfY29uc3RydWN0KGluaXRfZGF0YS0+bnVtX3ZpcnR1YWxfbGlua3Ms IGRjLCBwb29sKSkKIAkJcmV0dXJuICZwb29sLT5iYXNlOwogCiAJQlJFQUtfVE9fREVCVUdHRVIo KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY24yMS9kY24y MV9yZXNvdXJjZS5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjbjIxL2RjbjIx X3Jlc291cmNlLmMKaW5kZXggOGU2OTM0NmZmMjdjLi4zZTcyMTVhNDY0YTYgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY24yMS9kY24yMV9yZXNvdXJjZS5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY24yMS9kY24yMV9yZXNvdXJjZS5j CkBAIC04NDQsNyArODQ0LDcgQEAgZW51bSBkY24yMF9jbGtfc3JjX2FycmF5X2lkIHsKIAlEQ04y MF9DTEtfU1JDX1RPVEFMX0RDTjIxCiB9OwogCi1zdGF0aWMgdm9pZCBkZXN0cnVjdChzdHJ1Y3Qg ZGNuMjFfcmVzb3VyY2VfcG9vbCAqcG9vbCkKK3N0YXRpYyB2b2lkIGRjbjIxX3Jlc291cmNlX2Rl c3RydWN0KHN0cnVjdCBkY24yMV9yZXNvdXJjZV9wb29sICpwb29sKQogewogCXVuc2lnbmVkIGlu dCBpOwogCkBAIC0xMTQ2LDcgKzExNDYsNyBAQCBzdGF0aWMgdm9pZCBkY24yMV9kZXN0cm95X3Jl c291cmNlX3Bvb2woc3RydWN0IHJlc291cmNlX3Bvb2wgKipwb29sKQogewogCXN0cnVjdCBkY24y MV9yZXNvdXJjZV9wb29sICpkY24yMV9wb29sID0gVE9fRENOMjFfUkVTX1BPT0woKnBvb2wpOwog Ci0JZGVzdHJ1Y3QoZGNuMjFfcG9vbCk7CisJZGNuMjFfcmVzb3VyY2VfZGVzdHJ1Y3QoZGNuMjFf cG9vbCk7CiAJa2ZyZWUoZGNuMjFfcG9vbCk7CiAJKnBvb2wgPSBOVUxMOwogfQpAQCAtMTYyNCw3 ICsxNjI0LDcgQEAgc3RhdGljIHN0cnVjdCByZXNvdXJjZV9mdW5jcyBkY24yMV9yZXNfcG9vbF9m dW5jcyA9IHsKIAkudXBkYXRlX2J3X2JvdW5kaW5nX2JveCA9IHVwZGF0ZV9id19ib3VuZGluZ19i b3gKIH07CiAKLXN0YXRpYyBib29sIGNvbnN0cnVjdCgKK3N0YXRpYyBib29sIGRjbjIxX3Jlc291 cmNlX2NvbnN0cnVjdCgKIAl1aW50OF90IG51bV92aXJ0dWFsX2xpbmtzLAogCXN0cnVjdCBkYyAq ZGMsCiAJc3RydWN0IGRjbjIxX3Jlc291cmNlX3Bvb2wgKnBvb2wpCkBAIC0xODc2LDcgKzE4NzYs NyBAQCBzdGF0aWMgYm9vbCBjb25zdHJ1Y3QoCiAKIGNyZWF0ZV9mYWlsOgogCi0JZGVzdHJ1Y3Qo cG9vbCk7CisJZGNuMjFfcmVzb3VyY2VfZGVzdHJ1Y3QocG9vbCk7CiAKIAlyZXR1cm4gZmFsc2U7 CiB9CkBAIC0xODkxLDcgKzE4OTEsNyBAQCBzdHJ1Y3QgcmVzb3VyY2VfcG9vbCAqZGNuMjFfY3Jl YXRlX3Jlc291cmNlX3Bvb2woCiAJaWYgKCFwb29sKQogCQlyZXR1cm4gTlVMTDsKIAotCWlmIChj b25zdHJ1Y3QoaW5pdF9kYXRhLT5udW1fdmlydHVhbF9saW5rcywgZGMsIHBvb2wpKQorCWlmIChk Y24yMV9yZXNvdXJjZV9jb25zdHJ1Y3QoaW5pdF9kYXRhLT5udW1fdmlydHVhbF9saW5rcywgZGMs IHBvb2wpKQogCQlyZXR1cm4gJnBvb2wtPmJhc2U7CiAKIAlCUkVBS19UT19ERUJVR0dFUigpOwpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2dwaW8vaHdfZGRjLmMg Yi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZ3Bpby9od19kZGMuYwppbmRleCBhOWFl ZTEzMzIzMzAuLjFhZTE1M2VhYjMxZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9k aXNwbGF5L2RjL2dwaW8vaHdfZGRjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5 L2RjL2dwaW8vaHdfZGRjLmMKQEAgLTQ4LDE4ICs0OCwxOCBAQAogCiBzdHJ1Y3QgZ3BpbzsKIAot c3RhdGljIHZvaWQgZGVzdHJ1Y3QoCitzdGF0aWMgdm9pZCBkYWxfaHdfZGRjX2Rlc3RydWN0KAog CXN0cnVjdCBod19kZGMgKnBpbikKIHsKIAlkYWxfaHdfZ3Bpb19kZXN0cnVjdCgmcGluLT5iYXNl KTsKIH0KIAotc3RhdGljIHZvaWQgZGVzdHJveSgKK3N0YXRpYyB2b2lkIGRhbF9od19kZGNfZGVz dHJveSgKIAlzdHJ1Y3QgaHdfZ3Bpb19waW4gKipwdHIpCiB7CiAJc3RydWN0IGh3X2RkYyAqcGlu ID0gSFdfRERDX0ZST01fQkFTRSgqcHRyKTsKIAotCWRlc3RydWN0KHBpbik7CisJZGFsX2h3X2Rk Y19kZXN0cnVjdChwaW4pOwogCiAJa2ZyZWUocGluKTsKIApAQCAtMjA3LDcgKzIwNyw3IEBAIHN0 YXRpYyBlbnVtIGdwaW9fcmVzdWx0IHNldF9jb25maWcoCiB9CiAKIHN0YXRpYyBjb25zdCBzdHJ1 Y3QgaHdfZ3Bpb19waW5fZnVuY3MgZnVuY3MgPSB7Ci0JLmRlc3Ryb3kgPSBkZXN0cm95LAorCS5k ZXN0cm95ID0gZGFsX2h3X2RkY19kZXN0cm95LAogCS5vcGVuID0gZGFsX2h3X2dwaW9fb3BlbiwK IAkuZ2V0X3ZhbHVlID0gZGFsX2h3X2dwaW9fZ2V0X3ZhbHVlLAogCS5zZXRfdmFsdWUgPSBkYWxf aHdfZ3Bpb19zZXRfdmFsdWUsCkBAIC0yMTYsNyArMjE2LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVj dCBod19ncGlvX3Bpbl9mdW5jcyBmdW5jcyA9IHsKIAkuY2xvc2UgPSBkYWxfaHdfZ3Bpb19jbG9z ZSwKIH07CiAKLXN0YXRpYyB2b2lkIGNvbnN0cnVjdCgKK3N0YXRpYyB2b2lkIGRhbF9od19kZGNf Y29uc3RydWN0KAogCXN0cnVjdCBod19kZGMgKmRkYywKIAllbnVtIGdwaW9faWQgaWQsCiAJdWlu dDMyX3QgZW4sCkBAIC0yNDMsNyArMjQzLDcgQEAgdm9pZCBkYWxfaHdfZGRjX2luaXQoCiAJCXJl dHVybjsKIAl9CiAKLQljb25zdHJ1Y3QoKmh3X2RkYywgaWQsIGVuLCBjdHgpOworCWRhbF9od19k ZGNfY29uc3RydWN0KCpod19kZGMsIGlkLCBlbiwgY3R4KTsKIH0KIAogc3RydWN0IGh3X2dwaW9f cGluICpkYWxfaHdfZGRjX2dldF9waW4oc3RydWN0IGdwaW8gKmdwaW8pCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZ3Bpby9od19nZW5lcmljLmMgYi9kcml2ZXJz L2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZ3Bpby9od19nZW5lcmljLmMKaW5kZXggNjliODk5NzQx ZjZkLi5mOWU4NDdlNjU1NWQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxh eS9kYy9ncGlvL2h3X2dlbmVyaWMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkv ZGMvZ3Bpby9od19nZW5lcmljLmMKQEAgLTQ2LDIyICs0NiwxMyBAQAogCiBzdHJ1Y3QgZ3BpbzsK IAotc3RhdGljIHZvaWQgZGFsX2h3X2dlbmVyaWNfY29uc3RydWN0KAotCXN0cnVjdCBod19nZW5l cmljICpwaW4sCi0JZW51bSBncGlvX2lkIGlkLAotCXVpbnQzMl90IGVuLAotCXN0cnVjdCBkY19j b250ZXh0ICpjdHgpCi17Ci0JZGFsX2h3X2dwaW9fY29uc3RydWN0KCZwaW4tPmJhc2UsIGlkLCBl biwgY3R4KTsKLX0KLQogc3RhdGljIHZvaWQgZGFsX2h3X2dlbmVyaWNfZGVzdHJ1Y3QoCiAJc3Ry dWN0IGh3X2dlbmVyaWMgKnBpbikKIHsKIAlkYWxfaHdfZ3Bpb19kZXN0cnVjdCgmcGluLT5iYXNl KTsKIH0KIAotc3RhdGljIHZvaWQgZGVzdHJveSgKK3N0YXRpYyB2b2lkIGRhbF9od19nZW5lcmlj X2Rlc3Ryb3koCiAJc3RydWN0IGh3X2dwaW9fcGluICoqcHRyKQogewogCXN0cnVjdCBod19nZW5l cmljICpnZW5lcmljID0gSFdfR0VORVJJQ19GUk9NX0JBU0UoKnB0cik7CkBAIC05MCw3ICs4MSw3 IEBAIHN0YXRpYyBlbnVtIGdwaW9fcmVzdWx0IHNldF9jb25maWcoCiB9CiAKIHN0YXRpYyBjb25z dCBzdHJ1Y3QgaHdfZ3Bpb19waW5fZnVuY3MgZnVuY3MgPSB7Ci0JLmRlc3Ryb3kgPSBkZXN0cm95 LAorCS5kZXN0cm95ID0gZGFsX2h3X2dlbmVyaWNfZGVzdHJveSwKIAkub3BlbiA9IGRhbF9od19n cGlvX29wZW4sCiAJLmdldF92YWx1ZSA9IGRhbF9od19ncGlvX2dldF92YWx1ZSwKIAkuc2V0X3Zh bHVlID0gZGFsX2h3X2dwaW9fc2V0X3ZhbHVlLApAQCAtOTksMTQgKzkwLDE0IEBAIHN0YXRpYyBj b25zdCBzdHJ1Y3QgaHdfZ3Bpb19waW5fZnVuY3MgZnVuY3MgPSB7CiAJLmNsb3NlID0gZGFsX2h3 X2dwaW9fY2xvc2UsCiB9OwogCi1zdGF0aWMgdm9pZCBjb25zdHJ1Y3QoCi0Jc3RydWN0IGh3X2dl bmVyaWMgKmdlbmVyaWMsCitzdGF0aWMgdm9pZCBkYWxfaHdfZ2VuZXJpY19jb25zdHJ1Y3QoCisJ c3RydWN0IGh3X2dlbmVyaWMgKnBpbiwKIAllbnVtIGdwaW9faWQgaWQsCiAJdWludDMyX3QgZW4s CiAJc3RydWN0IGRjX2NvbnRleHQgKmN0eCkKIHsKLQlkYWxfaHdfZ2VuZXJpY19jb25zdHJ1Y3Qo Z2VuZXJpYywgaWQsIGVuLCBjdHgpOwotCWdlbmVyaWMtPmJhc2UuYmFzZS5mdW5jcyA9ICZmdW5j czsKKwlkYWxfaHdfZ3Bpb19jb25zdHJ1Y3QoJnBpbi0+YmFzZSwgaWQsIGVuLCBjdHgpOworCXBp bi0+YmFzZS5iYXNlLmZ1bmNzID0gJmZ1bmNzOwogfQogCiB2b2lkIGRhbF9od19nZW5lcmljX2lu aXQoCkBAIC0xMjYsNyArMTE3LDcgQEAgdm9pZCBkYWxfaHdfZ2VuZXJpY19pbml0KAogCQlyZXR1 cm47CiAJfQogCi0JY29uc3RydWN0KCpod19nZW5lcmljLCBpZCwgZW4sIGN0eCk7CisJZGFsX2h3 X2dlbmVyaWNfY29uc3RydWN0KCpod19nZW5lcmljLCBpZCwgZW4sIGN0eCk7CiB9CiAKIApkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2dwaW8vaHdfaHBkLmMgYi9k cml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZ3Bpby9od19ocGQuYwppbmRleCAwMGM5YmNm NjYwYTMuLjY5MmYyOWRlNzc5NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNw bGF5L2RjL2dwaW8vaHdfaHBkLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2Rj L2dwaW8vaHdfaHBkLmMKQEAgLTQ2LDM0ICs0NiwxOCBAQAogCiBzdHJ1Y3QgZ3BpbzsKIAotc3Rh dGljIHZvaWQgZGFsX2h3X2hwZF9jb25zdHJ1Y3QoCi0Jc3RydWN0IGh3X2hwZCAqcGluLAotCWVu dW0gZ3Bpb19pZCBpZCwKLQl1aW50MzJfdCBlbiwKLQlzdHJ1Y3QgZGNfY29udGV4dCAqY3R4KQot ewotCWRhbF9od19ncGlvX2NvbnN0cnVjdCgmcGluLT5iYXNlLCBpZCwgZW4sIGN0eCk7Ci19Ci0K IHN0YXRpYyB2b2lkIGRhbF9od19ocGRfZGVzdHJ1Y3QoCiAJc3RydWN0IGh3X2hwZCAqcGluKQog ewogCWRhbF9od19ncGlvX2Rlc3RydWN0KCZwaW4tPmJhc2UpOwogfQogCi0KLXN0YXRpYyB2b2lk IGRlc3RydWN0KAotCXN0cnVjdCBod19ocGQgKmhwZCkKLXsKLQlkYWxfaHdfaHBkX2Rlc3RydWN0 KGhwZCk7Ci19Ci0KLXN0YXRpYyB2b2lkIGRlc3Ryb3koCitzdGF0aWMgdm9pZCBkYWxfaHdfaHBk X2Rlc3Ryb3koCiAJc3RydWN0IGh3X2dwaW9fcGluICoqcHRyKQogewogCXN0cnVjdCBod19ocGQg KmhwZCA9IEhXX0hQRF9GUk9NX0JBU0UoKnB0cik7CiAKLQlkZXN0cnVjdChocGQpOworCWRhbF9o d19ocGRfZGVzdHJ1Y3QoaHBkKTsKIAogCWtmcmVlKGhwZCk7CiAKQEAgLTEyMCw3ICsxMDQsNyBA QCBzdGF0aWMgZW51bSBncGlvX3Jlc3VsdCBzZXRfY29uZmlnKAogfQogCiBzdGF0aWMgY29uc3Qg c3RydWN0IGh3X2dwaW9fcGluX2Z1bmNzIGZ1bmNzID0gewotCS5kZXN0cm95ID0gZGVzdHJveSwK KwkuZGVzdHJveSA9IGRhbF9od19ocGRfZGVzdHJveSwKIAkub3BlbiA9IGRhbF9od19ncGlvX29w ZW4sCiAJLmdldF92YWx1ZSA9IGdldF92YWx1ZSwKIAkuc2V0X3ZhbHVlID0gZGFsX2h3X2dwaW9f c2V0X3ZhbHVlLApAQCAtMTI5LDE0ICsxMTMsMTQgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBod19n cGlvX3Bpbl9mdW5jcyBmdW5jcyA9IHsKIAkuY2xvc2UgPSBkYWxfaHdfZ3Bpb19jbG9zZSwKIH07 CiAKLXN0YXRpYyB2b2lkIGNvbnN0cnVjdCgKLQlzdHJ1Y3QgaHdfaHBkICpocGQsCitzdGF0aWMg dm9pZCBkYWxfaHdfaHBkX2NvbnN0cnVjdCgKKwlzdHJ1Y3QgaHdfaHBkICpwaW4sCiAJZW51bSBn cGlvX2lkIGlkLAogCXVpbnQzMl90IGVuLAogCXN0cnVjdCBkY19jb250ZXh0ICpjdHgpCiB7Ci0J ZGFsX2h3X2hwZF9jb25zdHJ1Y3QoaHBkLCBpZCwgZW4sIGN0eCk7Ci0JaHBkLT5iYXNlLmJhc2Uu ZnVuY3MgPSAmZnVuY3M7CisJZGFsX2h3X2dwaW9fY29uc3RydWN0KCZwaW4tPmJhc2UsIGlkLCBl biwgY3R4KTsKKwlwaW4tPmJhc2UuYmFzZS5mdW5jcyA9ICZmdW5jczsKIH0KIAogdm9pZCBkYWxf aHdfaHBkX2luaXQoCkBAIC0xNTYsNyArMTQwLDcgQEAgdm9pZCBkYWxfaHdfaHBkX2luaXQoCiAJ CXJldHVybjsKIAl9CiAKLQljb25zdHJ1Y3QoKmh3X2hwZCwgaWQsIGVuLCBjdHgpOworCWRhbF9o d19ocGRfY29uc3RydWN0KCpod19ocGQsIGlkLCBlbiwgY3R4KTsKIH0KIAogc3RydWN0IGh3X2dw aW9fcGluICpkYWxfaHdfaHBkX2dldF9waW4oc3RydWN0IGdwaW8gKmdwaW8pCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaXJxL2RjZTExMC9pcnFfc2VydmljZV9k Y2UxMTAuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pcnEvZGNlMTEwL2lycV9z ZXJ2aWNlX2RjZTExMC5jCmluZGV4IDFhNTgxYzQ2NDM0NS4uM2Q0NDYxYTcwZjdkIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaXJxL2RjZTExMC9pcnFfc2Vydmlj ZV9kY2UxMTAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaXJxL2RjZTEx MC9pcnFfc2VydmljZV9kY2UxMTAuYwpAQCAtNDAzLDcgKzQwMyw3IEBAIHN0YXRpYyBjb25zdCBz dHJ1Y3QgaXJxX3NlcnZpY2VfZnVuY3MgaXJxX3NlcnZpY2VfZnVuY3NfZGNlMTEwID0gewogCQku dG9fZGFsX2lycV9zb3VyY2UgPSB0b19kYWxfaXJxX3NvdXJjZV9kY2UxMTAKIH07CiAKLXN0YXRp YyB2b2lkIGNvbnN0cnVjdChzdHJ1Y3QgaXJxX3NlcnZpY2UgKmlycV9zZXJ2aWNlLAorc3RhdGlj IHZvaWQgZGNlMTEwX2lycV9jb25zdHJ1Y3Qoc3RydWN0IGlycV9zZXJ2aWNlICppcnFfc2Vydmlj ZSwKIAkJICAgICAgc3RydWN0IGlycV9zZXJ2aWNlX2luaXRfZGF0YSAqaW5pdF9kYXRhKQogewog CWRhbF9pcnFfc2VydmljZV9jb25zdHJ1Y3QoaXJxX3NlcnZpY2UsIGluaXRfZGF0YSk7CkBAIC00 MjEsNiArNDIxLDYgQEAgZGFsX2lycV9zZXJ2aWNlX2RjZTExMF9jcmVhdGUoc3RydWN0IGlycV9z ZXJ2aWNlX2luaXRfZGF0YSAqaW5pdF9kYXRhKQogCWlmICghaXJxX3NlcnZpY2UpCiAJCXJldHVy biBOVUxMOwogCi0JY29uc3RydWN0KGlycV9zZXJ2aWNlLCBpbml0X2RhdGEpOworCWRjZTExMF9p cnFfY29uc3RydWN0KGlycV9zZXJ2aWNlLCBpbml0X2RhdGEpOwogCXJldHVybiBpcnFfc2Vydmlj ZTsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pcnEvZGNl MTIwL2lycV9zZXJ2aWNlX2RjZTEyMC5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2Rj L2lycS9kY2UxMjAvaXJxX3NlcnZpY2VfZGNlMTIwLmMKaW5kZXggMTUzODAzMzZjYjUxLi4yZmU0 NzAzMzk1ZjMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pcnEv ZGNlMTIwL2lycV9zZXJ2aWNlX2RjZTEyMC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlz cGxheS9kYy9pcnEvZGNlMTIwL2lycV9zZXJ2aWNlX2RjZTEyMC5jCkBAIC0yNzMsNyArMjczLDcg QEAgc3RhdGljIGNvbnN0IHN0cnVjdCBpcnFfc2VydmljZV9mdW5jcyBpcnFfc2VydmljZV9mdW5j c19kY2UxMjAgPSB7CiAJCS50b19kYWxfaXJxX3NvdXJjZSA9IHRvX2RhbF9pcnFfc291cmNlX2Rj ZTExMAogfTsKIAotc3RhdGljIHZvaWQgY29uc3RydWN0KAorc3RhdGljIHZvaWQgZGNlMTIwX2ly cV9jb25zdHJ1Y3QoCiAJc3RydWN0IGlycV9zZXJ2aWNlICppcnFfc2VydmljZSwKIAlzdHJ1Y3Qg aXJxX3NlcnZpY2VfaW5pdF9kYXRhICppbml0X2RhdGEpCiB7CkBAIC0yOTIsNiArMjkyLDYgQEAg c3RydWN0IGlycV9zZXJ2aWNlICpkYWxfaXJxX3NlcnZpY2VfZGNlMTIwX2NyZWF0ZSgKIAlpZiAo IWlycV9zZXJ2aWNlKQogCQlyZXR1cm4gTlVMTDsKIAotCWNvbnN0cnVjdChpcnFfc2VydmljZSwg aW5pdF9kYXRhKTsKKwlkY2UxMjBfaXJxX2NvbnN0cnVjdChpcnFfc2VydmljZSwgaW5pdF9kYXRh KTsKIAlyZXR1cm4gaXJxX3NlcnZpY2U7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v YW1kL2Rpc3BsYXkvZGMvaXJxL2RjZTgwL2lycV9zZXJ2aWNlX2RjZTgwLmMgYi9kcml2ZXJzL2dw dS9kcm0vYW1kL2Rpc3BsYXkvZGMvaXJxL2RjZTgwL2lycV9zZXJ2aWNlX2RjZTgwLmMKaW5kZXgg MjgxZmVlOGFkMWU1Li4xN2U0MjZiODBhMDAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9h bWQvZGlzcGxheS9kYy9pcnEvZGNlODAvaXJxX3NlcnZpY2VfZGNlODAuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaXJxL2RjZTgwL2lycV9zZXJ2aWNlX2RjZTgwLmMKQEAg LTI4Myw3ICsyODMsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGlycV9zZXJ2aWNlX2Z1bmNzIGly cV9zZXJ2aWNlX2Z1bmNzX2RjZTgwID0gewogCQkudG9fZGFsX2lycV9zb3VyY2UgPSB0b19kYWxf aXJxX3NvdXJjZV9kY2UxMTAKIH07CiAKLXN0YXRpYyB2b2lkIGNvbnN0cnVjdCgKK3N0YXRpYyB2 b2lkIGRjZTgwX2lycV9jb25zdHJ1Y3QoCiAJc3RydWN0IGlycV9zZXJ2aWNlICppcnFfc2Vydmlj ZSwKIAlzdHJ1Y3QgaXJxX3NlcnZpY2VfaW5pdF9kYXRhICppbml0X2RhdGEpCiB7CkBAIC0zMDIs NyArMzAyLDcgQEAgc3RydWN0IGlycV9zZXJ2aWNlICpkYWxfaXJxX3NlcnZpY2VfZGNlODBfY3Jl YXRlKAogCWlmICghaXJxX3NlcnZpY2UpCiAJCXJldHVybiBOVUxMOwogCi0JY29uc3RydWN0KGly cV9zZXJ2aWNlLCBpbml0X2RhdGEpOworCWRjZTgwX2lycV9jb25zdHJ1Y3QoaXJxX3NlcnZpY2Us IGluaXRfZGF0YSk7CiAJcmV0dXJuIGlycV9zZXJ2aWNlOwogfQogCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaXJxL2RjbjEwL2lycV9zZXJ2aWNlX2RjbjEwLmMg Yi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaXJxL2RjbjEwL2lycV9zZXJ2aWNlX2Rj bjEwLmMKaW5kZXggY2M4ZTdkZWRjY2NlLi5mOTU2YjNiZGU2ODAgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pcnEvZGNuMTAvaXJxX3NlcnZpY2VfZGNuMTAuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaXJxL2RjbjEwL2lycV9zZXJ2aWNl X2RjbjEwLmMKQEAgLTM1NSw3ICszNTUsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGlycV9zZXJ2 aWNlX2Z1bmNzIGlycV9zZXJ2aWNlX2Z1bmNzX2RjbjEwID0gewogCQkudG9fZGFsX2lycV9zb3Vy Y2UgPSB0b19kYWxfaXJxX3NvdXJjZV9kY24xMAogfTsKIAotc3RhdGljIHZvaWQgY29uc3RydWN0 KAorc3RhdGljIHZvaWQgZGNuMTBfaXJxX2NvbnN0cnVjdCgKIAlzdHJ1Y3QgaXJxX3NlcnZpY2Ug KmlycV9zZXJ2aWNlLAogCXN0cnVjdCBpcnFfc2VydmljZV9pbml0X2RhdGEgKmluaXRfZGF0YSkK IHsKQEAgLTM3NCw2ICszNzQsNiBAQCBzdHJ1Y3QgaXJxX3NlcnZpY2UgKmRhbF9pcnFfc2Vydmlj ZV9kY24xMF9jcmVhdGUoCiAJaWYgKCFpcnFfc2VydmljZSkKIAkJcmV0dXJuIE5VTEw7CiAKLQlj b25zdHJ1Y3QoaXJxX3NlcnZpY2UsIGluaXRfZGF0YSk7CisJZGNuMTBfaXJxX2NvbnN0cnVjdChp cnFfc2VydmljZSwgaW5pdF9kYXRhKTsKIAlyZXR1cm4gaXJxX3NlcnZpY2U7CiB9CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaXJxL2RjbjIwL2lycV9zZXJ2aWNl X2RjbjIwLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaXJxL2RjbjIwL2lycV9z ZXJ2aWNlX2RjbjIwLmMKaW5kZXggNWRiMjliZjU4MmQzLi4yYTFmZWE1MDFmOGMgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pcnEvZGNuMjAvaXJxX3NlcnZpY2Vf ZGNuMjAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaXJxL2RjbjIwL2ly cV9zZXJ2aWNlX2RjbjIwLmMKQEAgLTM1OSw3ICszNTksNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0 IGlycV9zZXJ2aWNlX2Z1bmNzIGlycV9zZXJ2aWNlX2Z1bmNzX2RjbjIwID0gewogCQkudG9fZGFs X2lycV9zb3VyY2UgPSB0b19kYWxfaXJxX3NvdXJjZV9kY24yMAogfTsKIAotc3RhdGljIHZvaWQg Y29uc3RydWN0KAorc3RhdGljIHZvaWQgZGNuMjBfaXJxX2NvbnN0cnVjdCgKIAlzdHJ1Y3QgaXJx X3NlcnZpY2UgKmlycV9zZXJ2aWNlLAogCXN0cnVjdCBpcnFfc2VydmljZV9pbml0X2RhdGEgKmlu aXRfZGF0YSkKIHsKQEAgLTM3OCw2ICszNzgsNiBAQCBzdHJ1Y3QgaXJxX3NlcnZpY2UgKmRhbF9p cnFfc2VydmljZV9kY24yMF9jcmVhdGUoCiAJaWYgKCFpcnFfc2VydmljZSkKIAkJcmV0dXJuIE5V TEw7CiAKLQljb25zdHJ1Y3QoaXJxX3NlcnZpY2UsIGluaXRfZGF0YSk7CisJZGNuMjBfaXJxX2Nv bnN0cnVjdChpcnFfc2VydmljZSwgaW5pdF9kYXRhKTsKIAlyZXR1cm4gaXJxX3NlcnZpY2U7CiB9 CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaXJxL2RjbjIxL2ly cV9zZXJ2aWNlX2RjbjIxLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaXJxL2Rj bjIxL2lycV9zZXJ2aWNlX2RjbjIxLmMKaW5kZXggY2JlNzgxODUyOWJiLi4xYjk3MTI2NTQxOGIg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pcnEvZGNuMjEvaXJx X3NlcnZpY2VfZGNuMjEuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaXJx L2RjbjIxL2lycV9zZXJ2aWNlX2RjbjIxLmMKQEAgLTM1MCw3ICszNTAsNyBAQCBzdGF0aWMgY29u c3Qgc3RydWN0IGlycV9zZXJ2aWNlX2Z1bmNzIGlycV9zZXJ2aWNlX2Z1bmNzX2RjbjIxID0gewog CQkudG9fZGFsX2lycV9zb3VyY2UgPSB0b19kYWxfaXJxX3NvdXJjZV9kY24yMQogfTsKIAotc3Rh dGljIHZvaWQgY29uc3RydWN0KAorc3RhdGljIHZvaWQgZGNuMjFfaXJxX2NvbnN0cnVjdCgKIAlz dHJ1Y3QgaXJxX3NlcnZpY2UgKmlycV9zZXJ2aWNlLAogCXN0cnVjdCBpcnFfc2VydmljZV9pbml0 X2RhdGEgKmluaXRfZGF0YSkKIHsKQEAgLTM2OSw2ICszNjksNiBAQCBzdHJ1Y3QgaXJxX3NlcnZp Y2UgKmRhbF9pcnFfc2VydmljZV9kY24yMV9jcmVhdGUoCiAJaWYgKCFpcnFfc2VydmljZSkKIAkJ cmV0dXJuIE5VTEw7CiAKLQljb25zdHJ1Y3QoaXJxX3NlcnZpY2UsIGluaXRfZGF0YSk7CisJZGNu MjFfaXJxX2NvbnN0cnVjdChpcnFfc2VydmljZSwgaW5pdF9kYXRhKTsKIAlyZXR1cm4gaXJxX3Nl cnZpY2U7CiB9Ci0tIAoyLjI0LjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCmFtZC1nZnggbWFpbGluZyBsaXN0CmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1k LWdmeA==