From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Airlie Subject: [PATCH 4/9] amdgpu/dc: remove pointless returns in the i2caux constructor paths. Date: Fri, 29 Sep 2017 14:34:37 +1000 Message-ID: <20170929043442.7984-4-airlied@gmail.com> References: <20170929043442.7984-1-airlied@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170929043442.7984-1-airlied-Re5JQEeQqe8AvxtiuMwx3w@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 RnJvbTogRGF2ZSBBaXJsaWUgPGFpcmxpZWRAcmVkaGF0LmNvbT4KClRoZXJlIHdhcyBsb3RzIG9m IHJldHVybiB0cnVlLCBhbmQgZXJyb3IgY2hlY2tpbmcgdGhhdCB3YXMgbmV2ZXIgdXNlZAppbiB0 aGVzZSBwYXRocy4KCkp1c3QgcmVtb3ZlIGl0IGFsbC4KClNpZ25lZC1vZmYtYnk6IERhdmUgQWly bGllIDxhaXJsaWVkQHJlZGhhdC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5 L2RjL2kyY2F1eC9hdXhfZW5naW5lLmMgfCAgNiArKy0tCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2Rp c3BsYXkvZGMvaTJjYXV4L2F1eF9lbmdpbmUuaCB8ICAyICstCiAuLi4vYW1kL2Rpc3BsYXkvZGMv aTJjYXV4L2RjZTEwMC9pMmNhdXhfZGNlMTAwLmMgICB8IDIxICsrKysrLS0tLS0tLS0tCiAuLi4v ZGlzcGxheS9kYy9pMmNhdXgvZGNlMTEwL2F1eF9lbmdpbmVfZGNlMTEwLmMgICB8IDIwICsrKy0t LS0tLS0tLS0tCiAuLi4vZGMvaTJjYXV4L2RjZTExMC9pMmNfaHdfZW5naW5lX2RjZTExMC5jICAg ICAgICB8IDI0ICsrKysrKy0tLS0tLS0tLS0KIC4uLi9kYy9pMmNhdXgvZGNlMTEwL2kyY19od19l bmdpbmVfZGNlMTEwLmggICAgICAgIHwgIDQgLS0tCiAuLi4vZGMvaTJjYXV4L2RjZTExMC9pMmNf c3dfZW5naW5lX2RjZTExMC5jICAgICAgICB8IDIwICsrKy0tLS0tLS0tLS0tCiAuLi4vYW1kL2Rp c3BsYXkvZGMvaTJjYXV4L2RjZTExMC9pMmNhdXhfZGNlMTEwLmMgICB8IDMwICsrKysrKy0tLS0t LS0tLS0tLS0tCiAuLi4vYW1kL2Rpc3BsYXkvZGMvaTJjYXV4L2RjZTExMC9pMmNhdXhfZGNlMTEw LmggICB8ICAyICstCiAuLi4vYW1kL2Rpc3BsYXkvZGMvaTJjYXV4L2RjZTExMi9pMmNhdXhfZGNl MTEyLmMgICB8IDMwICsrKysrKy0tLS0tLS0tLS0tLS0tCiAuLi4vYW1kL2Rpc3BsYXkvZGMvaTJj YXV4L2RjZTEyMC9pMmNhdXhfZGNlMTIwLmMgICB8IDIxICsrKysrLS0tLS0tLS0tCiAuLi4vZGlz cGxheS9kYy9pMmNhdXgvZGNlODAvaTJjX2h3X2VuZ2luZV9kY2U4MC5jICB8IDMyICsrKysrKysr LS0tLS0tLS0tLS0tLS0KIC4uLi9kaXNwbGF5L2RjL2kyY2F1eC9kY2U4MC9pMmNfc3dfZW5naW5l X2RjZTgwLmMgIHwgMTcgKysrLS0tLS0tLS0tCiAuLi4vZHJtL2FtZC9kaXNwbGF5L2RjL2kyY2F1 eC9kY2U4MC9pMmNhdXhfZGNlODAuYyB8IDE5ICsrKy0tLS0tLS0tLS0KIC4uLi9kcm0vYW1kL2Rp c3BsYXkvZGMvaTJjYXV4L2RjbjEwL2kyY2F1eF9kY24xMC5jIHwgMjEgKysrKystLS0tLS0tLS0K IC4uLi9kaXNwbGF5L2RjL2kyY2F1eC9kaWFnbm9zdGljcy9pMmNhdXhfZGlhZy5jICAgIHwgMjAg KysrLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pMmNhdXgvZW5n aW5lLmggICAgIHwgIDIgKy0KIC4uLi9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2kyY2F1eC9lbmdp bmVfYmFzZS5jICAgIHwgIDMgKy0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pMmNh dXgvaTJjX2VuZ2luZS5jIHwgIDcgKystLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9k Yy9pMmNhdXgvaTJjX2VuZ2luZS5oIHwgIDIgKy0KIC4uLi9hbWQvZGlzcGxheS9kYy9pMmNhdXgv aTJjX2dlbmVyaWNfaHdfZW5naW5lLmMgIHwgIDYgKystLQogLi4uL2FtZC9kaXNwbGF5L2RjL2ky Y2F1eC9pMmNfZ2VuZXJpY19od19lbmdpbmUuaCAgfCAgMiArLQogLi4uL2dwdS9kcm0vYW1kL2Rp c3BsYXkvZGMvaTJjYXV4L2kyY19od19lbmdpbmUuYyAgfCAgNiArKy0tCiAuLi4vZ3B1L2RybS9h bWQvZGlzcGxheS9kYy9pMmNhdXgvaTJjX2h3X2VuZ2luZS5oICB8ICAyICstCiAuLi4vZ3B1L2Ry bS9hbWQvZGlzcGxheS9kYy9pMmNhdXgvaTJjX3N3X2VuZ2luZS5jICB8IDE3ICsrKy0tLS0tLS0t LQogLi4uL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaTJjYXV4L2kyY19zd19lbmdpbmUuaCAgfCAg MiArLQogZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2kyY2F1eC9pMmNhdXguYyAgICAg fCAgNCArLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pMmNhdXgvaTJjYXV4Lmgg ICAgIHwgIDIgKy0KIDI4IGZpbGVzIGNoYW5nZWQsIDEwMCBpbnNlcnRpb25zKCspLCAyNDQgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2ky Y2F1eC9hdXhfZW5naW5lLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaTJjYXV4 L2F1eF9lbmdpbmUuYwppbmRleCAzYzk2MDhjLi5mYzdhN2Q0IDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaTJjYXV4L2F1eF9lbmdpbmUuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaTJjYXV4L2F1eF9lbmdpbmUuYwpAQCAtNTU1LDE1ICs1 NTUsMTMgQEAgYm9vbCBkYWxfYXV4X2VuZ2luZV9zdWJtaXRfcmVxdWVzdCgKIAlyZXR1cm4gcmVz dWx0OwogfQogCi1ib29sIGRhbF9hdXhfZW5naW5lX2NvbnN0cnVjdCgKK3ZvaWQgZGFsX2F1eF9l bmdpbmVfY29uc3RydWN0KAogCXN0cnVjdCBhdXhfZW5naW5lICplbmdpbmUsCiAJc3RydWN0IGRj X2NvbnRleHQgKmN0eCkKIHsKLQlpZiAoIWRhbF9pMmNhdXhfY29uc3RydWN0X2VuZ2luZSgmZW5n aW5lLT5iYXNlLCBjdHgpKQotCQlyZXR1cm4gZmFsc2U7CisJZGFsX2kyY2F1eF9jb25zdHJ1Y3Rf ZW5naW5lKCZlbmdpbmUtPmJhc2UsIGN0eCk7CiAJZW5naW5lLT5kZWxheSA9IDA7CiAJZW5naW5l LT5tYXhfZGVmZXJfd3JpdGVfcmV0cnkgPSAwOwotCXJldHVybiB0cnVlOwogfQogCiB2b2lkIGRh bF9hdXhfZW5naW5lX2Rlc3RydWN0KApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9k aXNwbGF5L2RjL2kyY2F1eC9hdXhfZW5naW5lLmggYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3Bs YXkvZGMvaTJjYXV4L2F1eF9lbmdpbmUuaAppbmRleCA0MGIyMDI4Li44ZTcxMzI0IDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaTJjYXV4L2F1eF9lbmdpbmUuaAor KysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaTJjYXV4L2F1eF9lbmdpbmUuaApA QCAtMTAwLDcgKzEwMCw3IEBAIHN0cnVjdCBhdXhfZW5naW5lIHsKIAlib29sIGFjcXVpcmVfcmVz ZXQ7CiB9OwogCi1ib29sIGRhbF9hdXhfZW5naW5lX2NvbnN0cnVjdCgKK3ZvaWQgZGFsX2F1eF9l bmdpbmVfY29uc3RydWN0KAogCXN0cnVjdCBhdXhfZW5naW5lICplbmdpbmUsCiAJc3RydWN0IGRj X2NvbnRleHQgKmN0eCk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxh eS9kYy9pMmNhdXgvZGNlMTAwL2kyY2F1eF9kY2UxMDAuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQv ZGlzcGxheS9kYy9pMmNhdXgvZGNlMTAwL2kyY2F1eF9kY2UxMDAuYwppbmRleCBjNDVhMmVlLi5l OGQzNzgxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaTJjYXV4 L2RjZTEwMC9pMmNhdXhfZGNlMTAwLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5 L2RjL2kyY2F1eC9kY2UxMDAvaTJjYXV4X2RjZTEwMC5jCkBAIC05NSwxOCArOTUsMTEgQEAgc3Ry dWN0IGkyY2F1eCAqZGFsX2kyY2F1eF9kY2UxMDBfY3JlYXRlKAogCQlyZXR1cm4gTlVMTDsKIAl9 CiAKLQlpZiAoZGFsX2kyY2F1eF9kY2UxMTBfY29uc3RydWN0KAotCQkJaTJjYXV4X2RjZTExMCwK LQkJCWN0eCwKLQkJCWRjZTEwMF9hdXhfcmVncywKLQkJCWRjZTEwMF9od19lbmdpbmVfcmVncywK LQkJCSZpMmNfc2hpZnQsCi0JCQkmaTJjX21hc2spKQotCQlyZXR1cm4gJmkyY2F1eF9kY2UxMTAt PmJhc2U7Ci0KLQlBU1NFUlRfQ1JJVElDQUwoZmFsc2UpOwotCi0Ja2ZyZWUoaTJjYXV4X2RjZTEx MCk7Ci0KLQlyZXR1cm4gTlVMTDsKKwlkYWxfaTJjYXV4X2RjZTExMF9jb25zdHJ1Y3QoaTJjYXV4 X2RjZTExMCwKKwkJCQkgICAgY3R4LAorCQkJCSAgICBkY2UxMDBfYXV4X3JlZ3MsCisJCQkJICAg IGRjZTEwMF9od19lbmdpbmVfcmVncywKKwkJCQkgICAgJmkyY19zaGlmdCwKKwkJCQkgICAgJmky Y19tYXNrKTsKKwlyZXR1cm4gJmkyY2F1eF9kY2UxMTAtPmJhc2U7CiB9CmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaTJjYXV4L2RjZTExMC9hdXhfZW5naW5lX2Rj ZTExMC5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2kyY2F1eC9kY2UxMTAvYXV4 X2VuZ2luZV9kY2UxMTAuYwppbmRleCA0YjY3M2I0Li4wYzRiYmMxIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaTJjYXV4L2RjZTExMC9hdXhfZW5naW5lX2RjZTEx MC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pMmNhdXgvZGNlMTEwL2F1 eF9lbmdpbmVfZGNlMTEwLmMKQEAgLTQyNiwyMiArNDI2LDE2IEBAIHN0YXRpYyBjb25zdCBzdHJ1 Y3QgZW5naW5lX2Z1bmNzIGVuZ2luZV9mdW5jcyA9IHsKIAkuYWNxdWlyZSA9IGRhbF9hdXhfZW5n aW5lX2FjcXVpcmUsCiB9OwogCi1zdGF0aWMgYm9vbCBjb25zdHJ1Y3QoCitzdGF0aWMgdm9pZCBj b25zdHJ1Y3QoCiAJc3RydWN0IGF1eF9lbmdpbmVfZGNlMTEwICplbmdpbmUsCiAJY29uc3Qgc3Ry dWN0IGF1eF9lbmdpbmVfZGNlMTEwX2luaXRfZGF0YSAqYXV4X2luaXRfZGF0YSkKIHsKLQlpZiAo IWRhbF9hdXhfZW5naW5lX2NvbnN0cnVjdCgKLQkJJmVuZ2luZS0+YmFzZSwgYXV4X2luaXRfZGF0 YS0+Y3R4KSkgewotCQlBU1NFUlRfQ1JJVElDQUwoZmFsc2UpOwotCQlyZXR1cm4gZmFsc2U7Ci0J fQorCWRhbF9hdXhfZW5naW5lX2NvbnN0cnVjdCgmZW5naW5lLT5iYXNlLCBhdXhfaW5pdF9kYXRh LT5jdHgpOwogCWVuZ2luZS0+YmFzZS5iYXNlLmZ1bmNzID0gJmVuZ2luZV9mdW5jczsKIAllbmdp bmUtPmJhc2UuZnVuY3MgPSAmYXV4X2VuZ2luZV9mdW5jczsKIAogCWVuZ2luZS0+dGltZW91dF9w ZXJpb2QgPSBhdXhfaW5pdF9kYXRhLT50aW1lb3V0X3BlcmlvZDsKIAllbmdpbmUtPnJlZ3MgPSBh dXhfaW5pdF9kYXRhLT5yZWdzOwotCi0JcmV0dXJuIHRydWU7CiB9CiAKIHN0YXRpYyB2b2lkIGRl c3RydWN0KApAQCAtNDcxLDEyICs0NjUsNiBAQCBzdHJ1Y3QgYXV4X2VuZ2luZSAqZGFsX2F1eF9l bmdpbmVfZGNlMTEwX2NyZWF0ZSgKIAkJcmV0dXJuIE5VTEw7CiAJfQogCi0JaWYgKGNvbnN0cnVj dChlbmdpbmUsIGF1eF9pbml0X2RhdGEpKQotCQlyZXR1cm4gJmVuZ2luZS0+YmFzZTsKLQotCUFT U0VSVF9DUklUSUNBTChmYWxzZSk7Ci0KLQlrZnJlZShlbmdpbmUpOwotCi0JcmV0dXJuIE5VTEw7 CisJY29uc3RydWN0KGVuZ2luZSwgYXV4X2luaXRfZGF0YSk7CisJcmV0dXJuICZlbmdpbmUtPmJh c2U7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaTJjYXV4 L2RjZTExMC9pMmNfaHdfZW5naW5lX2RjZTExMC5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNw bGF5L2RjL2kyY2F1eC9kY2UxMTAvaTJjX2h3X2VuZ2luZV9kY2UxMTAuYwppbmRleCBhYWI3N2E4 Li4xYTViM2Y3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaTJj YXV4L2RjZTExMC9pMmNfaHdfZW5naW5lX2RjZTExMC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9h bWQvZGlzcGxheS9kYy9pMmNhdXgvZGNlMTEwL2kyY19od19lbmdpbmVfZGNlMTEwLmMKQEAgLTQ5 OCwxNyArNDk4LDEzIEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2h3X2VuZ2luZV9mdW5jcyBp MmNfaHdfZW5naW5lX2Z1bmNzID0gewogCS53YWl0X29uX29wZXJhdGlvbl9yZXN1bHQgPSBkYWxf aTJjX2h3X2VuZ2luZV93YWl0X29uX29wZXJhdGlvbl9yZXN1bHQsCiB9OwogCi1ib29sIGkyY19o d19lbmdpbmVfZGNlMTEwX2NvbnN0cnVjdCgKK3N0YXRpYyB2b2lkIGNvbnN0cnVjdCgKIAlzdHJ1 Y3QgaTJjX2h3X2VuZ2luZV9kY2UxMTAgKmh3X2VuZ2luZSwKIAljb25zdCBzdHJ1Y3QgaTJjX2h3 X2VuZ2luZV9kY2UxMTBfY3JlYXRlX2FyZyAqYXJnKQogewogCXVpbnQzMl90IHh0YWxfcmVmX2Rp diA9IDA7CiAKLQlpZiAoIWFyZy0+cmVmZXJlbmNlX2ZyZXF1ZW5jeSkKLQkJcmV0dXJuIGZhbHNl OwotCi0JaWYgKCFkYWxfaTJjX2h3X2VuZ2luZV9jb25zdHJ1Y3QoJmh3X2VuZ2luZS0+YmFzZSwg YXJnLT5jdHgpKQotCQlyZXR1cm4gZmFsc2U7CisJZGFsX2kyY19od19lbmdpbmVfY29uc3RydWN0 KCZod19lbmdpbmUtPmJhc2UsIGFyZy0+Y3R4KTsKIAogCWh3X2VuZ2luZS0+YmFzZS5iYXNlLmJh c2UuZnVuY3MgPSAmZW5naW5lX2Z1bmNzOwogCWh3X2VuZ2luZS0+YmFzZS5iYXNlLmZ1bmNzID0g JmkyY19lbmdpbmVfZnVuY3M7CkBAIC01NDUsOCArNTQxLDYgQEAgYm9vbCBpMmNfaHdfZW5naW5l X2RjZTExMF9jb25zdHJ1Y3QoCiAJICovCiAJaHdfZW5naW5lLT5yZWZlcmVuY2VfZnJlcXVlbmN5 ID0KIAkJKGFyZy0+cmVmZXJlbmNlX2ZyZXF1ZW5jeSAqIDIpIC8geHRhbF9yZWZfZGl2OwotCi0J cmV0dXJuIHRydWU7CiB9CiAKIHN0cnVjdCBpMmNfZW5naW5lICpkYWxfaTJjX2h3X2VuZ2luZV9k Y2UxMTBfY3JlYXRlKApAQCAtNTU4LDYgKzU1MiwxMCBAQCBzdHJ1Y3QgaTJjX2VuZ2luZSAqZGFs X2kyY19od19lbmdpbmVfZGNlMTEwX2NyZWF0ZSgKIAkJQVNTRVJUX0NSSVRJQ0FMKGZhbHNlKTsK IAkJcmV0dXJuIE5VTEw7CiAJfQorCWlmICghYXJnLT5yZWZlcmVuY2VfZnJlcXVlbmN5KSB7CisJ CUFTU0VSVF9DUklUSUNBTChmYWxzZSk7CisJCXJldHVybiBOVUxMOworCX0KIAogCWVuZ2luZV9k Y2UxMCA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBpMmNfaHdfZW5naW5lX2RjZTExMCksCiAJCQkg ICAgICAgR0ZQX0tFUk5FTCk7CkBAIC01NjcsMTIgKzU2NSw2IEBAIHN0cnVjdCBpMmNfZW5naW5l ICpkYWxfaTJjX2h3X2VuZ2luZV9kY2UxMTBfY3JlYXRlKAogCQlyZXR1cm4gTlVMTDsKIAl9CiAK LQlpZiAoaTJjX2h3X2VuZ2luZV9kY2UxMTBfY29uc3RydWN0KGVuZ2luZV9kY2UxMCwgYXJnKSkK LQkJcmV0dXJuICZlbmdpbmVfZGNlMTAtPmJhc2UuYmFzZTsKLQotCUFTU0VSVF9DUklUSUNBTChm YWxzZSk7Ci0KLQlrZnJlZShlbmdpbmVfZGNlMTApOwotCi0JcmV0dXJuIE5VTEw7CisJY29uc3Ry dWN0KGVuZ2luZV9kY2UxMCwgYXJnKTsKKwlyZXR1cm4gJmVuZ2luZV9kY2UxMC0+YmFzZS5iYXNl OwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2kyY2F1eC9k Y2UxMTAvaTJjX2h3X2VuZ2luZV9kY2UxMTAuaCBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxh eS9kYy9pMmNhdXgvZGNlMTEwL2kyY19od19lbmdpbmVfZGNlMTEwLmgKaW5kZXggYzU3M2M2NC4u NWJiMDQwOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2kyY2F1 eC9kY2UxMTAvaTJjX2h3X2VuZ2luZV9kY2UxMTAuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1k L2Rpc3BsYXkvZGMvaTJjYXV4L2RjZTExMC9pMmNfaHdfZW5naW5lX2RjZTExMC5oCkBAIC0yMDcs OCArMjA3LDQgQEAgc3RydWN0IGkyY19od19lbmdpbmVfZGNlMTEwX2NyZWF0ZV9hcmcgewogc3Ry dWN0IGkyY19lbmdpbmUgKmRhbF9pMmNfaHdfZW5naW5lX2RjZTExMF9jcmVhdGUoCiAJY29uc3Qg c3RydWN0IGkyY19od19lbmdpbmVfZGNlMTEwX2NyZWF0ZV9hcmcgKmFyZyk7CiAKLWJvb2wgaTJj X2h3X2VuZ2luZV9kY2UxMTBfY29uc3RydWN0KAotCXN0cnVjdCBpMmNfaHdfZW5naW5lX2RjZTEx MCAqZW5naW5lX2RjZTExMCwKLQljb25zdCBzdHJ1Y3QgaTJjX2h3X2VuZ2luZV9kY2UxMTBfY3Jl YXRlX2FyZyAqYXJnKTsKLQogI2VuZGlmCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1k L2Rpc3BsYXkvZGMvaTJjYXV4L2RjZTExMC9pMmNfc3dfZW5naW5lX2RjZTExMC5jIGIvZHJpdmVy cy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2kyY2F1eC9kY2UxMTAvaTJjX3N3X2VuZ2luZV9kY2Ux MTAuYwppbmRleCBiZjJjNGIyLi4zYWE3Zjc5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v YW1kL2Rpc3BsYXkvZGMvaTJjYXV4L2RjZTExMC9pMmNfc3dfZW5naW5lX2RjZTExMC5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pMmNhdXgvZGNlMTEwL2kyY19zd19lbmdp bmVfZGNlMTEwLmMKQEAgLTExOCw3ICsxMTgsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGVuZ2lu ZV9mdW5jcyBlbmdpbmVfZnVuY3MgPSB7CiAJLnN1Ym1pdF9yZXF1ZXN0ID0gZGFsX2kyY19zd19l bmdpbmVfc3VibWl0X3JlcXVlc3QsCiB9OwogCi1zdGF0aWMgYm9vbCBjb25zdHJ1Y3QoCitzdGF0 aWMgdm9pZCBjb25zdHJ1Y3QoCiAJc3RydWN0IGkyY19zd19lbmdpbmVfZGNlMTEwICplbmdpbmVf ZGNlMTEwLAogCWNvbnN0IHN0cnVjdCBpMmNfc3dfZW5naW5lX2RjZTExMF9jcmVhdGVfYXJnICph cmdfZGNlMTEwKQogewpAQCAtMTI3LDExICsxMjcsNyBAQCBzdGF0aWMgYm9vbCBjb25zdHJ1Y3Qo CiAJYXJnX2Jhc2UuY3R4ID0gYXJnX2RjZTExMC0+Y3R4OwogCWFyZ19iYXNlLmRlZmF1bHRfc3Bl ZWQgPSBhcmdfZGNlMTEwLT5kZWZhdWx0X3NwZWVkOwogCi0JaWYgKCFkYWxfaTJjX3N3X2VuZ2lu ZV9jb25zdHJ1Y3QoCi0JCQkmZW5naW5lX2RjZTExMC0+YmFzZSwgJmFyZ19iYXNlKSkgewotCQlB U1NFUlRfQ1JJVElDQUwoZmFsc2UpOwotCQlyZXR1cm4gZmFsc2U7Ci0JfQorCWRhbF9pMmNfc3df ZW5naW5lX2NvbnN0cnVjdCgmZW5naW5lX2RjZTExMC0+YmFzZSwgJmFyZ19iYXNlKTsKIAogCS8q c3RydWN0IGVuZ2luZSAgIHN0cnVjdCBlbmdpbmVfZnVuY3MqLwogCWVuZ2luZV9kY2UxMTAtPmJh c2UuYmFzZS5iYXNlLmZ1bmNzID0gJmVuZ2luZV9mdW5jczsKQEAgLTEzOSw4ICsxMzUsNiBAQCBz dGF0aWMgYm9vbCBjb25zdHJ1Y3QoCiAJZW5naW5lX2RjZTExMC0+YmFzZS5iYXNlLmZ1bmNzID0g JmkyY19lbmdpbmVfZnVuY3M7CiAJZW5naW5lX2RjZTExMC0+YmFzZS5kZWZhdWx0X3NwZWVkID0g YXJnX2RjZTExMC0+ZGVmYXVsdF9zcGVlZDsKIAllbmdpbmVfZGNlMTEwLT5lbmdpbmVfaWQgPSBh cmdfZGNlMTEwLT5lbmdpbmVfaWQ7Ci0KLQlyZXR1cm4gdHJ1ZTsKIH0KIAogc3RydWN0IGkyY19l bmdpbmUgKmRhbF9pMmNfc3dfZW5naW5lX2RjZTExMF9jcmVhdGUoCkBAIC0xNjEsMTIgKzE1NSw2 IEBAIHN0cnVjdCBpMmNfZW5naW5lICpkYWxfaTJjX3N3X2VuZ2luZV9kY2UxMTBfY3JlYXRlKAog CQlyZXR1cm4gTlVMTDsKIAl9CiAKLQlpZiAoY29uc3RydWN0KGVuZ2luZV9kY2UxMTAsIGFyZykp Ci0JCXJldHVybiAmZW5naW5lX2RjZTExMC0+YmFzZS5iYXNlOwotCi0JQVNTRVJUX0NSSVRJQ0FM KGZhbHNlKTsKLQotCWtmcmVlKGVuZ2luZV9kY2UxMTApOwotCi0JcmV0dXJuIE5VTEw7CisJY29u c3RydWN0KGVuZ2luZV9kY2UxMTAsIGFyZyk7CisJcmV0dXJuICZlbmdpbmVfZGNlMTEwLT5iYXNl LmJhc2U7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaTJj YXV4L2RjZTExMC9pMmNhdXhfZGNlMTEwLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkv ZGMvaTJjYXV4L2RjZTExMC9pMmNhdXhfZGNlMTEwLmMKaW5kZXggYWU5YWRiMy4uMmEwNDdmOCAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2kyY2F1eC9kY2UxMTAv aTJjYXV4X2RjZTExMC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pMmNh dXgvZGNlMTEwL2kyY2F1eF9kY2UxMTAuYwpAQCAtMTk2LDcgKzE5Niw3IEBAIHN0YXRpYyBjb25z dCBzdHJ1Y3QgZGNlMTEwX2kyY19od19lbmdpbmVfbWFzayBpMmNfbWFzayA9IHsKIAkJSTJDX0NP TU1PTl9NQVNLX1NIX0xJU1RfRENFMTEwKF9NQVNLKQogfTsKIAotYm9vbCBkYWxfaTJjYXV4X2Rj ZTExMF9jb25zdHJ1Y3QoCit2b2lkIGRhbF9pMmNhdXhfZGNlMTEwX2NvbnN0cnVjdCgKIAlzdHJ1 Y3QgaTJjYXV4X2RjZTExMCAqaTJjYXV4X2RjZTExMCwKIAlzdHJ1Y3QgZGNfY29udGV4dCAqY3R4 LAogCWNvbnN0IHN0cnVjdCBkY2UxMTBfYXV4X3JlZ2lzdGVycyBhdXhfcmVnc1tdLApAQCAtMjE3 LDEwICsyMTcsNyBAQCBib29sIGRhbF9pMmNhdXhfZGNlMTEwX2NvbnN0cnVjdCgKIAogCWJhc2Ug PSAmaTJjYXV4X2RjZTExMC0+YmFzZTsKIAotCWlmICghZGFsX2kyY2F1eF9jb25zdHJ1Y3QoYmFz ZSwgY3R4KSkgewotCQlBU1NFUlRfQ1JJVElDQUwoZmFsc2UpOwotCQlyZXR1cm4gZmFsc2U7Ci0J fQorCWRhbF9pMmNhdXhfY29uc3RydWN0KGJhc2UsIGN0eCk7CiAKIAlpMmNhdXhfZGNlMTEwLT5i YXNlLmZ1bmNzID0gJmkyY2F1eF9mdW5jczsKIAlpMmNhdXhfZGNlMTEwLT5pMmNfaHdfYnVmZmVy X2luX3VzZSA9IGZhbHNlOwpAQCAtMjc4LDggKzI3NSw2IEBAIGJvb2wgZGFsX2kyY2F1eF9kY2Ux MTBfY29uc3RydWN0KAogCX0gd2hpbGUgKGkgPCBBUlJBWV9TSVpFKGh3X2F1eF9saW5lcykpOwog CiAJLypUT0RPIEdlbmVyaWMgSTJDIFNXIGFuZCBIVyovCi0KLQlyZXR1cm4gdHJ1ZTsKIH0KIAog LyoKQEAgLTMwNiwxOCArMzAxLDExIEBAIHN0cnVjdCBpMmNhdXggKmRhbF9pMmNhdXhfZGNlMTEw X2NyZWF0ZSgKIAkJcmV0dXJuIE5VTEw7CiAJfQogCi0JaWYgKGRhbF9pMmNhdXhfZGNlMTEwX2Nv bnN0cnVjdCgKLQkJCWkyY2F1eF9kY2UxMTAsCi0JCQljdHgsCi0JCQlkY2UxMTBfYXV4X3JlZ3Ms Ci0JCQlpMmNfaHdfZW5naW5lX3JlZ3MsCi0JCQkmaTJjX3NoaWZ0LAotCQkJJmkyY19tYXNrKSkK LQkJcmV0dXJuICZpMmNhdXhfZGNlMTEwLT5iYXNlOwotCi0JQVNTRVJUX0NSSVRJQ0FMKGZhbHNl KTsKLQotCWtmcmVlKGkyY2F1eF9kY2UxMTApOwotCi0JcmV0dXJuIE5VTEw7CisJZGFsX2kyY2F1 eF9kY2UxMTBfY29uc3RydWN0KGkyY2F1eF9kY2UxMTAsCisJCQkJICAgIGN0eCwKKwkJCQkgICAg ZGNlMTEwX2F1eF9yZWdzLAorCQkJCSAgICBpMmNfaHdfZW5naW5lX3JlZ3MsCisJCQkJICAgICZp MmNfc2hpZnQsCisJCQkJICAgICZpMmNfbWFzayk7CisJcmV0dXJuICZpMmNhdXhfZGNlMTEwLT5i YXNlOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2kyY2F1 eC9kY2UxMTAvaTJjYXV4X2RjZTExMC5oIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2Rj L2kyY2F1eC9kY2UxMTAvaTJjYXV4X2RjZTExMC5oCmluZGV4IGZkMWNjMjMuLjFiMWY3MWMgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pMmNhdXgvZGNlMTEwL2ky Y2F1eF9kY2UxMTAuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaTJjYXV4 L2RjZTExMC9pMmNhdXhfZGNlMTEwLmgKQEAgLTQyLDcgKzQyLDcgQEAgc3RydWN0IGRjZTExMF9p MmNfaHdfZW5naW5lX21hc2s7CiBzdHJ1Y3QgaTJjYXV4ICpkYWxfaTJjYXV4X2RjZTExMF9jcmVh dGUoCiAJc3RydWN0IGRjX2NvbnRleHQgKmN0eCk7CiAKLWJvb2wgZGFsX2kyY2F1eF9kY2UxMTBf Y29uc3RydWN0KAordm9pZCBkYWxfaTJjYXV4X2RjZTExMF9jb25zdHJ1Y3QoCiAJc3RydWN0IGky Y2F1eF9kY2UxMTAgKmkyY2F1eF9kY2UxMTAsCiAJc3RydWN0IGRjX2NvbnRleHQgKmN0eCwKIAlj b25zdCBzdHJ1Y3QgZGNlMTEwX2F1eF9yZWdpc3RlcnMgKmF1eF9yZWdzLApkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2kyY2F1eC9kY2UxMTIvaTJjYXV4X2RjZTEx Mi5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2kyY2F1eC9kY2UxMTIvaTJjYXV4 X2RjZTExMi5jCmluZGV4IDcxNWJhNDMuLmRhZmMxYTcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9hbWQvZGlzcGxheS9kYy9pMmNhdXgvZGNlMTEyL2kyY2F1eF9kY2UxMTIuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaTJjYXV4L2RjZTExMi9pMmNhdXhfZGNlMTEy LmMKQEAgLTg3LDIyICs4NywxNiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRjZTExMF9pMmNfaHdf ZW5naW5lX21hc2sgaTJjX21hc2sgPSB7CiAJCUkyQ19DT01NT05fTUFTS19TSF9MSVNUX0RDRTEx MChfTUFTSykKIH07CiAKLXN0YXRpYyBib29sIGNvbnN0cnVjdCgKK3N0YXRpYyB2b2lkIGNvbnN0 cnVjdCgKIAlzdHJ1Y3QgaTJjYXV4X2RjZTExMCAqaTJjYXV4X2RjZTExMCwKIAlzdHJ1Y3QgZGNf Y29udGV4dCAqY3R4KQogewotCWlmICghZGFsX2kyY2F1eF9kY2UxMTBfY29uc3RydWN0KAotCQkJ aTJjYXV4X2RjZTExMCwKLQkJCWN0eCwKLQkJCWRjZTExMl9hdXhfcmVncywKLQkJCWRjZTExMl9o d19lbmdpbmVfcmVncywKLQkJCSZpMmNfc2hpZnQsCi0JCQkmaTJjX21hc2spKSB7Ci0JCUFTU0VS VF9DUklUSUNBTChmYWxzZSk7Ci0JCXJldHVybiBmYWxzZTsKLQl9Ci0KLQlyZXR1cm4gdHJ1ZTsK KwlkYWxfaTJjYXV4X2RjZTExMF9jb25zdHJ1Y3QoaTJjYXV4X2RjZTExMCwKKwkJCQkgICAgY3R4 LAorCQkJCSAgICBkY2UxMTJfYXV4X3JlZ3MsCisJCQkJICAgIGRjZTExMl9od19lbmdpbmVfcmVn cywKKwkJCQkgICAgJmkyY19zaGlmdCwKKwkJCQkgICAgJmkyY19tYXNrKTsKIH0KIAogLyoKQEAg LTEyOSwxMiArMTIzLDYgQEAgc3RydWN0IGkyY2F1eCAqZGFsX2kyY2F1eF9kY2UxMTJfY3JlYXRl KAogCQlyZXR1cm4gTlVMTDsKIAl9CiAKLQlpZiAoY29uc3RydWN0KGkyY2F1eF9kY2UxMTAsIGN0 eCkpCi0JCXJldHVybiAmaTJjYXV4X2RjZTExMC0+YmFzZTsKLQotCUFTU0VSVF9DUklUSUNBTChm YWxzZSk7Ci0KLQlrZnJlZShpMmNhdXhfZGNlMTEwKTsKLQotCXJldHVybiBOVUxMOworCWNvbnN0 cnVjdChpMmNhdXhfZGNlMTEwLCBjdHgpOworCXJldHVybiAmaTJjYXV4X2RjZTExMC0+YmFzZTsK IH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pMmNhdXgvZGNl MTIwL2kyY2F1eF9kY2UxMjAuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pMmNh dXgvZGNlMTIwL2kyY2F1eF9kY2UxMjAuYwppbmRleCBkNTI4MjdhLi42Njg5ODFhIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaTJjYXV4L2RjZTEyMC9pMmNhdXhf ZGNlMTIwLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2kyY2F1eC9kY2Ux MjAvaTJjYXV4X2RjZTEyMC5jCkBAIC0xMDgsMTggKzEwOCwxMSBAQCBzdHJ1Y3QgaTJjYXV4ICpk YWxfaTJjYXV4X2RjZTEyMF9jcmVhdGUoCiAJCXJldHVybiBOVUxMOwogCX0KIAotCWlmIChkYWxf aTJjYXV4X2RjZTExMF9jb25zdHJ1Y3QoCi0JCQlpMmNhdXhfZGNlMTEwLAotCQkJY3R4LAotCQkJ ZGNlMTIwX2F1eF9yZWdzLAotCQkJZGNlMTIwX2h3X2VuZ2luZV9yZWdzLAotCQkJJmkyY19zaGlm dCwKLQkJCSZpMmNfbWFzaykpCi0JCXJldHVybiAmaTJjYXV4X2RjZTExMC0+YmFzZTsKLQotCUFT U0VSVF9DUklUSUNBTChmYWxzZSk7Ci0KLQlrZnJlZShpMmNhdXhfZGNlMTEwKTsKLQotCXJldHVy biBOVUxMOworCWRhbF9pMmNhdXhfZGNlMTEwX2NvbnN0cnVjdChpMmNhdXhfZGNlMTEwLAorCQkJ CSAgICBjdHgsCisJCQkJICAgIGRjZTEyMF9hdXhfcmVncywKKwkJCQkgICAgZGNlMTIwX2h3X2Vu Z2luZV9yZWdzLAorCQkJCSAgICAmaTJjX3NoaWZ0LAorCQkJCSAgICAmaTJjX21hc2spOworCXJl dHVybiAmaTJjYXV4X2RjZTExMC0+YmFzZTsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvZGlzcGxheS9kYy9pMmNhdXgvZGNlODAvaTJjX2h3X2VuZ2luZV9kY2U4MC5jIGIvZHJp dmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2kyY2F1eC9kY2U4MC9pMmNfaHdfZW5naW5lX2Rj ZTgwLmMKaW5kZXggZDQxZTM3Yy4uZmQwODMyZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2FtZC9kaXNwbGF5L2RjL2kyY2F1eC9kY2U4MC9pMmNfaHdfZW5naW5lX2RjZTgwLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2kyY2F1eC9kY2U4MC9pMmNfaHdfZW5naW5l X2RjZTgwLmMKQEAgLTgyNCwyMCArODI0LDExIEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2h3 X2VuZ2luZV9mdW5jcyBpMmNfaHdfZW5naW5lX2Z1bmNzID0gewogCQlkYWxfaTJjX2h3X2VuZ2lu ZV93YWl0X29uX29wZXJhdGlvbl9yZXN1bHQsCiB9OwogCi1zdGF0aWMgYm9vbCBjb25zdHJ1Y3Qo CitzdGF0aWMgdm9pZCBjb25zdHJ1Y3QoCiAJc3RydWN0IGkyY19od19lbmdpbmVfZGNlODAgKmVu Z2luZSwKIAljb25zdCBzdHJ1Y3QgaTJjX2h3X2VuZ2luZV9kY2U4MF9jcmVhdGVfYXJnICphcmcp CiB7Ci0JaWYgKGFyZy0+ZW5naW5lX2lkID49IHNpemVvZihkZGNfc2V0dXBfb2Zmc2V0KSAvIHNp emVvZihpbnQzMl90KSkKLQkJcmV0dXJuIGZhbHNlOwotCWlmIChhcmctPmVuZ2luZV9pZCA+PSBz aXplb2YoZGRjX3NwZWVkX29mZnNldCkgLyBzaXplb2YoaW50MzJfdCkpCi0JCXJldHVybiBmYWxz ZTsKLQotCWlmICghYXJnLT5yZWZlcmVuY2VfZnJlcXVlbmN5KQotCQlyZXR1cm4gZmFsc2U7Ci0K LQlpZiAoIWRhbF9pMmNfaHdfZW5naW5lX2NvbnN0cnVjdCgmZW5naW5lLT5iYXNlLCBhcmctPmN0 eCkpCi0JCXJldHVybiBmYWxzZTsKKwlkYWxfaTJjX2h3X2VuZ2luZV9jb25zdHJ1Y3QoJmVuZ2lu ZS0+YmFzZSwgYXJnLT5jdHgpOwogCiAJZW5naW5lLT5iYXNlLmJhc2UuYmFzZS5mdW5jcyA9ICZl bmdpbmVfZnVuY3M7CiAJZW5naW5lLT5iYXNlLmJhc2UuZnVuY3MgPSAmaTJjX2VuZ2luZV9mdW5j czsKQEAgLTg1Myw4ICs4NDQsNiBAQCBzdGF0aWMgYm9vbCBjb25zdHJ1Y3QoCiAJZW5naW5lLT5i dWZmZXJfdXNlZF9ieXRlcyA9IDA7CiAJZW5naW5lLT50cmFuc2FjdGlvbl9jb3VudCA9IDA7CiAJ ZW5naW5lLT5lbmdpbmVfa2VlcF9wb3dlcl91cF9jb3VudCA9IDE7Ci0KLQlyZXR1cm4gdHJ1ZTsK IH0KIAogc3RydWN0IGkyY19lbmdpbmUgKmRhbF9pMmNfaHdfZW5naW5lX2RjZTgwX2NyZWF0ZSgK QEAgLTg2Nyw2ICs4NTYsMTMgQEAgc3RydWN0IGkyY19lbmdpbmUgKmRhbF9pMmNfaHdfZW5naW5l X2RjZTgwX2NyZWF0ZSgKIAkJcmV0dXJuIE5VTEw7CiAJfQogCisJaWYgKChhcmctPmVuZ2luZV9p ZCA+PSBzaXplb2YoZGRjX3NldHVwX29mZnNldCkgLyBzaXplb2YoaW50MzJfdCkpIHx8CisJICAg IChhcmctPmVuZ2luZV9pZCA+PSBzaXplb2YoZGRjX3NwZWVkX29mZnNldCkgLyBzaXplb2YoaW50 MzJfdCkpIHx8CisJICAgICFhcmctPnJlZmVyZW5jZV9mcmVxdWVuY3kpIHsKKwkJQlJFQUtfVE9f REVCVUdHRVIoKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCiAJZW5naW5lID0ga3phbGxvYyhzaXpl b2Yoc3RydWN0IGkyY19od19lbmdpbmVfZGNlODApLCBHRlBfS0VSTkVMKTsKIAogCWlmICghZW5n aW5lKSB7CkBAIC04NzQsMTIgKzg3MCw2IEBAIHN0cnVjdCBpMmNfZW5naW5lICpkYWxfaTJjX2h3 X2VuZ2luZV9kY2U4MF9jcmVhdGUoCiAJCXJldHVybiBOVUxMOwogCX0KIAotCWlmIChjb25zdHJ1 Y3QoZW5naW5lLCBhcmcpKQotCQlyZXR1cm4gJmVuZ2luZS0+YmFzZS5iYXNlOwotCi0JQlJFQUtf VE9fREVCVUdHRVIoKTsKLQotCWtmcmVlKGVuZ2luZSk7Ci0KLQlyZXR1cm4gTlVMTDsKKwljb25z dHJ1Y3QoZW5naW5lLCBhcmcpOworCXJldHVybiAmZW5naW5lLT5iYXNlLmJhc2U7CiB9CmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaTJjYXV4L2RjZTgwL2kyY19z d19lbmdpbmVfZGNlODAuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pMmNhdXgv ZGNlODAvaTJjX3N3X2VuZ2luZV9kY2U4MC5jCmluZGV4IDZiZTc3YmMuLjQwZDlhNjUgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pMmNhdXgvZGNlODAvaTJjX3N3 X2VuZ2luZV9kY2U4MC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pMmNh dXgvZGNlODAvaTJjX3N3X2VuZ2luZV9kY2U4MC5jCkBAIC0xMzMsNyArMTMzLDcgQEAgc3RhdGlj IGNvbnN0IHN0cnVjdCBlbmdpbmVfZnVuY3MgZW5naW5lX2Z1bmNzID0gewogCS5zdWJtaXRfcmVx dWVzdCA9IGRhbF9pMmNfc3dfZW5naW5lX3N1Ym1pdF9yZXF1ZXN0LAogfTsKIAotc3RhdGljIGJv b2wgY29uc3RydWN0KAorc3RhdGljIHZvaWQgY29uc3RydWN0KAogCXN0cnVjdCBpMmNfc3dfZW5n aW5lX2RjZTgwICplbmdpbmUsCiAJY29uc3Qgc3RydWN0IGkyY19zd19lbmdpbmVfZGNlODBfY3Jl YXRlX2FyZyAqYXJnKQogewpAQCAtMTQyLDEwICsxNDIsNyBAQCBzdGF0aWMgYm9vbCBjb25zdHJ1 Y3QoCiAJYXJnX2Jhc2UuY3R4ID0gYXJnLT5jdHg7CiAJYXJnX2Jhc2UuZGVmYXVsdF9zcGVlZCA9 IGFyZy0+ZGVmYXVsdF9zcGVlZDsKIAotCWlmICghZGFsX2kyY19zd19lbmdpbmVfY29uc3RydWN0 KCZlbmdpbmUtPmJhc2UsICZhcmdfYmFzZSkpIHsKLQkJQlJFQUtfVE9fREVCVUdHRVIoKTsKLQkJ cmV0dXJuIGZhbHNlOwotCX0KKwlkYWxfaTJjX3N3X2VuZ2luZV9jb25zdHJ1Y3QoJmVuZ2luZS0+ YmFzZSwgJmFyZ19iYXNlKTsKIAogCWVuZ2luZS0+YmFzZS5iYXNlLmJhc2UuZnVuY3MgPSAmZW5n aW5lX2Z1bmNzOwogCWVuZ2luZS0+YmFzZS5iYXNlLmZ1bmNzID0gJmkyY19lbmdpbmVfZnVuY3M7 CkBAIC0xNzIsMTMgKzE2OSw3IEBAIHN0cnVjdCBpMmNfZW5naW5lICpkYWxfaTJjX3N3X2VuZ2lu ZV9kY2U4MF9jcmVhdGUoCiAJCXJldHVybiBOVUxMOwogCX0KIAotCWlmIChjb25zdHJ1Y3QoZW5n aW5lLCBhcmcpKQotCQlyZXR1cm4gJmVuZ2luZS0+YmFzZS5iYXNlOwotCi0JQlJFQUtfVE9fREVC VUdHRVIoKTsKLQotCWtmcmVlKGVuZ2luZSk7Ci0KLQlyZXR1cm4gTlVMTDsKKwljb25zdHJ1Y3Qo ZW5naW5lLCBhcmcpOworCXJldHVybiAmZW5naW5lLT5iYXNlLmJhc2U7CiB9CiAKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pMmNhdXgvZGNlODAvaTJjYXV4X2Rj ZTgwLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaTJjYXV4L2RjZTgwL2kyY2F1 eF9kY2U4MC5jCmluZGV4IGQzYzE1N2UuLmVkNDg1OTYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9hbWQvZGlzcGxheS9kYy9pMmNhdXgvZGNlODAvaTJjYXV4X2RjZTgwLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2kyY2F1eC9kY2U4MC9pMmNhdXhfZGNlODAuYwpA QCAtMTg3LDcgKzE4Nyw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjYXV4X2Z1bmNzIGkyY2F1 eF9mdW5jcyA9IHsKIAkuYWNxdWlyZV9hdXhfZW5naW5lID0gZGFsX2kyY2F1eF9hY3F1aXJlX2F1 eF9lbmdpbmUsCiB9OwogCi1zdGF0aWMgYm9vbCBjb25zdHJ1Y3QoCitzdGF0aWMgdm9pZCBjb25z dHJ1Y3QoCiAJc3RydWN0IGkyY2F1eF9kY2U4MCAqaTJjYXV4X2RjZTgwLAogCXN0cnVjdCBkY19j b250ZXh0ICpjdHgpCiB7CkBAIC0yMDcsMTAgKzIwNyw3IEBAIHN0YXRpYyBib29sIGNvbnN0cnVj dCgKIAogCXVpbnQzMl90IGk7CiAKLQlpZiAoIWRhbF9pMmNhdXhfY29uc3RydWN0KGJhc2UsIGN0 eCkpIHsKLQkJQlJFQUtfVE9fREVCVUdHRVIoKTsKLQkJcmV0dXJuIGZhbHNlOwotCX0KKwlkYWxf aTJjYXV4X2NvbnN0cnVjdChiYXNlLCBjdHgpOwogCiAJaTJjYXV4X2RjZTgwLT5iYXNlLmZ1bmNz ID0gJmkyY2F1eF9mdW5jczsKIAlpMmNhdXhfZGNlODAtPmkyY19od19idWZmZXJfaW5fdXNlID0g ZmFsc2U7CkBAIC0yNjksOCArMjY2LDYgQEAgc3RhdGljIGJvb2wgY29uc3RydWN0KAogCX0gd2hp bGUgKGkgPCBBUlJBWV9TSVpFKGh3X2F1eF9saW5lcykpOwogCiAJLyogVE9ETyBHZW5lcmljIEky QyBTVyBhbmQgSFcgKi8KLQotCXJldHVybiB0cnVlOwogfQogCiBzdHJ1Y3QgaTJjYXV4ICpkYWxf aTJjYXV4X2RjZTgwX2NyZWF0ZSgKQEAgLTI4NCwxMiArMjc5LDYgQEAgc3RydWN0IGkyY2F1eCAq ZGFsX2kyY2F1eF9kY2U4MF9jcmVhdGUoCiAJCXJldHVybiBOVUxMOwogCX0KIAotCWlmIChjb25z dHJ1Y3QoaTJjYXV4X2RjZTgwLCBjdHgpKQotCQlyZXR1cm4gJmkyY2F1eF9kY2U4MC0+YmFzZTsK LQotCUJSRUFLX1RPX0RFQlVHR0VSKCk7Ci0KLQlrZnJlZShpMmNhdXhfZGNlODApOwotCi0JcmV0 dXJuIE5VTEw7CisJY29uc3RydWN0KGkyY2F1eF9kY2U4MCwgY3R4KTsKKwlyZXR1cm4gJmkyY2F1 eF9kY2U4MC0+YmFzZTsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxh eS9kYy9pMmNhdXgvZGNuMTAvaTJjYXV4X2RjbjEwLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rp c3BsYXkvZGMvaTJjYXV4L2RjbjEwL2kyY2F1eF9kY24xMC5jCmluZGV4IGY4NjU5ZjEuLjEzYjgw N2QgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pMmNhdXgvZGNu MTAvaTJjYXV4X2RjbjEwLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2ky Y2F1eC9kY24xMC9pMmNhdXhfZGNuMTAuYwpAQCAtMTA4LDE4ICsxMDgsMTEgQEAgc3RydWN0IGky Y2F1eCAqZGFsX2kyY2F1eF9kY24xMF9jcmVhdGUoCiAJCXJldHVybiBOVUxMOwogCX0KIAotCWlm IChkYWxfaTJjYXV4X2RjZTExMF9jb25zdHJ1Y3QoCi0JCQlpMmNhdXhfZGNlMTEwLAotCQkJY3R4 LAotCQkJZGNuMTBfYXV4X3JlZ3MsCi0JCQlkY24xMF9od19lbmdpbmVfcmVncywKLQkJCSZpMmNf c2hpZnQsCi0JCQkmaTJjX21hc2spKQotCQlyZXR1cm4gJmkyY2F1eF9kY2UxMTAtPmJhc2U7Ci0K LQlBU1NFUlRfQ1JJVElDQUwoZmFsc2UpOwotCi0Ja2ZyZWUoaTJjYXV4X2RjZTExMCk7Ci0KLQly ZXR1cm4gTlVMTDsKKwlkYWxfaTJjYXV4X2RjZTExMF9jb25zdHJ1Y3QoaTJjYXV4X2RjZTExMCwK KwkJCQkgICAgY3R4LAorCQkJCSAgICBkY24xMF9hdXhfcmVncywKKwkJCQkgICAgZGNuMTBfaHdf ZW5naW5lX3JlZ3MsCisJCQkJICAgICZpMmNfc2hpZnQsCisJCQkJICAgICZpMmNfbWFzayk7CisJ cmV0dXJuICZpMmNhdXhfZGNlMTEwLT5iYXNlOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2FtZC9kaXNwbGF5L2RjL2kyY2F1eC9kaWFnbm9zdGljcy9pMmNhdXhfZGlhZy5jIGIvZHJp dmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2kyY2F1eC9kaWFnbm9zdGljcy9pMmNhdXhfZGlh Zy5jCmluZGV4IDFmZGIzMjUuLmU2NDA4ZjYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9h bWQvZGlzcGxheS9kYy9pMmNhdXgvZGlhZ25vc3RpY3MvaTJjYXV4X2RpYWcuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaTJjYXV4L2RpYWdub3N0aWNzL2kyY2F1eF9kaWFn LmMKQEAgLTczLDE4ICs3MywxMiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGkyY2F1eF9mdW5jcyBp MmNhdXhfZnVuY3MgPSB7CiAJLmFjcXVpcmVfYXV4X2VuZ2luZSA9IE5VTEwsCiB9OwogCi1zdGF0 aWMgYm9vbCBjb25zdHJ1Y3QoCitzdGF0aWMgdm9pZCBjb25zdHJ1Y3QoCiAJc3RydWN0IGkyY2F1 eCAqaTJjYXV4LAogCXN0cnVjdCBkY19jb250ZXh0ICpjdHgpCiB7Ci0JaWYgKCFkYWxfaTJjYXV4 X2NvbnN0cnVjdChpMmNhdXgsIGN0eCkpIHsKLQkJQVNTRVJUX0NSSVRJQ0FMKGZhbHNlKTsKLQkJ cmV0dXJuIGZhbHNlOwotCX0KLQorCWRhbF9pMmNhdXhfY29uc3RydWN0KGkyY2F1eCwgY3R4KTsK IAlpMmNhdXgtPmZ1bmNzID0gJmkyY2F1eF9mdW5jczsKLQotCXJldHVybiB0cnVlOwogfQogCiBz dHJ1Y3QgaTJjYXV4ICpkYWxfaTJjYXV4X2RpYWdfZnBnYV9jcmVhdGUoCkBAIC05OCwxMiArOTIs NiBAQCBzdHJ1Y3QgaTJjYXV4ICpkYWxfaTJjYXV4X2RpYWdfZnBnYV9jcmVhdGUoCiAJCXJldHVy biBOVUxMOwogCX0KIAotCWlmIChjb25zdHJ1Y3QoaTJjYXV4LCBjdHgpKQotCQlyZXR1cm4gaTJj YXV4OwotCi0JQVNTRVJUX0NSSVRJQ0FMKGZhbHNlKTsKLQotCWtmcmVlKGkyY2F1eCk7Ci0KLQly ZXR1cm4gTlVMTDsKKwljb25zdHJ1Y3QoaTJjYXV4LCBjdHgpOworCXJldHVybiBpMmNhdXg7CiB9 CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaTJjYXV4L2VuZ2lu ZS5oIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2kyY2F1eC9lbmdpbmUuaAppbmRl eCA3NmZlMmRmLi4zM2RlOGE4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3Bs YXkvZGMvaTJjYXV4L2VuZ2luZS5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9k Yy9pMmNhdXgvZW5naW5lLmgKQEAgLTExMCw3ICsxMTAsNyBAQCBzdHJ1Y3QgZW5naW5lIHsKIAlz dHJ1Y3QgZGNfY29udGV4dCAqY3R4OwogfTsKIAotYm9vbCBkYWxfaTJjYXV4X2NvbnN0cnVjdF9l bmdpbmUoCit2b2lkIGRhbF9pMmNhdXhfY29uc3RydWN0X2VuZ2luZSgKIAlzdHJ1Y3QgZW5naW5l ICplbmdpbmUsCiAJc3RydWN0IGRjX2NvbnRleHQgKmN0eCk7CiAKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pMmNhdXgvZW5naW5lX2Jhc2UuYyBiL2RyaXZlcnMv Z3B1L2RybS9hbWQvZGlzcGxheS9kYy9pMmNhdXgvZW5naW5lX2Jhc2UuYwppbmRleCAwOWRhODEz Li41ZDE1NWQzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaTJj YXV4L2VuZ2luZV9iYXNlLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2ky Y2F1eC9lbmdpbmVfYmFzZS5jCkBAIC0zNiwxMyArMzYsMTIgQEAKIAogI2luY2x1ZGUgImVuZ2lu ZS5oIgogCi1ib29sIGRhbF9pMmNhdXhfY29uc3RydWN0X2VuZ2luZSgKK3ZvaWQgZGFsX2kyY2F1 eF9jb25zdHJ1Y3RfZW5naW5lKAogCXN0cnVjdCBlbmdpbmUgKmVuZ2luZSwKIAlzdHJ1Y3QgZGNf Y29udGV4dCAqY3R4KQogewogCWVuZ2luZS0+ZGRjID0gTlVMTDsKIAllbmdpbmUtPmN0eCA9IGN0 eDsKLQlyZXR1cm4gdHJ1ZTsKIH0KIAogdm9pZCBkYWxfaTJjYXV4X2Rlc3RydWN0X2VuZ2luZSgK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pMmNhdXgvaTJjX2Vu Z2luZS5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2kyY2F1eC9pMmNfZW5naW5l LmMKaW5kZXggMTQ0ZjUxZC4uNzBlMjBiZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2Ft ZC9kaXNwbGF5L2RjL2kyY2F1eC9pMmNfZW5naW5lLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2Ft ZC9kaXNwbGF5L2RjL2kyY2F1eC9pMmNfZW5naW5lLmMKQEAgLTEwMywxNSArMTAzLDEyIEBAIHZv aWQgZGFsX2kyY19lbmdpbmVfcHJvY2Vzc19jaGFubmVsX3JlcGx5KAogCiB9CiAKLWJvb2wgZGFs X2kyY19lbmdpbmVfY29uc3RydWN0KAordm9pZCBkYWxfaTJjX2VuZ2luZV9jb25zdHJ1Y3QoCiAJ c3RydWN0IGkyY19lbmdpbmUgKmVuZ2luZSwKIAlzdHJ1Y3QgZGNfY29udGV4dCAqY3R4KQogewot CWlmICghZGFsX2kyY2F1eF9jb25zdHJ1Y3RfZW5naW5lKCZlbmdpbmUtPmJhc2UsIGN0eCkpCi0J CXJldHVybiBmYWxzZTsKLQorCWRhbF9pMmNhdXhfY29uc3RydWN0X2VuZ2luZSgmZW5naW5lLT5i YXNlLCBjdHgpOwogCWVuZ2luZS0+dGltZW91dF9kZWxheSA9IDA7Ci0JcmV0dXJuIHRydWU7CiB9 CiAKIHZvaWQgZGFsX2kyY19lbmdpbmVfZGVzdHJ1Y3QoCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vYW1kL2Rpc3BsYXkvZGMvaTJjYXV4L2kyY19lbmdpbmUuaCBiL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvZGlzcGxheS9kYy9pMmNhdXgvaTJjX2VuZ2luZS5oCmluZGV4IGNlMmM1MWQuLjU4ZmMw ZjIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pMmNhdXgvaTJj X2VuZ2luZS5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pMmNhdXgvaTJj X2VuZ2luZS5oCkBAIC04OCw3ICs4OCw3IEBAIHN0cnVjdCBpMmNfZW5naW5lIHsKIAl1aW50MzJf dCB0aW1lb3V0X2RlbGF5OwogfTsKIAotYm9vbCBkYWxfaTJjX2VuZ2luZV9jb25zdHJ1Y3QoCit2 b2lkIGRhbF9pMmNfZW5naW5lX2NvbnN0cnVjdCgKIAlzdHJ1Y3QgaTJjX2VuZ2luZSAqZW5naW5l LAogCXN0cnVjdCBkY19jb250ZXh0ICpjdHgpOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vYW1kL2Rpc3BsYXkvZGMvaTJjYXV4L2kyY19nZW5lcmljX2h3X2VuZ2luZS5jIGIvZHJpdmVy cy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2kyY2F1eC9pMmNfZ2VuZXJpY19od19lbmdpbmUuYwpp bmRleCA1MjFjNGVjLi41YTQyOTVlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rp c3BsYXkvZGMvaTJjYXV4L2kyY19nZW5lcmljX2h3X2VuZ2luZS5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9hbWQvZGlzcGxheS9kYy9pMmNhdXgvaTJjX2dlbmVyaWNfaHdfZW5naW5lLmMKQEAgLTI3 MCwxMyArMjcwLDExIEBAIHVpbnQzMl90IGRhbF9pMmNfZ2VuZXJpY19od19lbmdpbmVfZ2V0X3Ry YW5zYWN0aW9uX3RpbWVvdXQoCiAJCSgxICsgKGxlbmd0aCA8PCAzKSArIDEpOwogfQogCi1ib29s IGRhbF9pMmNfZ2VuZXJpY19od19lbmdpbmVfY29uc3RydWN0KAordm9pZCBkYWxfaTJjX2dlbmVy aWNfaHdfZW5naW5lX2NvbnN0cnVjdCgKIAlzdHJ1Y3QgaTJjX2dlbmVyaWNfaHdfZW5naW5lICpl bmdpbmUsCiAJc3RydWN0IGRjX2NvbnRleHQgKmN0eCkKIHsKLQlpZiAoIWRhbF9pMmNfaHdfZW5n aW5lX2NvbnN0cnVjdCgmZW5naW5lLT5iYXNlLCBjdHgpKQotCQlyZXR1cm4gZmFsc2U7Ci0JcmV0 dXJuIHRydWU7CisJZGFsX2kyY19od19lbmdpbmVfY29uc3RydWN0KCZlbmdpbmUtPmJhc2UsIGN0 eCk7CiB9CiAKIHZvaWQgZGFsX2kyY19nZW5lcmljX2h3X2VuZ2luZV9kZXN0cnVjdCgKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pMmNhdXgvaTJjX2dlbmVyaWNf aHdfZW5naW5lLmggYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaTJjYXV4L2kyY19n ZW5lcmljX2h3X2VuZ2luZS5oCmluZGV4IDA4M2JiMGQuLjFkYTAzOTcgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pMmNhdXgvaTJjX2dlbmVyaWNfaHdfZW5naW5l LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2kyY2F1eC9pMmNfZ2VuZXJp Y19od19lbmdpbmUuaApAQCAtNTksNyArNTksNyBAQCBzdHJ1Y3QgaTJjX2dlbmVyaWNfaHdfZW5n aW5lIHsKIAljb25zdCBzdHJ1Y3QgaTJjX2dlbmVyaWNfaHdfZW5naW5lX2Z1bmNzICpmdW5jczsK IH07CiAKLWJvb2wgZGFsX2kyY19nZW5lcmljX2h3X2VuZ2luZV9jb25zdHJ1Y3QoCit2b2lkIGRh bF9pMmNfZ2VuZXJpY19od19lbmdpbmVfY29uc3RydWN0KAogCXN0cnVjdCBpMmNfZ2VuZXJpY19o d19lbmdpbmUgKmVuZ2luZSwKIAlzdHJ1Y3QgZGNfY29udGV4dCAqY3R4KTsKIApkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2kyY2F1eC9pMmNfaHdfZW5naW5lLmMg Yi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaTJjYXV4L2kyY19od19lbmdpbmUuYwpp bmRleCAwMGE4ZjA3Li40YjU0ZmNmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rp c3BsYXkvZGMvaTJjYXV4L2kyY19od19lbmdpbmUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1k L2Rpc3BsYXkvZGMvaTJjYXV4L2kyY19od19lbmdpbmUuYwpAQCAtMjI4LDE1ICsyMjgsMTMgQEAg ZW51bSBpMmNfY2hhbm5lbF9vcGVyYXRpb25fcmVzdWx0IGRhbF9pMmNfaHdfZW5naW5lX3dhaXRf b25fb3BlcmF0aW9uX3Jlc3VsdCgKIAlyZXR1cm4gcmVzdWx0OwogfQogCi1ib29sIGRhbF9pMmNf aHdfZW5naW5lX2NvbnN0cnVjdCgKK3ZvaWQgZGFsX2kyY19od19lbmdpbmVfY29uc3RydWN0KAog CXN0cnVjdCBpMmNfaHdfZW5naW5lICplbmdpbmUsCiAJc3RydWN0IGRjX2NvbnRleHQgKmN0eCkK IHsKLQlpZiAoIWRhbF9pMmNfZW5naW5lX2NvbnN0cnVjdCgmZW5naW5lLT5iYXNlLCBjdHgpKQot CQlyZXR1cm4gZmFsc2U7CisJZGFsX2kyY19lbmdpbmVfY29uc3RydWN0KCZlbmdpbmUtPmJhc2Us IGN0eCk7CiAJZW5naW5lLT5vcmlnaW5hbF9zcGVlZCA9IEkyQ0FVWF9ERUZBVUxUX0kyQ19IV19T UEVFRDsKIAllbmdpbmUtPmRlZmF1bHRfc3BlZWQgPSBJMkNBVVhfREVGQVVMVF9JMkNfSFdfU1BF RUQ7Ci0JcmV0dXJuIHRydWU7CiB9CiAKIHZvaWQgZGFsX2kyY19od19lbmdpbmVfZGVzdHJ1Y3Qo CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaTJjYXV4L2kyY19o d19lbmdpbmUuaCBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pMmNhdXgvaTJjX2h3 X2VuZ2luZS5oCmluZGV4IGYyZGYxNzQuLjg5MzZhOTkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9hbWQvZGlzcGxheS9kYy9pMmNhdXgvaTJjX2h3X2VuZ2luZS5oCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9hbWQvZGlzcGxheS9kYy9pMmNhdXgvaTJjX2h3X2VuZ2luZS5oCkBAIC01Myw3ICs1 Myw3IEBAIHN0cnVjdCBpMmNfaHdfZW5naW5lIHsKIAl1aW50MzJfdCBkZWZhdWx0X3NwZWVkOwog fTsKIAotYm9vbCBkYWxfaTJjX2h3X2VuZ2luZV9jb25zdHJ1Y3QoCit2b2lkIGRhbF9pMmNfaHdf ZW5naW5lX2NvbnN0cnVjdCgKIAlzdHJ1Y3QgaTJjX2h3X2VuZ2luZSAqZW5naW5lLAogCXN0cnVj dCBkY19jb250ZXh0ICpjdHgpOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rp c3BsYXkvZGMvaTJjYXV4L2kyY19zd19lbmdpbmUuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlz cGxheS9kYy9pMmNhdXgvaTJjX3N3X2VuZ2luZS5jCmluZGV4IDlkMDA3N2EuLjhlMTliYjYgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pMmNhdXgvaTJjX3N3X2Vu Z2luZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pMmNhdXgvaTJjX3N3 X2VuZ2luZS5jCkBAIC01NjksMTcgKzU2OSwxNCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGVuZ2lu ZV9mdW5jcyBlbmdpbmVfZnVuY3MgPSB7CiAJLnN1Ym1pdF9yZXF1ZXN0ID0gZGFsX2kyY19zd19l bmdpbmVfc3VibWl0X3JlcXVlc3QsCiB9OwogCi1ib29sIGRhbF9pMmNfc3dfZW5naW5lX2NvbnN0 cnVjdCgKK3ZvaWQgZGFsX2kyY19zd19lbmdpbmVfY29uc3RydWN0KAogCXN0cnVjdCBpMmNfc3df ZW5naW5lICplbmdpbmUsCiAJY29uc3Qgc3RydWN0IGkyY19zd19lbmdpbmVfY3JlYXRlX2FyZyAq YXJnKQogewotCWlmICghZGFsX2kyY19lbmdpbmVfY29uc3RydWN0KCZlbmdpbmUtPmJhc2UsIGFy Zy0+Y3R4KSkKLQkJcmV0dXJuIGZhbHNlOwotCisJZGFsX2kyY19lbmdpbmVfY29uc3RydWN0KCZl bmdpbmUtPmJhc2UsIGFyZy0+Y3R4KTsKIAlkYWxfaTJjX3N3X2VuZ2luZV9zZXRfc3BlZWQoJmVu Z2luZS0+YmFzZSwgYXJnLT5kZWZhdWx0X3NwZWVkKTsKIAllbmdpbmUtPmJhc2UuZnVuY3MgPSAm aTJjX2VuZ2luZV9mdW5jczsKIAllbmdpbmUtPmJhc2UuYmFzZS5mdW5jcyA9ICZlbmdpbmVfZnVu Y3M7Ci0JcmV0dXJuIHRydWU7CiB9CiAKIHN0cnVjdCBpMmNfZW5naW5lICpkYWxfaTJjX3N3X2Vu Z2luZV9jcmVhdGUoCkBAIC01OTksMTIgKzU5Niw2IEBAIHN0cnVjdCBpMmNfZW5naW5lICpkYWxf aTJjX3N3X2VuZ2luZV9jcmVhdGUoCiAJCXJldHVybiBOVUxMOwogCX0KIAotCWlmIChkYWxfaTJj X3N3X2VuZ2luZV9jb25zdHJ1Y3QoZW5naW5lLCBhcmcpKQotCQlyZXR1cm4gJmVuZ2luZS0+YmFz ZTsKLQotCUJSRUFLX1RPX0RFQlVHR0VSKCk7Ci0KLQlrZnJlZShlbmdpbmUpOwotCi0JcmV0dXJu IE5VTEw7CisJZGFsX2kyY19zd19lbmdpbmVfY29uc3RydWN0KGVuZ2luZSwgYXJnKTsKKwlyZXR1 cm4gJmVuZ2luZS0+YmFzZTsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlz cGxheS9kYy9pMmNhdXgvaTJjX3N3X2VuZ2luZS5oIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNw bGF5L2RjL2kyY2F1eC9pMmNfc3dfZW5naW5lLmgKaW5kZXggZTBjYjRjMy4uNTQ2ZjE1YiAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2kyY2F1eC9pMmNfc3dfZW5n aW5lLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2kyY2F1eC9pMmNfc3df ZW5naW5lLmgKQEAgLTQ4LDcgKzQ4LDcgQEAgc3RydWN0IGkyY19zd19lbmdpbmVfY3JlYXRlX2Fy ZyB7CiAJc3RydWN0IGRjX2NvbnRleHQgKmN0eDsKIH07CiAKLWJvb2wgZGFsX2kyY19zd19lbmdp bmVfY29uc3RydWN0KAordm9pZCBkYWxfaTJjX3N3X2VuZ2luZV9jb25zdHJ1Y3QoCiAJc3RydWN0 IGkyY19zd19lbmdpbmUgKmVuZ2luZSwKIAljb25zdCBzdHJ1Y3QgaTJjX3N3X2VuZ2luZV9jcmVh dGVfYXJnICphcmcpOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkv ZGMvaTJjYXV4L2kyY2F1eC5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2kyY2F1 eC9pMmNhdXguYwppbmRleCA5YjExNWUxLi5lMTU5M2ZmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vYW1kL2Rpc3BsYXkvZGMvaTJjYXV4L2kyY2F1eC5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvZGlzcGxheS9kYy9pMmNhdXgvaTJjYXV4LmMKQEAgLTQyMyw3ICs0MjMsNyBAQCB2b2lk IGRhbF9pMmNhdXhfcmVsZWFzZV9lbmdpbmUoCiAJZW5naW5lLT5kZGMgPSBOVUxMOwogfQogCi1i b29sIGRhbF9pMmNhdXhfY29uc3RydWN0KAordm9pZCBkYWxfaTJjYXV4X2NvbnN0cnVjdCgKIAlz dHJ1Y3QgaTJjYXV4ICppMmNhdXgsCiAJc3RydWN0IGRjX2NvbnRleHQgKmN0eCkKIHsKQEAgLTQ1 MSw4ICs0NTEsNiBAQCBib29sIGRhbF9pMmNhdXhfY29uc3RydWN0KAogCQlpMmNhdXgtPmRlZmF1 bHRfaTJjX2h3X3NwZWVkID0gREVGQVVMVF9JMkNfSFdfU1BFRUQ7CiAJCWkyY2F1eC0+ZGVmYXVs dF9pMmNfc3dfc3BlZWQgPSBERUZBVUxUX0kyQ19TV19TUEVFRDsKIAl9Ci0KLQlyZXR1cm4gdHJ1 ZTsKIH0KIAogdm9pZCBkYWxfaTJjYXV4X2Rlc3RydWN0KApkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2FtZC9kaXNwbGF5L2RjL2kyY2F1eC9pMmNhdXguaCBiL2RyaXZlcnMvZ3B1L2RybS9h bWQvZGlzcGxheS9kYy9pMmNhdXgvaTJjYXV4LmgKaW5kZXggYmMyMGRlMy4uNjRmNTFiYiAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2kyY2F1eC9pMmNhdXguaAor KysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaTJjYXV4L2kyY2F1eC5oCkBAIC05 Nyw3ICs5Nyw3IEBAIHN0cnVjdCBpMmNhdXggewogCXVpbnQzMl90IGRlZmF1bHRfaTJjX2h3X3Nw ZWVkOwogfTsKIAotYm9vbCBkYWxfaTJjYXV4X2NvbnN0cnVjdCgKK3ZvaWQgZGFsX2kyY2F1eF9j b25zdHJ1Y3QoCiAJc3RydWN0IGkyY2F1eCAqaTJjYXV4LAogCXN0cnVjdCBkY19jb250ZXh0ICpj dHgpOwogCi0tIAoyLjkuNAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KYW1kLWdmeCBtYWlsaW5nIGxpc3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4 Cg==