From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Airlie Subject: [PATCH] amdgpu/dc: remove pointless returns in the i2caux constructor paths. (v2) Date: Fri, 29 Sep 2017 15:44:54 +1000 Message-ID: <20170929054454.24182-1-airlied@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: 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 RnJvbTogRGF2ZSBBaXJsaWUgPGFpcmxpZWRAcmVkaGF0LmNvbT4KClRoZXJlIHdhcyBsb3RzIG9m IHJldHVybiB0cnVlLCBhbmQgZXJyb3IgY2hlY2tpbmcgdGhhdCB3YXMgbmV2ZXIgdXNlZAppbiB0 aGVzZSBwYXRocy4KCkp1c3QgcmVtb3ZlIGl0IGFsbC4KCnYyOiBJIG1pc3NlZCBvbmUgcmV0dXJu IHRydWUuCgpTaWduZWQtb2ZmLWJ5OiBEYXZlIEFpcmxpZSA8YWlybGllZEByZWRoYXQuY29tPgot LS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pMmNhdXgvYXV4X2VuZ2luZS5jIHwg IDYgKystLQogZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2kyY2F1eC9hdXhfZW5naW5l LmggfCAgMiArLQogLi4uL2FtZC9kaXNwbGF5L2RjL2kyY2F1eC9kY2UxMDAvaTJjYXV4X2RjZTEw MC5jICAgfCAyMSArKysrKy0tLS0tLS0tLQogLi4uL2Rpc3BsYXkvZGMvaTJjYXV4L2RjZTExMC9h dXhfZW5naW5lX2RjZTExMC5jICAgfCAyMCArKystLS0tLS0tLS0tLQogLi4uL2RjL2kyY2F1eC9k Y2UxMTAvaTJjX2h3X2VuZ2luZV9kY2UxMTAuYyAgICAgICAgfCAyNCArKysrKystLS0tLS0tLS0t CiAuLi4vZGMvaTJjYXV4L2RjZTExMC9pMmNfaHdfZW5naW5lX2RjZTExMC5oICAgICAgICB8ICA0 IC0tLQogLi4uL2RjL2kyY2F1eC9kY2UxMTAvaTJjX3N3X2VuZ2luZV9kY2UxMTAuYyAgICAgICAg fCAyMCArKystLS0tLS0tLS0tLQogLi4uL2FtZC9kaXNwbGF5L2RjL2kyY2F1eC9kY2UxMTAvaTJj YXV4X2RjZTExMC5jICAgfCAzMCArKysrKystLS0tLS0tLS0tLS0tLQogLi4uL2FtZC9kaXNwbGF5 L2RjL2kyY2F1eC9kY2UxMTAvaTJjYXV4X2RjZTExMC5oICAgfCAgMiArLQogLi4uL2FtZC9kaXNw bGF5L2RjL2kyY2F1eC9kY2UxMTIvaTJjYXV4X2RjZTExMi5jICAgfCAzMCArKysrKystLS0tLS0t LS0tLS0tLQogLi4uL2FtZC9kaXNwbGF5L2RjL2kyY2F1eC9kY2UxMjAvaTJjYXV4X2RjZTEyMC5j ICAgfCAyMSArKysrKy0tLS0tLS0tLQogLi4uL2Rpc3BsYXkvZGMvaTJjYXV4L2RjZTgwL2kyY19o d19lbmdpbmVfZGNlODAuYyAgfCAzMiArKysrKysrKy0tLS0tLS0tLS0tLS0tCiAuLi4vZGlzcGxh eS9kYy9pMmNhdXgvZGNlODAvaTJjX3N3X2VuZ2luZV9kY2U4MC5jICB8IDE5ICsrKy0tLS0tLS0t LS0KIC4uLi9kcm0vYW1kL2Rpc3BsYXkvZGMvaTJjYXV4L2RjZTgwL2kyY2F1eF9kY2U4MC5jIHwg MTkgKysrLS0tLS0tLS0tLQogLi4uL2RybS9hbWQvZGlzcGxheS9kYy9pMmNhdXgvZGNuMTAvaTJj YXV4X2RjbjEwLmMgfCAyMSArKysrKy0tLS0tLS0tLQogLi4uL2Rpc3BsYXkvZGMvaTJjYXV4L2Rp YWdub3N0aWNzL2kyY2F1eF9kaWFnLmMgICAgfCAyMCArKystLS0tLS0tLS0tLQogZHJpdmVycy9n cHUvZHJtL2FtZC9kaXNwbGF5L2RjL2kyY2F1eC9lbmdpbmUuaCAgICAgfCAgMiArLQogLi4uL2dw dS9kcm0vYW1kL2Rpc3BsYXkvZGMvaTJjYXV4L2VuZ2luZV9iYXNlLmMgICAgfCAgMyArLQogZHJp dmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2kyY2F1eC9pMmNfZW5naW5lLmMgfCAgNyArKy0t LQogZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2kyY2F1eC9pMmNfZW5naW5lLmggfCAg MiArLQogLi4uL2FtZC9kaXNwbGF5L2RjL2kyY2F1eC9pMmNfZ2VuZXJpY19od19lbmdpbmUuYyAg fCAgNiArKy0tCiAuLi4vYW1kL2Rpc3BsYXkvZGMvaTJjYXV4L2kyY19nZW5lcmljX2h3X2VuZ2lu ZS5oICB8ICAyICstCiAuLi4vZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pMmNhdXgvaTJjX2h3X2Vu Z2luZS5jICB8ICA2ICsrLS0KIC4uLi9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2kyY2F1eC9pMmNf aHdfZW5naW5lLmggIHwgIDIgKy0KIC4uLi9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2kyY2F1eC9p MmNfc3dfZW5naW5lLmMgIHwgMTcgKysrLS0tLS0tLS0tCiAuLi4vZ3B1L2RybS9hbWQvZGlzcGxh eS9kYy9pMmNhdXgvaTJjX3N3X2VuZ2luZS5oICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vYW1k L2Rpc3BsYXkvZGMvaTJjYXV4L2kyY2F1eC5jICAgICB8ICA0ICstLQogZHJpdmVycy9ncHUvZHJt L2FtZC9kaXNwbGF5L2RjL2kyY2F1eC9pMmNhdXguaCAgICAgfCAgMiArLQogMjggZmlsZXMgY2hh bmdlZCwgMTAwIGluc2VydGlvbnMoKyksIDI0NiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaTJjYXV4L2F1eF9lbmdpbmUuYyBiL2RyaXZl cnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pMmNhdXgvYXV4X2VuZ2luZS5jCmluZGV4IDNjOTYw OGMuLmZjN2E3ZDQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9p MmNhdXgvYXV4X2VuZ2luZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9p MmNhdXgvYXV4X2VuZ2luZS5jCkBAIC01NTUsMTUgKzU1NSwxMyBAQCBib29sIGRhbF9hdXhfZW5n aW5lX3N1Ym1pdF9yZXF1ZXN0KAogCXJldHVybiByZXN1bHQ7CiB9CiAKLWJvb2wgZGFsX2F1eF9l bmdpbmVfY29uc3RydWN0KAordm9pZCBkYWxfYXV4X2VuZ2luZV9jb25zdHJ1Y3QoCiAJc3RydWN0 IGF1eF9lbmdpbmUgKmVuZ2luZSwKIAlzdHJ1Y3QgZGNfY29udGV4dCAqY3R4KQogewotCWlmICgh ZGFsX2kyY2F1eF9jb25zdHJ1Y3RfZW5naW5lKCZlbmdpbmUtPmJhc2UsIGN0eCkpCi0JCXJldHVy biBmYWxzZTsKKwlkYWxfaTJjYXV4X2NvbnN0cnVjdF9lbmdpbmUoJmVuZ2luZS0+YmFzZSwgY3R4 KTsKIAllbmdpbmUtPmRlbGF5ID0gMDsKIAllbmdpbmUtPm1heF9kZWZlcl93cml0ZV9yZXRyeSA9 IDA7Ci0JcmV0dXJuIHRydWU7CiB9CiAKIHZvaWQgZGFsX2F1eF9lbmdpbmVfZGVzdHJ1Y3QoCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaTJjYXV4L2F1eF9lbmdp bmUuaCBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pMmNhdXgvYXV4X2VuZ2luZS5o CmluZGV4IDQwYjIwMjguLjhlNzEzMjQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQv ZGlzcGxheS9kYy9pMmNhdXgvYXV4X2VuZ2luZS5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQv ZGlzcGxheS9kYy9pMmNhdXgvYXV4X2VuZ2luZS5oCkBAIC0xMDAsNyArMTAwLDcgQEAgc3RydWN0 IGF1eF9lbmdpbmUgewogCWJvb2wgYWNxdWlyZV9yZXNldDsKIH07CiAKLWJvb2wgZGFsX2F1eF9l bmdpbmVfY29uc3RydWN0KAordm9pZCBkYWxfYXV4X2VuZ2luZV9jb25zdHJ1Y3QoCiAJc3RydWN0 IGF1eF9lbmdpbmUgKmVuZ2luZSwKIAlzdHJ1Y3QgZGNfY29udGV4dCAqY3R4KTsKIApkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2kyY2F1eC9kY2UxMDAvaTJjYXV4 X2RjZTEwMC5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2kyY2F1eC9kY2UxMDAv aTJjYXV4X2RjZTEwMC5jCmluZGV4IGM0NWEyZWUuLmU4ZDM3ODEgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pMmNhdXgvZGNlMTAwL2kyY2F1eF9kY2UxMDAuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaTJjYXV4L2RjZTEwMC9pMmNhdXhf ZGNlMTAwLmMKQEAgLTk1LDE4ICs5NSwxMSBAQCBzdHJ1Y3QgaTJjYXV4ICpkYWxfaTJjYXV4X2Rj ZTEwMF9jcmVhdGUoCiAJCXJldHVybiBOVUxMOwogCX0KIAotCWlmIChkYWxfaTJjYXV4X2RjZTEx MF9jb25zdHJ1Y3QoCi0JCQlpMmNhdXhfZGNlMTEwLAotCQkJY3R4LAotCQkJZGNlMTAwX2F1eF9y ZWdzLAotCQkJZGNlMTAwX2h3X2VuZ2luZV9yZWdzLAotCQkJJmkyY19zaGlmdCwKLQkJCSZpMmNf bWFzaykpCi0JCXJldHVybiAmaTJjYXV4X2RjZTExMC0+YmFzZTsKLQotCUFTU0VSVF9DUklUSUNB TChmYWxzZSk7Ci0KLQlrZnJlZShpMmNhdXhfZGNlMTEwKTsKLQotCXJldHVybiBOVUxMOworCWRh bF9pMmNhdXhfZGNlMTEwX2NvbnN0cnVjdChpMmNhdXhfZGNlMTEwLAorCQkJCSAgICBjdHgsCisJ CQkJICAgIGRjZTEwMF9hdXhfcmVncywKKwkJCQkgICAgZGNlMTAwX2h3X2VuZ2luZV9yZWdzLAor CQkJCSAgICAmaTJjX3NoaWZ0LAorCQkJCSAgICAmaTJjX21hc2spOworCXJldHVybiAmaTJjYXV4 X2RjZTExMC0+YmFzZTsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxh eS9kYy9pMmNhdXgvZGNlMTEwL2F1eF9lbmdpbmVfZGNlMTEwLmMgYi9kcml2ZXJzL2dwdS9kcm0v YW1kL2Rpc3BsYXkvZGMvaTJjYXV4L2RjZTExMC9hdXhfZW5naW5lX2RjZTExMC5jCmluZGV4IDRi NjczYjQuLjBjNGJiYzEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9k Yy9pMmNhdXgvZGNlMTEwL2F1eF9lbmdpbmVfZGNlMTEwLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2FtZC9kaXNwbGF5L2RjL2kyY2F1eC9kY2UxMTAvYXV4X2VuZ2luZV9kY2UxMTAuYwpAQCAtNDI2 LDIyICs0MjYsMTYgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBlbmdpbmVfZnVuY3MgZW5naW5lX2Z1 bmNzID0gewogCS5hY3F1aXJlID0gZGFsX2F1eF9lbmdpbmVfYWNxdWlyZSwKIH07CiAKLXN0YXRp YyBib29sIGNvbnN0cnVjdCgKK3N0YXRpYyB2b2lkIGNvbnN0cnVjdCgKIAlzdHJ1Y3QgYXV4X2Vu Z2luZV9kY2UxMTAgKmVuZ2luZSwKIAljb25zdCBzdHJ1Y3QgYXV4X2VuZ2luZV9kY2UxMTBfaW5p dF9kYXRhICphdXhfaW5pdF9kYXRhKQogewotCWlmICghZGFsX2F1eF9lbmdpbmVfY29uc3RydWN0 KAotCQkmZW5naW5lLT5iYXNlLCBhdXhfaW5pdF9kYXRhLT5jdHgpKSB7Ci0JCUFTU0VSVF9DUklU SUNBTChmYWxzZSk7Ci0JCXJldHVybiBmYWxzZTsKLQl9CisJZGFsX2F1eF9lbmdpbmVfY29uc3Ry dWN0KCZlbmdpbmUtPmJhc2UsIGF1eF9pbml0X2RhdGEtPmN0eCk7CiAJZW5naW5lLT5iYXNlLmJh c2UuZnVuY3MgPSAmZW5naW5lX2Z1bmNzOwogCWVuZ2luZS0+YmFzZS5mdW5jcyA9ICZhdXhfZW5n aW5lX2Z1bmNzOwogCiAJZW5naW5lLT50aW1lb3V0X3BlcmlvZCA9IGF1eF9pbml0X2RhdGEtPnRp bWVvdXRfcGVyaW9kOwogCWVuZ2luZS0+cmVncyA9IGF1eF9pbml0X2RhdGEtPnJlZ3M7Ci0KLQly ZXR1cm4gdHJ1ZTsKIH0KIAogc3RhdGljIHZvaWQgZGVzdHJ1Y3QoCkBAIC00NzEsMTIgKzQ2NSw2 IEBAIHN0cnVjdCBhdXhfZW5naW5lICpkYWxfYXV4X2VuZ2luZV9kY2UxMTBfY3JlYXRlKAogCQly ZXR1cm4gTlVMTDsKIAl9CiAKLQlpZiAoY29uc3RydWN0KGVuZ2luZSwgYXV4X2luaXRfZGF0YSkp Ci0JCXJldHVybiAmZW5naW5lLT5iYXNlOwotCi0JQVNTRVJUX0NSSVRJQ0FMKGZhbHNlKTsKLQot CWtmcmVlKGVuZ2luZSk7Ci0KLQlyZXR1cm4gTlVMTDsKKwljb25zdHJ1Y3QoZW5naW5lLCBhdXhf aW5pdF9kYXRhKTsKKwlyZXR1cm4gJmVuZ2luZS0+YmFzZTsKIH0KZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pMmNhdXgvZGNlMTEwL2kyY19od19lbmdpbmVfZGNl MTEwLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaTJjYXV4L2RjZTExMC9pMmNf aHdfZW5naW5lX2RjZTExMC5jCmluZGV4IGFhYjc3YTguLjFhNWIzZjcgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pMmNhdXgvZGNlMTEwL2kyY19od19lbmdpbmVf ZGNlMTEwLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2kyY2F1eC9kY2Ux MTAvaTJjX2h3X2VuZ2luZV9kY2UxMTAuYwpAQCAtNDk4LDE3ICs0OTgsMTMgQEAgc3RhdGljIGNv bnN0IHN0cnVjdCBpMmNfaHdfZW5naW5lX2Z1bmNzIGkyY19od19lbmdpbmVfZnVuY3MgPSB7CiAJ LndhaXRfb25fb3BlcmF0aW9uX3Jlc3VsdCA9IGRhbF9pMmNfaHdfZW5naW5lX3dhaXRfb25fb3Bl cmF0aW9uX3Jlc3VsdCwKIH07CiAKLWJvb2wgaTJjX2h3X2VuZ2luZV9kY2UxMTBfY29uc3RydWN0 KAorc3RhdGljIHZvaWQgY29uc3RydWN0KAogCXN0cnVjdCBpMmNfaHdfZW5naW5lX2RjZTExMCAq aHdfZW5naW5lLAogCWNvbnN0IHN0cnVjdCBpMmNfaHdfZW5naW5lX2RjZTExMF9jcmVhdGVfYXJn ICphcmcpCiB7CiAJdWludDMyX3QgeHRhbF9yZWZfZGl2ID0gMDsKIAotCWlmICghYXJnLT5yZWZl cmVuY2VfZnJlcXVlbmN5KQotCQlyZXR1cm4gZmFsc2U7Ci0KLQlpZiAoIWRhbF9pMmNfaHdfZW5n aW5lX2NvbnN0cnVjdCgmaHdfZW5naW5lLT5iYXNlLCBhcmctPmN0eCkpCi0JCXJldHVybiBmYWxz ZTsKKwlkYWxfaTJjX2h3X2VuZ2luZV9jb25zdHJ1Y3QoJmh3X2VuZ2luZS0+YmFzZSwgYXJnLT5j dHgpOwogCiAJaHdfZW5naW5lLT5iYXNlLmJhc2UuYmFzZS5mdW5jcyA9ICZlbmdpbmVfZnVuY3M7 CiAJaHdfZW5naW5lLT5iYXNlLmJhc2UuZnVuY3MgPSAmaTJjX2VuZ2luZV9mdW5jczsKQEAgLTU0 NSw4ICs1NDEsNiBAQCBib29sIGkyY19od19lbmdpbmVfZGNlMTEwX2NvbnN0cnVjdCgKIAkgKi8K IAlod19lbmdpbmUtPnJlZmVyZW5jZV9mcmVxdWVuY3kgPQogCQkoYXJnLT5yZWZlcmVuY2VfZnJl cXVlbmN5ICogMikgLyB4dGFsX3JlZl9kaXY7Ci0KLQlyZXR1cm4gdHJ1ZTsKIH0KIAogc3RydWN0 IGkyY19lbmdpbmUgKmRhbF9pMmNfaHdfZW5naW5lX2RjZTExMF9jcmVhdGUoCkBAIC01NTgsNiAr NTUyLDEwIEBAIHN0cnVjdCBpMmNfZW5naW5lICpkYWxfaTJjX2h3X2VuZ2luZV9kY2UxMTBfY3Jl YXRlKAogCQlBU1NFUlRfQ1JJVElDQUwoZmFsc2UpOwogCQlyZXR1cm4gTlVMTDsKIAl9CisJaWYg KCFhcmctPnJlZmVyZW5jZV9mcmVxdWVuY3kpIHsKKwkJQVNTRVJUX0NSSVRJQ0FMKGZhbHNlKTsK KwkJcmV0dXJuIE5VTEw7CisJfQogCiAJZW5naW5lX2RjZTEwID0ga3phbGxvYyhzaXplb2Yoc3Ry dWN0IGkyY19od19lbmdpbmVfZGNlMTEwKSwKIAkJCSAgICAgICBHRlBfS0VSTkVMKTsKQEAgLTU2 NywxMiArNTY1LDYgQEAgc3RydWN0IGkyY19lbmdpbmUgKmRhbF9pMmNfaHdfZW5naW5lX2RjZTEx MF9jcmVhdGUoCiAJCXJldHVybiBOVUxMOwogCX0KIAotCWlmIChpMmNfaHdfZW5naW5lX2RjZTEx MF9jb25zdHJ1Y3QoZW5naW5lX2RjZTEwLCBhcmcpKQotCQlyZXR1cm4gJmVuZ2luZV9kY2UxMC0+ YmFzZS5iYXNlOwotCi0JQVNTRVJUX0NSSVRJQ0FMKGZhbHNlKTsKLQotCWtmcmVlKGVuZ2luZV9k Y2UxMCk7Ci0KLQlyZXR1cm4gTlVMTDsKKwljb25zdHJ1Y3QoZW5naW5lX2RjZTEwLCBhcmcpOwor CXJldHVybiAmZW5naW5lX2RjZTEwLT5iYXNlLmJhc2U7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaTJjYXV4L2RjZTExMC9pMmNfaHdfZW5naW5lX2RjZTEx MC5oIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2kyY2F1eC9kY2UxMTAvaTJjX2h3 X2VuZ2luZV9kY2UxMTAuaAppbmRleCBjNTczYzY0Li41YmIwNDA4IDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaTJjYXV4L2RjZTExMC9pMmNfaHdfZW5naW5lX2Rj ZTExMC5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pMmNhdXgvZGNlMTEw L2kyY19od19lbmdpbmVfZGNlMTEwLmgKQEAgLTIwNyw4ICsyMDcsNCBAQCBzdHJ1Y3QgaTJjX2h3 X2VuZ2luZV9kY2UxMTBfY3JlYXRlX2FyZyB7CiBzdHJ1Y3QgaTJjX2VuZ2luZSAqZGFsX2kyY19o d19lbmdpbmVfZGNlMTEwX2NyZWF0ZSgKIAljb25zdCBzdHJ1Y3QgaTJjX2h3X2VuZ2luZV9kY2Ux MTBfY3JlYXRlX2FyZyAqYXJnKTsKIAotYm9vbCBpMmNfaHdfZW5naW5lX2RjZTExMF9jb25zdHJ1 Y3QoCi0Jc3RydWN0IGkyY19od19lbmdpbmVfZGNlMTEwICplbmdpbmVfZGNlMTEwLAotCWNvbnN0 IHN0cnVjdCBpMmNfaHdfZW5naW5lX2RjZTExMF9jcmVhdGVfYXJnICphcmcpOwotCiAjZW5kaWYK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pMmNhdXgvZGNlMTEw L2kyY19zd19lbmdpbmVfZGNlMTEwLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMv aTJjYXV4L2RjZTExMC9pMmNfc3dfZW5naW5lX2RjZTExMC5jCmluZGV4IGJmMmM0YjIuLjNhYTdm NzkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pMmNhdXgvZGNl MTEwL2kyY19zd19lbmdpbmVfZGNlMTEwLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNw bGF5L2RjL2kyY2F1eC9kY2UxMTAvaTJjX3N3X2VuZ2luZV9kY2UxMTAuYwpAQCAtMTE4LDcgKzEx OCw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZW5naW5lX2Z1bmNzIGVuZ2luZV9mdW5jcyA9IHsK IAkuc3VibWl0X3JlcXVlc3QgPSBkYWxfaTJjX3N3X2VuZ2luZV9zdWJtaXRfcmVxdWVzdCwKIH07 CiAKLXN0YXRpYyBib29sIGNvbnN0cnVjdCgKK3N0YXRpYyB2b2lkIGNvbnN0cnVjdCgKIAlzdHJ1 Y3QgaTJjX3N3X2VuZ2luZV9kY2UxMTAgKmVuZ2luZV9kY2UxMTAsCiAJY29uc3Qgc3RydWN0IGky Y19zd19lbmdpbmVfZGNlMTEwX2NyZWF0ZV9hcmcgKmFyZ19kY2UxMTApCiB7CkBAIC0xMjcsMTEg KzEyNyw3IEBAIHN0YXRpYyBib29sIGNvbnN0cnVjdCgKIAlhcmdfYmFzZS5jdHggPSBhcmdfZGNl MTEwLT5jdHg7CiAJYXJnX2Jhc2UuZGVmYXVsdF9zcGVlZCA9IGFyZ19kY2UxMTAtPmRlZmF1bHRf c3BlZWQ7CiAKLQlpZiAoIWRhbF9pMmNfc3dfZW5naW5lX2NvbnN0cnVjdCgKLQkJCSZlbmdpbmVf ZGNlMTEwLT5iYXNlLCAmYXJnX2Jhc2UpKSB7Ci0JCUFTU0VSVF9DUklUSUNBTChmYWxzZSk7Ci0J CXJldHVybiBmYWxzZTsKLQl9CisJZGFsX2kyY19zd19lbmdpbmVfY29uc3RydWN0KCZlbmdpbmVf ZGNlMTEwLT5iYXNlLCAmYXJnX2Jhc2UpOwogCiAJLypzdHJ1Y3QgZW5naW5lICAgc3RydWN0IGVu Z2luZV9mdW5jcyovCiAJZW5naW5lX2RjZTExMC0+YmFzZS5iYXNlLmJhc2UuZnVuY3MgPSAmZW5n aW5lX2Z1bmNzOwpAQCAtMTM5LDggKzEzNSw2IEBAIHN0YXRpYyBib29sIGNvbnN0cnVjdCgKIAll bmdpbmVfZGNlMTEwLT5iYXNlLmJhc2UuZnVuY3MgPSAmaTJjX2VuZ2luZV9mdW5jczsKIAllbmdp bmVfZGNlMTEwLT5iYXNlLmRlZmF1bHRfc3BlZWQgPSBhcmdfZGNlMTEwLT5kZWZhdWx0X3NwZWVk OwogCWVuZ2luZV9kY2UxMTAtPmVuZ2luZV9pZCA9IGFyZ19kY2UxMTAtPmVuZ2luZV9pZDsKLQot CXJldHVybiB0cnVlOwogfQogCiBzdHJ1Y3QgaTJjX2VuZ2luZSAqZGFsX2kyY19zd19lbmdpbmVf ZGNlMTEwX2NyZWF0ZSgKQEAgLTE2MSwxMiArMTU1LDYgQEAgc3RydWN0IGkyY19lbmdpbmUgKmRh bF9pMmNfc3dfZW5naW5lX2RjZTExMF9jcmVhdGUoCiAJCXJldHVybiBOVUxMOwogCX0KIAotCWlm IChjb25zdHJ1Y3QoZW5naW5lX2RjZTExMCwgYXJnKSkKLQkJcmV0dXJuICZlbmdpbmVfZGNlMTEw LT5iYXNlLmJhc2U7Ci0KLQlBU1NFUlRfQ1JJVElDQUwoZmFsc2UpOwotCi0Ja2ZyZWUoZW5naW5l X2RjZTExMCk7Ci0KLQlyZXR1cm4gTlVMTDsKKwljb25zdHJ1Y3QoZW5naW5lX2RjZTExMCwgYXJn KTsKKwlyZXR1cm4gJmVuZ2luZV9kY2UxMTAtPmJhc2UuYmFzZTsKIH0KZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pMmNhdXgvZGNlMTEwL2kyY2F1eF9kY2UxMTAu YyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pMmNhdXgvZGNlMTEwL2kyY2F1eF9k Y2UxMTAuYwppbmRleCBhZTlhZGIzLi4yYTA0N2Y4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vYW1kL2Rpc3BsYXkvZGMvaTJjYXV4L2RjZTExMC9pMmNhdXhfZGNlMTEwLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2kyY2F1eC9kY2UxMTAvaTJjYXV4X2RjZTExMC5j CkBAIC0xOTYsNyArMTk2LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkY2UxMTBfaTJjX2h3X2Vu Z2luZV9tYXNrIGkyY19tYXNrID0gewogCQlJMkNfQ09NTU9OX01BU0tfU0hfTElTVF9EQ0UxMTAo X01BU0spCiB9OwogCi1ib29sIGRhbF9pMmNhdXhfZGNlMTEwX2NvbnN0cnVjdCgKK3ZvaWQgZGFs X2kyY2F1eF9kY2UxMTBfY29uc3RydWN0KAogCXN0cnVjdCBpMmNhdXhfZGNlMTEwICppMmNhdXhf ZGNlMTEwLAogCXN0cnVjdCBkY19jb250ZXh0ICpjdHgsCiAJY29uc3Qgc3RydWN0IGRjZTExMF9h dXhfcmVnaXN0ZXJzIGF1eF9yZWdzW10sCkBAIC0yMTcsMTAgKzIxNyw3IEBAIGJvb2wgZGFsX2ky Y2F1eF9kY2UxMTBfY29uc3RydWN0KAogCiAJYmFzZSA9ICZpMmNhdXhfZGNlMTEwLT5iYXNlOwog Ci0JaWYgKCFkYWxfaTJjYXV4X2NvbnN0cnVjdChiYXNlLCBjdHgpKSB7Ci0JCUFTU0VSVF9DUklU SUNBTChmYWxzZSk7Ci0JCXJldHVybiBmYWxzZTsKLQl9CisJZGFsX2kyY2F1eF9jb25zdHJ1Y3Qo YmFzZSwgY3R4KTsKIAogCWkyY2F1eF9kY2UxMTAtPmJhc2UuZnVuY3MgPSAmaTJjYXV4X2Z1bmNz OwogCWkyY2F1eF9kY2UxMTAtPmkyY19od19idWZmZXJfaW5fdXNlID0gZmFsc2U7CkBAIC0yNzgs OCArMjc1LDYgQEAgYm9vbCBkYWxfaTJjYXV4X2RjZTExMF9jb25zdHJ1Y3QoCiAJfSB3aGlsZSAo aSA8IEFSUkFZX1NJWkUoaHdfYXV4X2xpbmVzKSk7CiAKIAkvKlRPRE8gR2VuZXJpYyBJMkMgU1cg YW5kIEhXKi8KLQotCXJldHVybiB0cnVlOwogfQogCiAvKgpAQCAtMzA2LDE4ICszMDEsMTEgQEAg c3RydWN0IGkyY2F1eCAqZGFsX2kyY2F1eF9kY2UxMTBfY3JlYXRlKAogCQlyZXR1cm4gTlVMTDsK IAl9CiAKLQlpZiAoZGFsX2kyY2F1eF9kY2UxMTBfY29uc3RydWN0KAotCQkJaTJjYXV4X2RjZTEx MCwKLQkJCWN0eCwKLQkJCWRjZTExMF9hdXhfcmVncywKLQkJCWkyY19od19lbmdpbmVfcmVncywK LQkJCSZpMmNfc2hpZnQsCi0JCQkmaTJjX21hc2spKQotCQlyZXR1cm4gJmkyY2F1eF9kY2UxMTAt PmJhc2U7Ci0KLQlBU1NFUlRfQ1JJVElDQUwoZmFsc2UpOwotCi0Ja2ZyZWUoaTJjYXV4X2RjZTEx MCk7Ci0KLQlyZXR1cm4gTlVMTDsKKwlkYWxfaTJjYXV4X2RjZTExMF9jb25zdHJ1Y3QoaTJjYXV4 X2RjZTExMCwKKwkJCQkgICAgY3R4LAorCQkJCSAgICBkY2UxMTBfYXV4X3JlZ3MsCisJCQkJICAg IGkyY19od19lbmdpbmVfcmVncywKKwkJCQkgICAgJmkyY19zaGlmdCwKKwkJCQkgICAgJmkyY19t YXNrKTsKKwlyZXR1cm4gJmkyY2F1eF9kY2UxMTAtPmJhc2U7CiB9CmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaTJjYXV4L2RjZTExMC9pMmNhdXhfZGNlMTEwLmgg Yi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaTJjYXV4L2RjZTExMC9pMmNhdXhfZGNl MTEwLmgKaW5kZXggZmQxY2MyMy4uMWIxZjcxYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2FtZC9kaXNwbGF5L2RjL2kyY2F1eC9kY2UxMTAvaTJjYXV4X2RjZTExMC5oCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pMmNhdXgvZGNlMTEwL2kyY2F1eF9kY2UxMTAuaApA QCAtNDIsNyArNDIsNyBAQCBzdHJ1Y3QgZGNlMTEwX2kyY19od19lbmdpbmVfbWFzazsKIHN0cnVj dCBpMmNhdXggKmRhbF9pMmNhdXhfZGNlMTEwX2NyZWF0ZSgKIAlzdHJ1Y3QgZGNfY29udGV4dCAq Y3R4KTsKIAotYm9vbCBkYWxfaTJjYXV4X2RjZTExMF9jb25zdHJ1Y3QoCit2b2lkIGRhbF9pMmNh dXhfZGNlMTEwX2NvbnN0cnVjdCgKIAlzdHJ1Y3QgaTJjYXV4X2RjZTExMCAqaTJjYXV4X2RjZTEx MCwKIAlzdHJ1Y3QgZGNfY29udGV4dCAqY3R4LAogCWNvbnN0IHN0cnVjdCBkY2UxMTBfYXV4X3Jl Z2lzdGVycyAqYXV4X3JlZ3MsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3Bs YXkvZGMvaTJjYXV4L2RjZTExMi9pMmNhdXhfZGNlMTEyLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1k L2Rpc3BsYXkvZGMvaTJjYXV4L2RjZTExMi9pMmNhdXhfZGNlMTEyLmMKaW5kZXggNzE1YmE0My4u ZGFmYzFhNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2kyY2F1 eC9kY2UxMTIvaTJjYXV4X2RjZTExMi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxh eS9kYy9pMmNhdXgvZGNlMTEyL2kyY2F1eF9kY2UxMTIuYwpAQCAtODcsMjIgKzg3LDE2IEBAIHN0 YXRpYyBjb25zdCBzdHJ1Y3QgZGNlMTEwX2kyY19od19lbmdpbmVfbWFzayBpMmNfbWFzayA9IHsK IAkJSTJDX0NPTU1PTl9NQVNLX1NIX0xJU1RfRENFMTEwKF9NQVNLKQogfTsKIAotc3RhdGljIGJv b2wgY29uc3RydWN0KAorc3RhdGljIHZvaWQgY29uc3RydWN0KAogCXN0cnVjdCBpMmNhdXhfZGNl MTEwICppMmNhdXhfZGNlMTEwLAogCXN0cnVjdCBkY19jb250ZXh0ICpjdHgpCiB7Ci0JaWYgKCFk YWxfaTJjYXV4X2RjZTExMF9jb25zdHJ1Y3QoCi0JCQlpMmNhdXhfZGNlMTEwLAotCQkJY3R4LAot CQkJZGNlMTEyX2F1eF9yZWdzLAotCQkJZGNlMTEyX2h3X2VuZ2luZV9yZWdzLAotCQkJJmkyY19z aGlmdCwKLQkJCSZpMmNfbWFzaykpIHsKLQkJQVNTRVJUX0NSSVRJQ0FMKGZhbHNlKTsKLQkJcmV0 dXJuIGZhbHNlOwotCX0KLQotCXJldHVybiB0cnVlOworCWRhbF9pMmNhdXhfZGNlMTEwX2NvbnN0 cnVjdChpMmNhdXhfZGNlMTEwLAorCQkJCSAgICBjdHgsCisJCQkJICAgIGRjZTExMl9hdXhfcmVn cywKKwkJCQkgICAgZGNlMTEyX2h3X2VuZ2luZV9yZWdzLAorCQkJCSAgICAmaTJjX3NoaWZ0LAor CQkJCSAgICAmaTJjX21hc2spOwogfQogCiAvKgpAQCAtMTI5LDEyICsxMjMsNiBAQCBzdHJ1Y3Qg aTJjYXV4ICpkYWxfaTJjYXV4X2RjZTExMl9jcmVhdGUoCiAJCXJldHVybiBOVUxMOwogCX0KIAot CWlmIChjb25zdHJ1Y3QoaTJjYXV4X2RjZTExMCwgY3R4KSkKLQkJcmV0dXJuICZpMmNhdXhfZGNl MTEwLT5iYXNlOwotCi0JQVNTRVJUX0NSSVRJQ0FMKGZhbHNlKTsKLQotCWtmcmVlKGkyY2F1eF9k Y2UxMTApOwotCi0JcmV0dXJuIE5VTEw7CisJY29uc3RydWN0KGkyY2F1eF9kY2UxMTAsIGN0eCk7 CisJcmV0dXJuICZpMmNhdXhfZGNlMTEwLT5iYXNlOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2FtZC9kaXNwbGF5L2RjL2kyY2F1eC9kY2UxMjAvaTJjYXV4X2RjZTEyMC5jIGIvZHJp dmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2kyY2F1eC9kY2UxMjAvaTJjYXV4X2RjZTEyMC5j CmluZGV4IGQ1MjgyN2EuLjY2ODk4MWEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQv ZGlzcGxheS9kYy9pMmNhdXgvZGNlMTIwL2kyY2F1eF9kY2UxMjAuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vYW1kL2Rpc3BsYXkvZGMvaTJjYXV4L2RjZTEyMC9pMmNhdXhfZGNlMTIwLmMKQEAgLTEw OCwxOCArMTA4LDExIEBAIHN0cnVjdCBpMmNhdXggKmRhbF9pMmNhdXhfZGNlMTIwX2NyZWF0ZSgK IAkJcmV0dXJuIE5VTEw7CiAJfQogCi0JaWYgKGRhbF9pMmNhdXhfZGNlMTEwX2NvbnN0cnVjdCgK LQkJCWkyY2F1eF9kY2UxMTAsCi0JCQljdHgsCi0JCQlkY2UxMjBfYXV4X3JlZ3MsCi0JCQlkY2Ux MjBfaHdfZW5naW5lX3JlZ3MsCi0JCQkmaTJjX3NoaWZ0LAotCQkJJmkyY19tYXNrKSkKLQkJcmV0 dXJuICZpMmNhdXhfZGNlMTEwLT5iYXNlOwotCi0JQVNTRVJUX0NSSVRJQ0FMKGZhbHNlKTsKLQot CWtmcmVlKGkyY2F1eF9kY2UxMTApOwotCi0JcmV0dXJuIE5VTEw7CisJZGFsX2kyY2F1eF9kY2Ux MTBfY29uc3RydWN0KGkyY2F1eF9kY2UxMTAsCisJCQkJICAgIGN0eCwKKwkJCQkgICAgZGNlMTIw X2F1eF9yZWdzLAorCQkJCSAgICBkY2UxMjBfaHdfZW5naW5lX3JlZ3MsCisJCQkJICAgICZpMmNf c2hpZnQsCisJCQkJICAgICZpMmNfbWFzayk7CisJcmV0dXJuICZpMmNhdXhfZGNlMTEwLT5iYXNl OwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2kyY2F1eC9k Y2U4MC9pMmNfaHdfZW5naW5lX2RjZTgwLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkv ZGMvaTJjYXV4L2RjZTgwL2kyY19od19lbmdpbmVfZGNlODAuYwppbmRleCBkNDFlMzdjLi5mZDA4 MzJkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaTJjYXV4L2Rj ZTgwL2kyY19od19lbmdpbmVfZGNlODAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3Bs YXkvZGMvaTJjYXV4L2RjZTgwL2kyY19od19lbmdpbmVfZGNlODAuYwpAQCAtODI0LDIwICs4MjQs MTEgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfaHdfZW5naW5lX2Z1bmNzIGkyY19od19lbmdp bmVfZnVuY3MgPSB7CiAJCWRhbF9pMmNfaHdfZW5naW5lX3dhaXRfb25fb3BlcmF0aW9uX3Jlc3Vs dCwKIH07CiAKLXN0YXRpYyBib29sIGNvbnN0cnVjdCgKK3N0YXRpYyB2b2lkIGNvbnN0cnVjdCgK IAlzdHJ1Y3QgaTJjX2h3X2VuZ2luZV9kY2U4MCAqZW5naW5lLAogCWNvbnN0IHN0cnVjdCBpMmNf aHdfZW5naW5lX2RjZTgwX2NyZWF0ZV9hcmcgKmFyZykKIHsKLQlpZiAoYXJnLT5lbmdpbmVfaWQg Pj0gc2l6ZW9mKGRkY19zZXR1cF9vZmZzZXQpIC8gc2l6ZW9mKGludDMyX3QpKQotCQlyZXR1cm4g ZmFsc2U7Ci0JaWYgKGFyZy0+ZW5naW5lX2lkID49IHNpemVvZihkZGNfc3BlZWRfb2Zmc2V0KSAv IHNpemVvZihpbnQzMl90KSkKLQkJcmV0dXJuIGZhbHNlOwotCi0JaWYgKCFhcmctPnJlZmVyZW5j ZV9mcmVxdWVuY3kpCi0JCXJldHVybiBmYWxzZTsKLQotCWlmICghZGFsX2kyY19od19lbmdpbmVf Y29uc3RydWN0KCZlbmdpbmUtPmJhc2UsIGFyZy0+Y3R4KSkKLQkJcmV0dXJuIGZhbHNlOworCWRh bF9pMmNfaHdfZW5naW5lX2NvbnN0cnVjdCgmZW5naW5lLT5iYXNlLCBhcmctPmN0eCk7CiAKIAll bmdpbmUtPmJhc2UuYmFzZS5iYXNlLmZ1bmNzID0gJmVuZ2luZV9mdW5jczsKIAllbmdpbmUtPmJh c2UuYmFzZS5mdW5jcyA9ICZpMmNfZW5naW5lX2Z1bmNzOwpAQCAtODUzLDggKzg0NCw2IEBAIHN0 YXRpYyBib29sIGNvbnN0cnVjdCgKIAllbmdpbmUtPmJ1ZmZlcl91c2VkX2J5dGVzID0gMDsKIAll bmdpbmUtPnRyYW5zYWN0aW9uX2NvdW50ID0gMDsKIAllbmdpbmUtPmVuZ2luZV9rZWVwX3Bvd2Vy X3VwX2NvdW50ID0gMTsKLQotCXJldHVybiB0cnVlOwogfQogCiBzdHJ1Y3QgaTJjX2VuZ2luZSAq ZGFsX2kyY19od19lbmdpbmVfZGNlODBfY3JlYXRlKApAQCAtODY3LDYgKzg1NiwxMyBAQCBzdHJ1 Y3QgaTJjX2VuZ2luZSAqZGFsX2kyY19od19lbmdpbmVfZGNlODBfY3JlYXRlKAogCQlyZXR1cm4g TlVMTDsKIAl9CiAKKwlpZiAoKGFyZy0+ZW5naW5lX2lkID49IHNpemVvZihkZGNfc2V0dXBfb2Zm c2V0KSAvIHNpemVvZihpbnQzMl90KSkgfHwKKwkgICAgKGFyZy0+ZW5naW5lX2lkID49IHNpemVv ZihkZGNfc3BlZWRfb2Zmc2V0KSAvIHNpemVvZihpbnQzMl90KSkgfHwKKwkgICAgIWFyZy0+cmVm ZXJlbmNlX2ZyZXF1ZW5jeSkgeworCQlCUkVBS19UT19ERUJVR0dFUigpOworCQlyZXR1cm4gTlVM TDsKKwl9CisKIAllbmdpbmUgPSBremFsbG9jKHNpemVvZihzdHJ1Y3QgaTJjX2h3X2VuZ2luZV9k Y2U4MCksIEdGUF9LRVJORUwpOwogCiAJaWYgKCFlbmdpbmUpIHsKQEAgLTg3NCwxMiArODcwLDYg QEAgc3RydWN0IGkyY19lbmdpbmUgKmRhbF9pMmNfaHdfZW5naW5lX2RjZTgwX2NyZWF0ZSgKIAkJ cmV0dXJuIE5VTEw7CiAJfQogCi0JaWYgKGNvbnN0cnVjdChlbmdpbmUsIGFyZykpCi0JCXJldHVy biAmZW5naW5lLT5iYXNlLmJhc2U7Ci0KLQlCUkVBS19UT19ERUJVR0dFUigpOwotCi0Ja2ZyZWUo ZW5naW5lKTsKLQotCXJldHVybiBOVUxMOworCWNvbnN0cnVjdChlbmdpbmUsIGFyZyk7CisJcmV0 dXJuICZlbmdpbmUtPmJhc2UuYmFzZTsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9h bWQvZGlzcGxheS9kYy9pMmNhdXgvZGNlODAvaTJjX3N3X2VuZ2luZV9kY2U4MC5jIGIvZHJpdmVy cy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2kyY2F1eC9kY2U4MC9pMmNfc3dfZW5naW5lX2RjZTgw LmMKaW5kZXggNmJlNzdiYy4uNDg1M2VlMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2Ft ZC9kaXNwbGF5L2RjL2kyY2F1eC9kY2U4MC9pMmNfc3dfZW5naW5lX2RjZTgwLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2kyY2F1eC9kY2U4MC9pMmNfc3dfZW5naW5lX2Rj ZTgwLmMKQEAgLTEzMyw3ICsxMzMsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGVuZ2luZV9mdW5j cyBlbmdpbmVfZnVuY3MgPSB7CiAJLnN1Ym1pdF9yZXF1ZXN0ID0gZGFsX2kyY19zd19lbmdpbmVf c3VibWl0X3JlcXVlc3QsCiB9OwogCi1zdGF0aWMgYm9vbCBjb25zdHJ1Y3QoCitzdGF0aWMgdm9p ZCBjb25zdHJ1Y3QoCiAJc3RydWN0IGkyY19zd19lbmdpbmVfZGNlODAgKmVuZ2luZSwKIAljb25z dCBzdHJ1Y3QgaTJjX3N3X2VuZ2luZV9kY2U4MF9jcmVhdGVfYXJnICphcmcpCiB7CkBAIC0xNDIs MTcgKzE0MiwxMiBAQCBzdGF0aWMgYm9vbCBjb25zdHJ1Y3QoCiAJYXJnX2Jhc2UuY3R4ID0gYXJn LT5jdHg7CiAJYXJnX2Jhc2UuZGVmYXVsdF9zcGVlZCA9IGFyZy0+ZGVmYXVsdF9zcGVlZDsKIAot CWlmICghZGFsX2kyY19zd19lbmdpbmVfY29uc3RydWN0KCZlbmdpbmUtPmJhc2UsICZhcmdfYmFz ZSkpIHsKLQkJQlJFQUtfVE9fREVCVUdHRVIoKTsKLQkJcmV0dXJuIGZhbHNlOwotCX0KKwlkYWxf aTJjX3N3X2VuZ2luZV9jb25zdHJ1Y3QoJmVuZ2luZS0+YmFzZSwgJmFyZ19iYXNlKTsKIAogCWVu Z2luZS0+YmFzZS5iYXNlLmJhc2UuZnVuY3MgPSAmZW5naW5lX2Z1bmNzOwogCWVuZ2luZS0+YmFz ZS5iYXNlLmZ1bmNzID0gJmkyY19lbmdpbmVfZnVuY3M7CiAJZW5naW5lLT5iYXNlLmRlZmF1bHRf c3BlZWQgPSBhcmctPmRlZmF1bHRfc3BlZWQ7CiAJZW5naW5lLT5lbmdpbmVfaWQgPSBhcmctPmVu Z2luZV9pZDsKLQotCXJldHVybiB0cnVlOwogfQogCiBzdHJ1Y3QgaTJjX2VuZ2luZSAqZGFsX2ky Y19zd19lbmdpbmVfZGNlODBfY3JlYXRlKApAQCAtMTcyLDEzICsxNjcsNyBAQCBzdHJ1Y3QgaTJj X2VuZ2luZSAqZGFsX2kyY19zd19lbmdpbmVfZGNlODBfY3JlYXRlKAogCQlyZXR1cm4gTlVMTDsK IAl9CiAKLQlpZiAoY29uc3RydWN0KGVuZ2luZSwgYXJnKSkKLQkJcmV0dXJuICZlbmdpbmUtPmJh c2UuYmFzZTsKLQotCUJSRUFLX1RPX0RFQlVHR0VSKCk7Ci0KLQlrZnJlZShlbmdpbmUpOwotCi0J cmV0dXJuIE5VTEw7CisJY29uc3RydWN0KGVuZ2luZSwgYXJnKTsKKwlyZXR1cm4gJmVuZ2luZS0+ YmFzZS5iYXNlOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkv ZGMvaTJjYXV4L2RjZTgwL2kyY2F1eF9kY2U4MC5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNw bGF5L2RjL2kyY2F1eC9kY2U4MC9pMmNhdXhfZGNlODAuYwppbmRleCBkM2MxNTdlLi5lZDQ4NTk2 IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaTJjYXV4L2RjZTgw L2kyY2F1eF9kY2U4MC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pMmNh dXgvZGNlODAvaTJjYXV4X2RjZTgwLmMKQEAgLTE4Nyw3ICsxODcsNyBAQCBzdGF0aWMgY29uc3Qg c3RydWN0IGkyY2F1eF9mdW5jcyBpMmNhdXhfZnVuY3MgPSB7CiAJLmFjcXVpcmVfYXV4X2VuZ2lu ZSA9IGRhbF9pMmNhdXhfYWNxdWlyZV9hdXhfZW5naW5lLAogfTsKIAotc3RhdGljIGJvb2wgY29u c3RydWN0KAorc3RhdGljIHZvaWQgY29uc3RydWN0KAogCXN0cnVjdCBpMmNhdXhfZGNlODAgKmky Y2F1eF9kY2U4MCwKIAlzdHJ1Y3QgZGNfY29udGV4dCAqY3R4KQogewpAQCAtMjA3LDEwICsyMDcs NyBAQCBzdGF0aWMgYm9vbCBjb25zdHJ1Y3QoCiAKIAl1aW50MzJfdCBpOwogCi0JaWYgKCFkYWxf aTJjYXV4X2NvbnN0cnVjdChiYXNlLCBjdHgpKSB7Ci0JCUJSRUFLX1RPX0RFQlVHR0VSKCk7Ci0J CXJldHVybiBmYWxzZTsKLQl9CisJZGFsX2kyY2F1eF9jb25zdHJ1Y3QoYmFzZSwgY3R4KTsKIAog CWkyY2F1eF9kY2U4MC0+YmFzZS5mdW5jcyA9ICZpMmNhdXhfZnVuY3M7CiAJaTJjYXV4X2RjZTgw LT5pMmNfaHdfYnVmZmVyX2luX3VzZSA9IGZhbHNlOwpAQCAtMjY5LDggKzI2Niw2IEBAIHN0YXRp YyBib29sIGNvbnN0cnVjdCgKIAl9IHdoaWxlIChpIDwgQVJSQVlfU0laRShod19hdXhfbGluZXMp KTsKIAogCS8qIFRPRE8gR2VuZXJpYyBJMkMgU1cgYW5kIEhXICovCi0KLQlyZXR1cm4gdHJ1ZTsK IH0KIAogc3RydWN0IGkyY2F1eCAqZGFsX2kyY2F1eF9kY2U4MF9jcmVhdGUoCkBAIC0yODQsMTIg KzI3OSw2IEBAIHN0cnVjdCBpMmNhdXggKmRhbF9pMmNhdXhfZGNlODBfY3JlYXRlKAogCQlyZXR1 cm4gTlVMTDsKIAl9CiAKLQlpZiAoY29uc3RydWN0KGkyY2F1eF9kY2U4MCwgY3R4KSkKLQkJcmV0 dXJuICZpMmNhdXhfZGNlODAtPmJhc2U7Ci0KLQlCUkVBS19UT19ERUJVR0dFUigpOwotCi0Ja2Zy ZWUoaTJjYXV4X2RjZTgwKTsKLQotCXJldHVybiBOVUxMOworCWNvbnN0cnVjdChpMmNhdXhfZGNl ODAsIGN0eCk7CisJcmV0dXJuICZpMmNhdXhfZGNlODAtPmJhc2U7CiB9CmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaTJjYXV4L2RjbjEwL2kyY2F1eF9kY24xMC5j IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2kyY2F1eC9kY24xMC9pMmNhdXhfZGNu MTAuYwppbmRleCBmODY1OWYxLi4xM2I4MDdkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v YW1kL2Rpc3BsYXkvZGMvaTJjYXV4L2RjbjEwL2kyY2F1eF9kY24xMC5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9hbWQvZGlzcGxheS9kYy9pMmNhdXgvZGNuMTAvaTJjYXV4X2RjbjEwLmMKQEAgLTEw OCwxOCArMTA4LDExIEBAIHN0cnVjdCBpMmNhdXggKmRhbF9pMmNhdXhfZGNuMTBfY3JlYXRlKAog CQlyZXR1cm4gTlVMTDsKIAl9CiAKLQlpZiAoZGFsX2kyY2F1eF9kY2UxMTBfY29uc3RydWN0KAot CQkJaTJjYXV4X2RjZTExMCwKLQkJCWN0eCwKLQkJCWRjbjEwX2F1eF9yZWdzLAotCQkJZGNuMTBf aHdfZW5naW5lX3JlZ3MsCi0JCQkmaTJjX3NoaWZ0LAotCQkJJmkyY19tYXNrKSkKLQkJcmV0dXJu ICZpMmNhdXhfZGNlMTEwLT5iYXNlOwotCi0JQVNTRVJUX0NSSVRJQ0FMKGZhbHNlKTsKLQotCWtm cmVlKGkyY2F1eF9kY2UxMTApOwotCi0JcmV0dXJuIE5VTEw7CisJZGFsX2kyY2F1eF9kY2UxMTBf Y29uc3RydWN0KGkyY2F1eF9kY2UxMTAsCisJCQkJICAgIGN0eCwKKwkJCQkgICAgZGNuMTBfYXV4 X3JlZ3MsCisJCQkJICAgIGRjbjEwX2h3X2VuZ2luZV9yZWdzLAorCQkJCSAgICAmaTJjX3NoaWZ0 LAorCQkJCSAgICAmaTJjX21hc2spOworCXJldHVybiAmaTJjYXV4X2RjZTExMC0+YmFzZTsKIH0K ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pMmNhdXgvZGlhZ25v c3RpY3MvaTJjYXV4X2RpYWcuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pMmNh dXgvZGlhZ25vc3RpY3MvaTJjYXV4X2RpYWcuYwppbmRleCAxZmRiMzI1Li5lNjQwOGY2IDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaTJjYXV4L2RpYWdub3N0aWNz L2kyY2F1eF9kaWFnLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2kyY2F1 eC9kaWFnbm9zdGljcy9pMmNhdXhfZGlhZy5jCkBAIC03MywxOCArNzMsMTIgQEAgc3RhdGljIGNv bnN0IHN0cnVjdCBpMmNhdXhfZnVuY3MgaTJjYXV4X2Z1bmNzID0gewogCS5hY3F1aXJlX2F1eF9l bmdpbmUgPSBOVUxMLAogfTsKIAotc3RhdGljIGJvb2wgY29uc3RydWN0KAorc3RhdGljIHZvaWQg Y29uc3RydWN0KAogCXN0cnVjdCBpMmNhdXggKmkyY2F1eCwKIAlzdHJ1Y3QgZGNfY29udGV4dCAq Y3R4KQogewotCWlmICghZGFsX2kyY2F1eF9jb25zdHJ1Y3QoaTJjYXV4LCBjdHgpKSB7Ci0JCUFT U0VSVF9DUklUSUNBTChmYWxzZSk7Ci0JCXJldHVybiBmYWxzZTsKLQl9Ci0KKwlkYWxfaTJjYXV4 X2NvbnN0cnVjdChpMmNhdXgsIGN0eCk7CiAJaTJjYXV4LT5mdW5jcyA9ICZpMmNhdXhfZnVuY3M7 Ci0KLQlyZXR1cm4gdHJ1ZTsKIH0KIAogc3RydWN0IGkyY2F1eCAqZGFsX2kyY2F1eF9kaWFnX2Zw Z2FfY3JlYXRlKApAQCAtOTgsMTIgKzkyLDYgQEAgc3RydWN0IGkyY2F1eCAqZGFsX2kyY2F1eF9k aWFnX2ZwZ2FfY3JlYXRlKAogCQlyZXR1cm4gTlVMTDsKIAl9CiAKLQlpZiAoY29uc3RydWN0KGky Y2F1eCwgY3R4KSkKLQkJcmV0dXJuIGkyY2F1eDsKLQotCUFTU0VSVF9DUklUSUNBTChmYWxzZSk7 Ci0KLQlrZnJlZShpMmNhdXgpOwotCi0JcmV0dXJuIE5VTEw7CisJY29uc3RydWN0KGkyY2F1eCwg Y3R4KTsKKwlyZXR1cm4gaTJjYXV4OwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2Ft ZC9kaXNwbGF5L2RjL2kyY2F1eC9lbmdpbmUuaCBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxh eS9kYy9pMmNhdXgvZW5naW5lLmgKaW5kZXggNzZmZTJkZi4uMzNkZThhOCAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2kyY2F1eC9lbmdpbmUuaAorKysgYi9kcml2 ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaTJjYXV4L2VuZ2luZS5oCkBAIC0xMTAsNyArMTEw LDcgQEAgc3RydWN0IGVuZ2luZSB7CiAJc3RydWN0IGRjX2NvbnRleHQgKmN0eDsKIH07CiAKLWJv b2wgZGFsX2kyY2F1eF9jb25zdHJ1Y3RfZW5naW5lKAordm9pZCBkYWxfaTJjYXV4X2NvbnN0cnVj dF9lbmdpbmUoCiAJc3RydWN0IGVuZ2luZSAqZW5naW5lLAogCXN0cnVjdCBkY19jb250ZXh0ICpj dHgpOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaTJjYXV4 L2VuZ2luZV9iYXNlLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaTJjYXV4L2Vu Z2luZV9iYXNlLmMKaW5kZXggMDlkYTgxMy4uNWQxNTVkMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2FtZC9kaXNwbGF5L2RjL2kyY2F1eC9lbmdpbmVfYmFzZS5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9hbWQvZGlzcGxheS9kYy9pMmNhdXgvZW5naW5lX2Jhc2UuYwpAQCAtMzYsMTMgKzM2 LDEyIEBACiAKICNpbmNsdWRlICJlbmdpbmUuaCIKIAotYm9vbCBkYWxfaTJjYXV4X2NvbnN0cnVj dF9lbmdpbmUoCit2b2lkIGRhbF9pMmNhdXhfY29uc3RydWN0X2VuZ2luZSgKIAlzdHJ1Y3QgZW5n aW5lICplbmdpbmUsCiAJc3RydWN0IGRjX2NvbnRleHQgKmN0eCkKIHsKIAllbmdpbmUtPmRkYyA9 IE5VTEw7CiAJZW5naW5lLT5jdHggPSBjdHg7Ci0JcmV0dXJuIHRydWU7CiB9CiAKIHZvaWQgZGFs X2kyY2F1eF9kZXN0cnVjdF9lbmdpbmUoCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1k L2Rpc3BsYXkvZGMvaTJjYXV4L2kyY19lbmdpbmUuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlz cGxheS9kYy9pMmNhdXgvaTJjX2VuZ2luZS5jCmluZGV4IDE0NGY1MWQuLjcwZTIwYmQgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pMmNhdXgvaTJjX2VuZ2luZS5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pMmNhdXgvaTJjX2VuZ2luZS5j CkBAIC0xMDMsMTUgKzEwMywxMiBAQCB2b2lkIGRhbF9pMmNfZW5naW5lX3Byb2Nlc3NfY2hhbm5l bF9yZXBseSgKIAogfQogCi1ib29sIGRhbF9pMmNfZW5naW5lX2NvbnN0cnVjdCgKK3ZvaWQgZGFs X2kyY19lbmdpbmVfY29uc3RydWN0KAogCXN0cnVjdCBpMmNfZW5naW5lICplbmdpbmUsCiAJc3Ry dWN0IGRjX2NvbnRleHQgKmN0eCkKIHsKLQlpZiAoIWRhbF9pMmNhdXhfY29uc3RydWN0X2VuZ2lu ZSgmZW5naW5lLT5iYXNlLCBjdHgpKQotCQlyZXR1cm4gZmFsc2U7Ci0KKwlkYWxfaTJjYXV4X2Nv bnN0cnVjdF9lbmdpbmUoJmVuZ2luZS0+YmFzZSwgY3R4KTsKIAllbmdpbmUtPnRpbWVvdXRfZGVs YXkgPSAwOwotCXJldHVybiB0cnVlOwogfQogCiB2b2lkIGRhbF9pMmNfZW5naW5lX2Rlc3RydWN0 KApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2kyY2F1eC9pMmNf ZW5naW5lLmggYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaTJjYXV4L2kyY19lbmdp bmUuaAppbmRleCBjZTJjNTFkLi41OGZjMGYyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v YW1kL2Rpc3BsYXkvZGMvaTJjYXV4L2kyY19lbmdpbmUuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0v YW1kL2Rpc3BsYXkvZGMvaTJjYXV4L2kyY19lbmdpbmUuaApAQCAtODgsNyArODgsNyBAQCBzdHJ1 Y3QgaTJjX2VuZ2luZSB7CiAJdWludDMyX3QgdGltZW91dF9kZWxheTsKIH07CiAKLWJvb2wgZGFs X2kyY19lbmdpbmVfY29uc3RydWN0KAordm9pZCBkYWxfaTJjX2VuZ2luZV9jb25zdHJ1Y3QoCiAJ c3RydWN0IGkyY19lbmdpbmUgKmVuZ2luZSwKIAlzdHJ1Y3QgZGNfY29udGV4dCAqY3R4KTsKIApk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2kyY2F1eC9pMmNfZ2Vu ZXJpY19od19lbmdpbmUuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pMmNhdXgv aTJjX2dlbmVyaWNfaHdfZW5naW5lLmMKaW5kZXggNTIxYzRlYy4uNWE0Mjk1ZSAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2kyY2F1eC9pMmNfZ2VuZXJpY19od19l bmdpbmUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaTJjYXV4L2kyY19n ZW5lcmljX2h3X2VuZ2luZS5jCkBAIC0yNzAsMTMgKzI3MCwxMSBAQCB1aW50MzJfdCBkYWxfaTJj X2dlbmVyaWNfaHdfZW5naW5lX2dldF90cmFuc2FjdGlvbl90aW1lb3V0KAogCQkoMSArIChsZW5n dGggPDwgMykgKyAxKTsKIH0KIAotYm9vbCBkYWxfaTJjX2dlbmVyaWNfaHdfZW5naW5lX2NvbnN0 cnVjdCgKK3ZvaWQgZGFsX2kyY19nZW5lcmljX2h3X2VuZ2luZV9jb25zdHJ1Y3QoCiAJc3RydWN0 IGkyY19nZW5lcmljX2h3X2VuZ2luZSAqZW5naW5lLAogCXN0cnVjdCBkY19jb250ZXh0ICpjdHgp CiB7Ci0JaWYgKCFkYWxfaTJjX2h3X2VuZ2luZV9jb25zdHJ1Y3QoJmVuZ2luZS0+YmFzZSwgY3R4 KSkKLQkJcmV0dXJuIGZhbHNlOwotCXJldHVybiB0cnVlOworCWRhbF9pMmNfaHdfZW5naW5lX2Nv bnN0cnVjdCgmZW5naW5lLT5iYXNlLCBjdHgpOwogfQogCiB2b2lkIGRhbF9pMmNfZ2VuZXJpY19o d19lbmdpbmVfZGVzdHJ1Y3QoCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3Bs YXkvZGMvaTJjYXV4L2kyY19nZW5lcmljX2h3X2VuZ2luZS5oIGIvZHJpdmVycy9ncHUvZHJtL2Ft ZC9kaXNwbGF5L2RjL2kyY2F1eC9pMmNfZ2VuZXJpY19od19lbmdpbmUuaAppbmRleCAwODNiYjBk Li4xZGEwMzk3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaTJj YXV4L2kyY19nZW5lcmljX2h3X2VuZ2luZS5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlz cGxheS9kYy9pMmNhdXgvaTJjX2dlbmVyaWNfaHdfZW5naW5lLmgKQEAgLTU5LDcgKzU5LDcgQEAg c3RydWN0IGkyY19nZW5lcmljX2h3X2VuZ2luZSB7CiAJY29uc3Qgc3RydWN0IGkyY19nZW5lcmlj X2h3X2VuZ2luZV9mdW5jcyAqZnVuY3M7CiB9OwogCi1ib29sIGRhbF9pMmNfZ2VuZXJpY19od19l bmdpbmVfY29uc3RydWN0KAordm9pZCBkYWxfaTJjX2dlbmVyaWNfaHdfZW5naW5lX2NvbnN0cnVj dCgKIAlzdHJ1Y3QgaTJjX2dlbmVyaWNfaHdfZW5naW5lICplbmdpbmUsCiAJc3RydWN0IGRjX2Nv bnRleHQgKmN0eCk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9k Yy9pMmNhdXgvaTJjX2h3X2VuZ2luZS5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2Rj L2kyY2F1eC9pMmNfaHdfZW5naW5lLmMKaW5kZXggMDBhOGYwNy4uNGI1NGZjZiAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2kyY2F1eC9pMmNfaHdfZW5naW5lLmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2kyY2F1eC9pMmNfaHdfZW5naW5l LmMKQEAgLTIyOCwxNSArMjI4LDEzIEBAIGVudW0gaTJjX2NoYW5uZWxfb3BlcmF0aW9uX3Jlc3Vs dCBkYWxfaTJjX2h3X2VuZ2luZV93YWl0X29uX29wZXJhdGlvbl9yZXN1bHQoCiAJcmV0dXJuIHJl c3VsdDsKIH0KIAotYm9vbCBkYWxfaTJjX2h3X2VuZ2luZV9jb25zdHJ1Y3QoCit2b2lkIGRhbF9p MmNfaHdfZW5naW5lX2NvbnN0cnVjdCgKIAlzdHJ1Y3QgaTJjX2h3X2VuZ2luZSAqZW5naW5lLAog CXN0cnVjdCBkY19jb250ZXh0ICpjdHgpCiB7Ci0JaWYgKCFkYWxfaTJjX2VuZ2luZV9jb25zdHJ1 Y3QoJmVuZ2luZS0+YmFzZSwgY3R4KSkKLQkJcmV0dXJuIGZhbHNlOworCWRhbF9pMmNfZW5naW5l X2NvbnN0cnVjdCgmZW5naW5lLT5iYXNlLCBjdHgpOwogCWVuZ2luZS0+b3JpZ2luYWxfc3BlZWQg PSBJMkNBVVhfREVGQVVMVF9JMkNfSFdfU1BFRUQ7CiAJZW5naW5lLT5kZWZhdWx0X3NwZWVkID0g STJDQVVYX0RFRkFVTFRfSTJDX0hXX1NQRUVEOwotCXJldHVybiB0cnVlOwogfQogCiB2b2lkIGRh bF9pMmNfaHdfZW5naW5lX2Rlc3RydWN0KApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2Ft ZC9kaXNwbGF5L2RjL2kyY2F1eC9pMmNfaHdfZW5naW5lLmggYi9kcml2ZXJzL2dwdS9kcm0vYW1k L2Rpc3BsYXkvZGMvaTJjYXV4L2kyY19od19lbmdpbmUuaAppbmRleCBmMmRmMTc0Li44OTM2YTk5 IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaTJjYXV4L2kyY19o d19lbmdpbmUuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaTJjYXV4L2ky Y19od19lbmdpbmUuaApAQCAtNTMsNyArNTMsNyBAQCBzdHJ1Y3QgaTJjX2h3X2VuZ2luZSB7CiAJ dWludDMyX3QgZGVmYXVsdF9zcGVlZDsKIH07CiAKLWJvb2wgZGFsX2kyY19od19lbmdpbmVfY29u c3RydWN0KAordm9pZCBkYWxfaTJjX2h3X2VuZ2luZV9jb25zdHJ1Y3QoCiAJc3RydWN0IGkyY19o d19lbmdpbmUgKmVuZ2luZSwKIAlzdHJ1Y3QgZGNfY29udGV4dCAqY3R4KTsKIApkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2kyY2F1eC9pMmNfc3dfZW5naW5lLmMg Yi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaTJjYXV4L2kyY19zd19lbmdpbmUuYwpp bmRleCA5ZDAwNzdhLi44ZTE5YmI2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rp c3BsYXkvZGMvaTJjYXV4L2kyY19zd19lbmdpbmUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1k L2Rpc3BsYXkvZGMvaTJjYXV4L2kyY19zd19lbmdpbmUuYwpAQCAtNTY5LDE3ICs1NjksMTQgQEAg c3RhdGljIGNvbnN0IHN0cnVjdCBlbmdpbmVfZnVuY3MgZW5naW5lX2Z1bmNzID0gewogCS5zdWJt aXRfcmVxdWVzdCA9IGRhbF9pMmNfc3dfZW5naW5lX3N1Ym1pdF9yZXF1ZXN0LAogfTsKIAotYm9v bCBkYWxfaTJjX3N3X2VuZ2luZV9jb25zdHJ1Y3QoCit2b2lkIGRhbF9pMmNfc3dfZW5naW5lX2Nv bnN0cnVjdCgKIAlzdHJ1Y3QgaTJjX3N3X2VuZ2luZSAqZW5naW5lLAogCWNvbnN0IHN0cnVjdCBp MmNfc3dfZW5naW5lX2NyZWF0ZV9hcmcgKmFyZykKIHsKLQlpZiAoIWRhbF9pMmNfZW5naW5lX2Nv bnN0cnVjdCgmZW5naW5lLT5iYXNlLCBhcmctPmN0eCkpCi0JCXJldHVybiBmYWxzZTsKLQorCWRh bF9pMmNfZW5naW5lX2NvbnN0cnVjdCgmZW5naW5lLT5iYXNlLCBhcmctPmN0eCk7CiAJZGFsX2ky Y19zd19lbmdpbmVfc2V0X3NwZWVkKCZlbmdpbmUtPmJhc2UsIGFyZy0+ZGVmYXVsdF9zcGVlZCk7 CiAJZW5naW5lLT5iYXNlLmZ1bmNzID0gJmkyY19lbmdpbmVfZnVuY3M7CiAJZW5naW5lLT5iYXNl LmJhc2UuZnVuY3MgPSAmZW5naW5lX2Z1bmNzOwotCXJldHVybiB0cnVlOwogfQogCiBzdHJ1Y3Qg aTJjX2VuZ2luZSAqZGFsX2kyY19zd19lbmdpbmVfY3JlYXRlKApAQCAtNTk5LDEyICs1OTYsNiBA QCBzdHJ1Y3QgaTJjX2VuZ2luZSAqZGFsX2kyY19zd19lbmdpbmVfY3JlYXRlKAogCQlyZXR1cm4g TlVMTDsKIAl9CiAKLQlpZiAoZGFsX2kyY19zd19lbmdpbmVfY29uc3RydWN0KGVuZ2luZSwgYXJn KSkKLQkJcmV0dXJuICZlbmdpbmUtPmJhc2U7Ci0KLQlCUkVBS19UT19ERUJVR0dFUigpOwotCi0J a2ZyZWUoZW5naW5lKTsKLQotCXJldHVybiBOVUxMOworCWRhbF9pMmNfc3dfZW5naW5lX2NvbnN0 cnVjdChlbmdpbmUsIGFyZyk7CisJcmV0dXJuICZlbmdpbmUtPmJhc2U7CiB9CmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaTJjYXV4L2kyY19zd19lbmdpbmUuaCBi L2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pMmNhdXgvaTJjX3N3X2VuZ2luZS5oCmlu ZGV4IGUwY2I0YzMuLjU0NmYxNWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlz cGxheS9kYy9pMmNhdXgvaTJjX3N3X2VuZ2luZS5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQv ZGlzcGxheS9kYy9pMmNhdXgvaTJjX3N3X2VuZ2luZS5oCkBAIC00OCw3ICs0OCw3IEBAIHN0cnVj dCBpMmNfc3dfZW5naW5lX2NyZWF0ZV9hcmcgewogCXN0cnVjdCBkY19jb250ZXh0ICpjdHg7CiB9 OwogCi1ib29sIGRhbF9pMmNfc3dfZW5naW5lX2NvbnN0cnVjdCgKK3ZvaWQgZGFsX2kyY19zd19l bmdpbmVfY29uc3RydWN0KAogCXN0cnVjdCBpMmNfc3dfZW5naW5lICplbmdpbmUsCiAJY29uc3Qg c3RydWN0IGkyY19zd19lbmdpbmVfY3JlYXRlX2FyZyAqYXJnKTsKIApkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2kyY2F1eC9pMmNhdXguYyBiL2RyaXZlcnMvZ3B1 L2RybS9hbWQvZGlzcGxheS9kYy9pMmNhdXgvaTJjYXV4LmMKaW5kZXggOWIxMTVlMS4uZTE1OTNm ZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2kyY2F1eC9pMmNh dXguYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaTJjYXV4L2kyY2F1eC5j CkBAIC00MjMsNyArNDIzLDcgQEAgdm9pZCBkYWxfaTJjYXV4X3JlbGVhc2VfZW5naW5lKAogCWVu Z2luZS0+ZGRjID0gTlVMTDsKIH0KIAotYm9vbCBkYWxfaTJjYXV4X2NvbnN0cnVjdCgKK3ZvaWQg ZGFsX2kyY2F1eF9jb25zdHJ1Y3QoCiAJc3RydWN0IGkyY2F1eCAqaTJjYXV4LAogCXN0cnVjdCBk Y19jb250ZXh0ICpjdHgpCiB7CkBAIC00NTEsOCArNDUxLDYgQEAgYm9vbCBkYWxfaTJjYXV4X2Nv bnN0cnVjdCgKIAkJaTJjYXV4LT5kZWZhdWx0X2kyY19od19zcGVlZCA9IERFRkFVTFRfSTJDX0hX X1NQRUVEOwogCQlpMmNhdXgtPmRlZmF1bHRfaTJjX3N3X3NwZWVkID0gREVGQVVMVF9JMkNfU1df U1BFRUQ7CiAJfQotCi0JcmV0dXJuIHRydWU7CiB9CiAKIHZvaWQgZGFsX2kyY2F1eF9kZXN0cnVj dCgKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pMmNhdXgvaTJj YXV4LmggYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaTJjYXV4L2kyY2F1eC5oCmlu ZGV4IGJjMjBkZTMuLjY0ZjUxYmIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlz cGxheS9kYy9pMmNhdXgvaTJjYXV4LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5 L2RjL2kyY2F1eC9pMmNhdXguaApAQCAtOTcsNyArOTcsNyBAQCBzdHJ1Y3QgaTJjYXV4IHsKIAl1 aW50MzJfdCBkZWZhdWx0X2kyY19od19zcGVlZDsKIH07CiAKLWJvb2wgZGFsX2kyY2F1eF9jb25z dHJ1Y3QoCit2b2lkIGRhbF9pMmNhdXhfY29uc3RydWN0KAogCXN0cnVjdCBpMmNhdXggKmkyY2F1 eCwKIAlzdHJ1Y3QgZGNfY29udGV4dCAqY3R4KTsKIAotLSAKMi45LjQKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmFtZC1nZnggbWFpbGluZyBsaXN0CmFt ZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vYW1kLWdmeAo=