From mboxrd@z Thu Jan 1 00:00:00 1970 From: Harry Wentland Subject: [PATCH 17/34] drm/amd/display: drop dc_validate_guaranteed Date: Tue, 20 Mar 2018 15:12:42 -0400 Message-ID: <20180320191259.14453-18-harry.wentland@amd.com> References: <20180320191259.14453-1-harry.wentland@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180320191259.14453-1-harry.wentland-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: Julian Parkin RnJvbTogSnVsaWFuIFBhcmtpbiA8anBhcmtpbkBhbWQuY29tPgoKQmxvY2sgRlAxNiBzY2FsaW5n IGluIHZhbGlkYXRlX3Jlc291cmNlcyBjb2RlcGF0aC4KClNpZ25lZC1vZmYtYnk6IEp1bGlhbiBQ YXJraW4gPGpwYXJraW5AYW1kLmNvbT4KUmV2aWV3ZWQtYnk6IFRvbnkgQ2hlbmcgPFRvbnkuQ2hl bmdAYW1kLmNvbT4KQWNrZWQtYnk6IEhhcnJ5IFdlbnRsYW5kIDxoYXJyeS53ZW50bGFuZEBhbWQu Y29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9jb3JlL2RjX3Jlc291cmNl LmMgIHwgMzIgLS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9k Y19zdHJlYW0uaCAgICAgICAgIHwgIDggLS0tLQogLi4uL2RybS9hbWQvZGlzcGxheS9kYy9kY2Ux MDAvZGNlMTAwX3Jlc291cmNlLmMgICAgfCAzMyAtLS0tLS0tLS0tLS0tLS0KIC4uLi9kcm0vYW1k L2Rpc3BsYXkvZGMvZGNlMTEwL2RjZTExMF9yZXNvdXJjZS5jICAgIHwgMzMgLS0tLS0tLS0tLS0t LS0tCiAuLi4vZHJtL2FtZC9kaXNwbGF5L2RjL2RjZTExMi9kY2UxMTJfcmVzb3VyY2UuYyAgICB8 IDMzIC0tLS0tLS0tLS0tLS0tLQogLi4uL2RybS9hbWQvZGlzcGxheS9kYy9kY2UxMTIvZGNlMTEy X3Jlc291cmNlLmggICAgfCAgNSAtLS0KIC4uLi9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNlMTIwL2Rj ZTEyMF9yZXNvdXJjZS5jICAgIHwgIDEgLQogLi4uL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNl ODAvZGNlODBfcmVzb3VyY2UuYyAgfCA0OSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBkcml2ZXJz L2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNuMTAvZGNuMTBfZHBwLmMgICB8ICA3ICsrKysKIC4u Li9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjbjEwL2RjbjEwX3Jlc291cmNlLmMgIHwgMzEgLS0t LS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pbmMvY29yZV90eXBl cy5oICAgIHwgIDUgLS0tCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaW5jL3Jlc291 cmNlLmggICAgICB8ICA0IC0tCiAxMiBmaWxlcyBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDIz NCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkv ZGMvY29yZS9kY19yZXNvdXJjZS5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2Nv cmUvZGNfcmVzb3VyY2UuYwppbmRleCBiYTM0ODdlOTczNjEuLmNhZTc4ZWU5YTZmYyAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2NvcmUvZGNfcmVzb3VyY2UuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvY29yZS9kY19yZXNvdXJjZS5jCkBA IC0xNTk5LDE4ICsxNTk5LDYgQEAgZW51bSBkY19zdGF0dXMgZGNfcmVtb3ZlX3N0cmVhbV9mcm9t X2N0eCgKIAlyZXR1cm4gRENfT0s7CiB9CiAKLXN0YXRpYyB2b2lkIGNvcHlfcGlwZV9jdHgoCi0J Y29uc3Qgc3RydWN0IHBpcGVfY3R4ICpmcm9tX3BpcGVfY3R4LCBzdHJ1Y3QgcGlwZV9jdHggKnRv X3BpcGVfY3R4KQotewotCXN0cnVjdCBkY19wbGFuZV9zdGF0ZSAqcGxhbmVfc3RhdGUgPSB0b19w aXBlX2N0eC0+cGxhbmVfc3RhdGU7Ci0Jc3RydWN0IGRjX3N0cmVhbV9zdGF0ZSAqc3RyZWFtID0g dG9fcGlwZV9jdHgtPnN0cmVhbTsKLQotCSp0b19waXBlX2N0eCA9ICpmcm9tX3BpcGVfY3R4Owot CXRvX3BpcGVfY3R4LT5zdHJlYW0gPSBzdHJlYW07Ci0JaWYgKHBsYW5lX3N0YXRlICE9IE5VTEwp Ci0JCXRvX3BpcGVfY3R4LT5wbGFuZV9zdGF0ZSA9IHBsYW5lX3N0YXRlOwotfQotCiBzdGF0aWMg c3RydWN0IGRjX3N0cmVhbV9zdGF0ZSAqZmluZF9wbGxfc2hhcmFibGVfc3RyZWFtKAogCQlzdHJ1 Y3QgZGNfc3RyZWFtX3N0YXRlICpzdHJlYW1fbmVlZHNfcGxsLAogCQlzdHJ1Y3QgZGNfc3RhdGUg KmNvbnRleHQpCkBAIC0xNzUyLDI2ICsxNzQwLDYgQEAgZW51bSBkY19zdGF0dXMgcmVzb3VyY2Vf bWFwX3Bvb2xfcmVzb3VyY2VzKAogCXJldHVybiBEQ19FUlJPUl9VTkVYUEVDVEVEOwogfQogCi0v KiBmaXJzdCBzdHJlYW0gaW4gdGhlIGNvbnRleHQgaXMgdXNlZCB0byBwb3B1bGF0ZSB0aGUgcmVz dCAqLwotdm9pZCB2YWxpZGF0ZV9ndWFyYW50ZWVkX2NvcHlfc3RyZWFtcygKLQkJc3RydWN0IGRj X3N0YXRlICpjb250ZXh0LAotCQlpbnQgbWF4X3N0cmVhbXMpCi17Ci0JaW50IGk7Ci0KLQlmb3Ig KGkgPSAxOyBpIDwgbWF4X3N0cmVhbXM7IGkrKykgewotCQljb250ZXh0LT5zdHJlYW1zW2ldID0g Y29udGV4dC0+c3RyZWFtc1swXTsKLQotCQljb3B5X3BpcGVfY3R4KCZjb250ZXh0LT5yZXNfY3R4 LnBpcGVfY3R4WzBdLAotCQkJICAgICAgJmNvbnRleHQtPnJlc19jdHgucGlwZV9jdHhbaV0pOwot CQljb250ZXh0LT5yZXNfY3R4LnBpcGVfY3R4W2ldLnN0cmVhbSA9Ci0JCQkJY29udGV4dC0+cmVz X2N0eC5waXBlX2N0eFswXS5zdHJlYW07Ci0KLQkJZGNfc3RyZWFtX3JldGFpbihjb250ZXh0LT5z dHJlYW1zW2ldKTsKLQkJY29udGV4dC0+c3RyZWFtX2NvdW50Kys7Ci0JfQotfQotCiB2b2lkIGRj X3Jlc291cmNlX3N0YXRlX2NvcHlfY29uc3RydWN0X2N1cnJlbnQoCiAJCWNvbnN0IHN0cnVjdCBk YyAqZGMsCiAJCXN0cnVjdCBkY19zdGF0ZSAqZHN0X2N0eCkKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY19zdHJlYW0uaCBiL2RyaXZlcnMvZ3B1L2RybS9hbWQv ZGlzcGxheS9kYy9kY19zdHJlYW0uaAppbmRleCBkMDE3ZGY1NmIyYmEuLjNhNzA5M2VkZTU2OSAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjX3N0cmVhbS5oCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY19zdHJlYW0uaApAQCAtMjA4LDE0 ICsyMDgsNiBAQCBib29sIGRjX2FkZF9hbGxfcGxhbmVzX2Zvcl9zdHJlYW0oCiAKIGVudW0gZGNf c3RhdHVzIGRjX3ZhbGlkYXRlX3N0cmVhbShzdHJ1Y3QgZGMgKmRjLCBzdHJ1Y3QgZGNfc3RyZWFt X3N0YXRlICpzdHJlYW0pOwogCi0vKgotICogVGhpcyBmdW5jdGlvbiB0YWtlcyBhIHN0cmVhbSBh bmQgY2hlY2tzIGlmIGl0IGlzIGd1YXJhbnRlZWQgdG8gYmUgc3VwcG9ydGVkLgotICogR3VhcmFu dGVlZCBtZWFucyB0aGF0IE1BWF9DT0ZVTkMgc2ltaWxhciBzdHJlYW1zIGFyZSBzdXBwb3J0ZWQu Ci0gKgotICogQWZ0ZXIgdGhpcyBjYWxsOgotICogICBObyBoYXJkd2FyZSBpcyBwcm9ncmFtbWVk IGZvciBjYWxsLiAgT25seSB2YWxpZGF0aW9uIGlzIGRvbmUuCi0gKi8KLQogLyoKICAqIFNldCB1 cCBzdHJlYW1zIGFuZCBsaW5rcyBhc3NvY2lhdGVkIHRvIGRyaXZlIHNpbmtzCiAgKiBUaGUgc3Ry ZWFtcyBwYXJhbWV0ZXIgaXMgYW4gYWJzb2x1dGUgc2V0IG9mIGFsbCBhY3RpdmUgc3RyZWFtcy4K ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY2UxMDAvZGNlMTAw X3Jlc291cmNlLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNlMTAwL2RjZTEw MF9yZXNvdXJjZS5jCmluZGV4IDMwOTJmNzZiZGI3NS4uMzhlYzBkNjA5Mjk3IDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNlMTAwL2RjZTEwMF9yZXNvdXJjZS5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY2UxMDAvZGNlMTAwX3Jlc291 cmNlLmMKQEAgLTczMywzOCArNzMzLDYgQEAgZW51bSBkY19zdGF0dXMgZGNlMTAwX2FkZF9zdHJl YW1fdG9fY3R4KAogCXJldHVybiByZXN1bHQ7CiB9CiAKLWVudW0gZGNfc3RhdHVzIGRjZTEwMF92 YWxpZGF0ZV9ndWFyYW50ZWVkKAotCQlzdHJ1Y3QgZGMgICpkYywKLQkJc3RydWN0IGRjX3N0cmVh bV9zdGF0ZSAqZGNfc3RyZWFtLAotCQlzdHJ1Y3QgZGNfc3RhdGUgKmNvbnRleHQpCi17Ci0JZW51 bSBkY19zdGF0dXMgcmVzdWx0ID0gRENfRVJST1JfVU5FWFBFQ1RFRDsKLQotCWNvbnRleHQtPnN0 cmVhbXNbMF0gPSBkY19zdHJlYW07Ci0JZGNfc3RyZWFtX3JldGFpbihjb250ZXh0LT5zdHJlYW1z WzBdKTsKLQljb250ZXh0LT5zdHJlYW1fY291bnQrKzsKLQotCXJlc3VsdCA9IHJlc291cmNlX21h cF9wb29sX3Jlc291cmNlcyhkYywgY29udGV4dCwgZGNfc3RyZWFtKTsKLQotCWlmIChyZXN1bHQg PT0gRENfT0spCi0JCXJlc3VsdCA9IHJlc291cmNlX21hcF9jbG9ja19yZXNvdXJjZXMoZGMsIGNv bnRleHQsIGRjX3N0cmVhbSk7Ci0KLQlpZiAocmVzdWx0ID09IERDX09LKQotCQlyZXN1bHQgPSBi dWlsZF9tYXBwZWRfcmVzb3VyY2UoZGMsIGNvbnRleHQsIGRjX3N0cmVhbSk7Ci0KLQlpZiAocmVz dWx0ID09IERDX09LKSB7Ci0JCXZhbGlkYXRlX2d1YXJhbnRlZWRfY29weV9zdHJlYW1zKAotCQkJ CWNvbnRleHQsIGRjLT5jYXBzLm1heF9zdHJlYW1zKTsKLQkJcmVzdWx0ID0gcmVzb3VyY2VfYnVp bGRfc2NhbGluZ19wYXJhbXNfZm9yX2NvbnRleHQoZGMsIGNvbnRleHQpOwotCX0KLQotCWlmIChy ZXN1bHQgPT0gRENfT0spCi0JCWlmICghZGNlMTAwX3ZhbGlkYXRlX2JhbmR3aWR0aChkYywgY29u dGV4dCkpCi0JCQlyZXN1bHQgPSBEQ19GQUlMX0JBTkRXSURUSF9WQUxJREFURTsKLQotCXJldHVy biByZXN1bHQ7Ci19Ci0KIHN0YXRpYyB2b2lkIGRjZTEwMF9kZXN0cm95X3Jlc291cmNlX3Bvb2wo c3RydWN0IHJlc291cmNlX3Bvb2wgKipwb29sKQogewogCXN0cnVjdCBkY2UxMTBfcmVzb3VyY2Vf cG9vbCAqZGNlMTEwX3Bvb2wgPSBUT19EQ0UxMTBfUkVTX1BPT0woKnBvb2wpOwpAQCAtNzg2LDcg Kzc1NCw2IEBAIGVudW0gZGNfc3RhdHVzIGRjZTEwMF92YWxpZGF0ZV9wbGFuZShjb25zdCBzdHJ1 Y3QgZGNfcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlLCBzCiBzdGF0aWMgY29uc3Qgc3RydWN0IHJl c291cmNlX2Z1bmNzIGRjZTEwMF9yZXNfcG9vbF9mdW5jcyA9IHsKIAkuZGVzdHJveSA9IGRjZTEw MF9kZXN0cm95X3Jlc291cmNlX3Bvb2wsCiAJLmxpbmtfZW5jX2NyZWF0ZSA9IGRjZTEwMF9saW5r X2VuY29kZXJfY3JlYXRlLAotCS52YWxpZGF0ZV9ndWFyYW50ZWVkID0gZGNlMTAwX3ZhbGlkYXRl X2d1YXJhbnRlZWQsCiAJLnZhbGlkYXRlX2JhbmR3aWR0aCA9IGRjZTEwMF92YWxpZGF0ZV9iYW5k d2lkdGgsCiAJLnZhbGlkYXRlX3BsYW5lID0gZGNlMTAwX3ZhbGlkYXRlX3BsYW5lLAogCS5hZGRf c3RyZWFtX3RvX2N0eCA9IGRjZTEwMF9hZGRfc3RyZWFtX3RvX2N0eCwKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY2UxMTAvZGNlMTEwX3Jlc291cmNlLmMgYi9k cml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNlMTEwL2RjZTExMF9yZXNvdXJjZS5jCmlu ZGV4IGIxZjE0YmUyMGZkZi4uZWUzMzc4NmJkZWY2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vYW1kL2Rpc3BsYXkvZGMvZGNlMTEwL2RjZTExMF9yZXNvdXJjZS5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY2UxMTAvZGNlMTEwX3Jlc291cmNlLmMKQEAgLTkzMCwz OCArOTMwLDYgQEAgc3RhdGljIGVudW0gZGNfc3RhdHVzIGRjZTExMF9hZGRfc3RyZWFtX3RvX2N0 eCgKIAlyZXR1cm4gcmVzdWx0OwogfQogCi1zdGF0aWMgZW51bSBkY19zdGF0dXMgZGNlMTEwX3Zh bGlkYXRlX2d1YXJhbnRlZWQoCi0JCXN0cnVjdCBkYyAqZGMsCi0JCXN0cnVjdCBkY19zdHJlYW1f c3RhdGUgKmRjX3N0cmVhbSwKLQkJc3RydWN0IGRjX3N0YXRlICpjb250ZXh0KQotewotCWVudW0g ZGNfc3RhdHVzIHJlc3VsdCA9IERDX0VSUk9SX1VORVhQRUNURUQ7Ci0KLQljb250ZXh0LT5zdHJl YW1zWzBdID0gZGNfc3RyZWFtOwotCWRjX3N0cmVhbV9yZXRhaW4oY29udGV4dC0+c3RyZWFtc1sw XSk7Ci0JY29udGV4dC0+c3RyZWFtX2NvdW50Kys7Ci0KLQlyZXN1bHQgPSByZXNvdXJjZV9tYXBf cG9vbF9yZXNvdXJjZXMoZGMsIGNvbnRleHQsIGRjX3N0cmVhbSk7Ci0KLQlpZiAocmVzdWx0ID09 IERDX09LKQotCQlyZXN1bHQgPSByZXNvdXJjZV9tYXBfY2xvY2tfcmVzb3VyY2VzKGRjLCBjb250 ZXh0LCBkY19zdHJlYW0pOwotCi0JaWYgKHJlc3VsdCA9PSBEQ19PSykKLQkJcmVzdWx0ID0gYnVp bGRfbWFwcGVkX3Jlc291cmNlKGRjLCBjb250ZXh0LCBkY19zdHJlYW0pOwotCi0JaWYgKHJlc3Vs dCA9PSBEQ19PSykgewotCQl2YWxpZGF0ZV9ndWFyYW50ZWVkX2NvcHlfc3RyZWFtcygKLQkJCQlj b250ZXh0LCBkYy0+Y2Fwcy5tYXhfc3RyZWFtcyk7Ci0JCXJlc3VsdCA9IHJlc291cmNlX2J1aWxk X3NjYWxpbmdfcGFyYW1zX2Zvcl9jb250ZXh0KGRjLCBjb250ZXh0KTsKLQl9Ci0KLQlpZiAocmVz dWx0ID09IERDX09LKQotCQlpZiAoIWRjZTExMF92YWxpZGF0ZV9iYW5kd2lkdGgoZGMsIGNvbnRl eHQpKQotCQkJcmVzdWx0ID0gRENfRkFJTF9CQU5EV0lEVEhfVkFMSURBVEU7Ci0KLQlyZXR1cm4g cmVzdWx0OwotfQotCiBzdGF0aWMgc3RydWN0IHBpcGVfY3R4ICpkY2UxMTBfYWNxdWlyZV91bmRl cmxheSgKIAkJc3RydWN0IGRjX3N0YXRlICpjb250ZXh0LAogCQljb25zdCBzdHJ1Y3QgcmVzb3Vy Y2VfcG9vbCAqcG9vbCwKQEAgLTEwMzYsNyArMTAwNCw2IEBAIHN0YXRpYyB2b2lkIGRjZTExMF9k ZXN0cm95X3Jlc291cmNlX3Bvb2woc3RydWN0IHJlc291cmNlX3Bvb2wgKipwb29sKQogc3RhdGlj IGNvbnN0IHN0cnVjdCByZXNvdXJjZV9mdW5jcyBkY2UxMTBfcmVzX3Bvb2xfZnVuY3MgPSB7CiAJ LmRlc3Ryb3kgPSBkY2UxMTBfZGVzdHJveV9yZXNvdXJjZV9wb29sLAogCS5saW5rX2VuY19jcmVh dGUgPSBkY2UxMTBfbGlua19lbmNvZGVyX2NyZWF0ZSwKLQkudmFsaWRhdGVfZ3VhcmFudGVlZCA9 IGRjZTExMF92YWxpZGF0ZV9ndWFyYW50ZWVkLAogCS52YWxpZGF0ZV9iYW5kd2lkdGggPSBkY2Ux MTBfdmFsaWRhdGVfYmFuZHdpZHRoLAogCS52YWxpZGF0ZV9wbGFuZSA9IGRjZTExMF92YWxpZGF0 ZV9wbGFuZSwKIAkuYWNxdWlyZV9pZGxlX3BpcGVfZm9yX2xheWVyID0gZGNlMTEwX2FjcXVpcmVf dW5kZXJsYXksCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNl MTEyL2RjZTExMl9yZXNvdXJjZS5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2Rj ZTExMi9kY2UxMTJfcmVzb3VyY2UuYwppbmRleCBjZDFlM2Y3MmM0NGUuLjBhNDc2NjM2YzVjNyAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjZTExMi9kY2UxMTJf cmVzb3VyY2UuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNlMTEyL2Rj ZTExMl9yZXNvdXJjZS5jCkBAIC04NjcsMzggKzg2Nyw2IEBAIGVudW0gZGNfc3RhdHVzIGRjZTEx Ml9hZGRfc3RyZWFtX3RvX2N0eCgKIAlyZXR1cm4gcmVzdWx0OwogfQogCi1lbnVtIGRjX3N0YXR1 cyBkY2UxMTJfdmFsaWRhdGVfZ3VhcmFudGVlZCgKLQkJc3RydWN0IGRjICpkYywKLQkJc3RydWN0 IGRjX3N0cmVhbV9zdGF0ZSAqc3RyZWFtLAotCQlzdHJ1Y3QgZGNfc3RhdGUgKmNvbnRleHQpCi17 Ci0JZW51bSBkY19zdGF0dXMgcmVzdWx0ID0gRENfRVJST1JfVU5FWFBFQ1RFRDsKLQotCWNvbnRl eHQtPnN0cmVhbXNbMF0gPSBzdHJlYW07Ci0JZGNfc3RyZWFtX3JldGFpbihjb250ZXh0LT5zdHJl YW1zWzBdKTsKLQljb250ZXh0LT5zdHJlYW1fY291bnQrKzsKLQotCXJlc3VsdCA9IHJlc291cmNl X21hcF9wb29sX3Jlc291cmNlcyhkYywgY29udGV4dCwgc3RyZWFtKTsKLQotCWlmIChyZXN1bHQg PT0gRENfT0spCi0JCXJlc3VsdCA9IHJlc291cmNlX21hcF9waHlfY2xvY2tfcmVzb3VyY2VzKGRj LCBjb250ZXh0LCBzdHJlYW0pOwotCi0JaWYgKHJlc3VsdCA9PSBEQ19PSykKLQkJcmVzdWx0ID0g YnVpbGRfbWFwcGVkX3Jlc291cmNlKGRjLCBjb250ZXh0LCBzdHJlYW0pOwotCi0JaWYgKHJlc3Vs dCA9PSBEQ19PSykgewotCQl2YWxpZGF0ZV9ndWFyYW50ZWVkX2NvcHlfc3RyZWFtcygKLQkJCQlj b250ZXh0LCBkYy0+Y2Fwcy5tYXhfc3RyZWFtcyk7Ci0JCXJlc3VsdCA9IHJlc291cmNlX2J1aWxk X3NjYWxpbmdfcGFyYW1zX2Zvcl9jb250ZXh0KGRjLCBjb250ZXh0KTsKLQl9Ci0KLQlpZiAocmVz dWx0ID09IERDX09LKQotCQlpZiAoIWRjZTExMl92YWxpZGF0ZV9iYW5kd2lkdGgoZGMsIGNvbnRl eHQpKQotCQkJcmVzdWx0ID0gRENfRkFJTF9CQU5EV0lEVEhfVkFMSURBVEU7Ci0KLQlyZXR1cm4g cmVzdWx0OwotfQotCiBlbnVtIGRjX3N0YXR1cyBkY2UxMTJfdmFsaWRhdGVfZ2xvYmFsKAogCQlz dHJ1Y3QgZGMgKmRjLAogCQlzdHJ1Y3QgZGNfc3RhdGUgKmNvbnRleHQpCkBAIC05MjEsNyArODg5 LDYgQEAgc3RhdGljIHZvaWQgZGNlMTEyX2Rlc3Ryb3lfcmVzb3VyY2VfcG9vbChzdHJ1Y3QgcmVz b3VyY2VfcG9vbCAqKnBvb2wpCiBzdGF0aWMgY29uc3Qgc3RydWN0IHJlc291cmNlX2Z1bmNzIGRj ZTExMl9yZXNfcG9vbF9mdW5jcyA9IHsKIAkuZGVzdHJveSA9IGRjZTExMl9kZXN0cm95X3Jlc291 cmNlX3Bvb2wsCiAJLmxpbmtfZW5jX2NyZWF0ZSA9IGRjZTExMl9saW5rX2VuY29kZXJfY3JlYXRl LAotCS52YWxpZGF0ZV9ndWFyYW50ZWVkID0gZGNlMTEyX3ZhbGlkYXRlX2d1YXJhbnRlZWQsCiAJ LnZhbGlkYXRlX2JhbmR3aWR0aCA9IGRjZTExMl92YWxpZGF0ZV9iYW5kd2lkdGgsCiAJLnZhbGlk YXRlX3BsYW5lID0gZGNlMTAwX3ZhbGlkYXRlX3BsYW5lLAogCS5hZGRfc3RyZWFtX3RvX2N0eCA9 IGRjZTExMl9hZGRfc3RyZWFtX3RvX2N0eCwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9h bWQvZGlzcGxheS9kYy9kY2UxMTIvZGNlMTEyX3Jlc291cmNlLmggYi9kcml2ZXJzL2dwdS9kcm0v YW1kL2Rpc3BsYXkvZGMvZGNlMTEyL2RjZTExMl9yZXNvdXJjZS5oCmluZGV4IGQ1YzE5ZDM0ZWIw YS4uOTVhNDAzMzk2MjE5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkv ZGMvZGNlMTEyL2RjZTExMl9yZXNvdXJjZS5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlz cGxheS9kYy9kY2UxMTIvZGNlMTEyX3Jlc291cmNlLmgKQEAgLTQyLDExICs0Miw2IEBAIGVudW0g ZGNfc3RhdHVzIGRjZTExMl92YWxpZGF0ZV93aXRoX2NvbnRleHQoCiAJCXN0cnVjdCBkY19zdGF0 ZSAqY29udGV4dCwKIAkJc3RydWN0IGRjX3N0YXRlICpvbGRfY29udGV4dCk7CiAKLWVudW0gZGNf c3RhdHVzIGRjZTExMl92YWxpZGF0ZV9ndWFyYW50ZWVkKAotCQlzdHJ1Y3QgZGMgKmRjLAotCQlz dHJ1Y3QgZGNfc3RyZWFtX3N0YXRlICpkY19zdHJlYW0sCi0JCXN0cnVjdCBkY19zdGF0ZSAqY29u dGV4dCk7Ci0KIGJvb2wgZGNlMTEyX3ZhbGlkYXRlX2JhbmR3aWR0aCgKIAlzdHJ1Y3QgZGMgKmRj LAogCXN0cnVjdCBkY19zdGF0ZSAqY29udGV4dCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vYW1kL2Rpc3BsYXkvZGMvZGNlMTIwL2RjZTEyMF9yZXNvdXJjZS5jIGIvZHJpdmVycy9ncHUv ZHJtL2FtZC9kaXNwbGF5L2RjL2RjZTEyMC9kY2UxMjBfcmVzb3VyY2UuYwppbmRleCA0NjU5YTRi ZmFiYWEuLjU2N2U2YjQ4Nzg3NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNw bGF5L2RjL2RjZTEyMC9kY2UxMjBfcmVzb3VyY2UuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1k L2Rpc3BsYXkvZGMvZGNlMTIwL2RjZTEyMF9yZXNvdXJjZS5jCkBAIC02ODQsNyArNjg0LDYgQEAg c3RhdGljIHZvaWQgZGNlMTIwX2Rlc3Ryb3lfcmVzb3VyY2VfcG9vbChzdHJ1Y3QgcmVzb3VyY2Vf cG9vbCAqKnBvb2wpCiBzdGF0aWMgY29uc3Qgc3RydWN0IHJlc291cmNlX2Z1bmNzIGRjZTEyMF9y ZXNfcG9vbF9mdW5jcyA9IHsKIAkuZGVzdHJveSA9IGRjZTEyMF9kZXN0cm95X3Jlc291cmNlX3Bv b2wsCiAJLmxpbmtfZW5jX2NyZWF0ZSA9IGRjZTEyMF9saW5rX2VuY29kZXJfY3JlYXRlLAotCS52 YWxpZGF0ZV9ndWFyYW50ZWVkID0gZGNlMTEyX3ZhbGlkYXRlX2d1YXJhbnRlZWQsCiAJLnZhbGlk YXRlX2JhbmR3aWR0aCA9IGRjZTExMl92YWxpZGF0ZV9iYW5kd2lkdGgsCiAJLnZhbGlkYXRlX3Bs YW5lID0gZGNlMTAwX3ZhbGlkYXRlX3BsYW5lLAogCS5hZGRfc3RyZWFtX3RvX2N0eCA9IGRjZTEx Ml9hZGRfc3RyZWFtX3RvX2N0eApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNw bGF5L2RjL2RjZTgwL2RjZTgwX3Jlc291cmNlLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3Bs YXkvZGMvZGNlODAvZGNlODBfcmVzb3VyY2UuYwppbmRleCA1ZDg1NGEzN2E5NzguLjQ4YTA2ODk2 NDcyMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjZTgwL2Rj ZTgwX3Jlc291cmNlLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjZTgw L2RjZTgwX3Jlc291cmNlLmMKQEAgLTY5MSwyMyArNjkxLDYgQEAgc3RhdGljIHZvaWQgZGVzdHJ1 Y3Qoc3RydWN0IGRjZTExMF9yZXNvdXJjZV9wb29sICpwb29sKQogCX0KIH0KIAotc3RhdGljIGVu dW0gZGNfc3RhdHVzIGJ1aWxkX21hcHBlZF9yZXNvdXJjZSgKLQkJY29uc3Qgc3RydWN0IGRjICpk YywKLQkJc3RydWN0IGRjX3N0YXRlICpjb250ZXh0LAotCQlzdHJ1Y3QgZGNfc3RyZWFtX3N0YXRl ICpzdHJlYW0pCi17Ci0Jc3RydWN0IHBpcGVfY3R4ICpwaXBlX2N0eCA9IHJlc291cmNlX2dldF9o ZWFkX3BpcGVfZm9yX3N0cmVhbSgmY29udGV4dC0+cmVzX2N0eCwgc3RyZWFtKTsKLQotCWlmICgh cGlwZV9jdHgpCi0JCXJldHVybiBEQ19FUlJPUl9VTkVYUEVDVEVEOwotCi0JZGNlMTEwX3Jlc291 cmNlX2J1aWxkX3BpcGVfaHdfcGFyYW0ocGlwZV9jdHgpOwotCi0JcmVzb3VyY2VfYnVpbGRfaW5m b19mcmFtZShwaXBlX2N0eCk7Ci0KLQlyZXR1cm4gRENfT0s7Ci19Ci0KIGJvb2wgZGNlODBfdmFs aWRhdGVfYmFuZHdpZHRoKAogCXN0cnVjdCBkYyAqZGMsCiAJc3RydWN0IGRjX3N0YXRlICpjb250 ZXh0KQpAQCAtNzQ5LDM3ICs3MzIsNiBAQCBlbnVtIGRjX3N0YXR1cyBkY2U4MF92YWxpZGF0ZV9n bG9iYWwoCiAJcmV0dXJuIERDX09LOwogfQogCi1lbnVtIGRjX3N0YXR1cyBkY2U4MF92YWxpZGF0 ZV9ndWFyYW50ZWVkKAotCQlzdHJ1Y3QgZGMgKmRjLAotCQlzdHJ1Y3QgZGNfc3RyZWFtX3N0YXRl ICpkY19zdHJlYW0sCi0JCXN0cnVjdCBkY19zdGF0ZSAqY29udGV4dCkKLXsKLQllbnVtIGRjX3N0 YXR1cyByZXN1bHQgPSBEQ19FUlJPUl9VTkVYUEVDVEVEOwotCi0JY29udGV4dC0+c3RyZWFtc1sw XSA9IGRjX3N0cmVhbTsKLQlkY19zdHJlYW1fcmV0YWluKGNvbnRleHQtPnN0cmVhbXNbMF0pOwot CWNvbnRleHQtPnN0cmVhbV9jb3VudCsrOwotCi0JcmVzdWx0ID0gcmVzb3VyY2VfbWFwX3Bvb2xf cmVzb3VyY2VzKGRjLCBjb250ZXh0LCBkY19zdHJlYW0pOwotCi0JaWYgKHJlc3VsdCA9PSBEQ19P SykKLQkJcmVzdWx0ID0gcmVzb3VyY2VfbWFwX2Nsb2NrX3Jlc291cmNlcyhkYywgY29udGV4dCwg ZGNfc3RyZWFtKTsKLQotCWlmIChyZXN1bHQgPT0gRENfT0spCi0JCXJlc3VsdCA9IGJ1aWxkX21h cHBlZF9yZXNvdXJjZShkYywgY29udGV4dCwgZGNfc3RyZWFtKTsKLQotCWlmIChyZXN1bHQgPT0g RENfT0spIHsKLQkJdmFsaWRhdGVfZ3VhcmFudGVlZF9jb3B5X3N0cmVhbXMoCi0JCQkJY29udGV4 dCwgZGMtPmNhcHMubWF4X3N0cmVhbXMpOwotCQlyZXN1bHQgPSByZXNvdXJjZV9idWlsZF9zY2Fs aW5nX3BhcmFtc19mb3JfY29udGV4dChkYywgY29udGV4dCk7Ci0JfQotCi0JaWYgKHJlc3VsdCA9 PSBEQ19PSykKLQkJcmVzdWx0ID0gZGNlODBfdmFsaWRhdGVfYmFuZHdpZHRoKGRjLCBjb250ZXh0 KTsKLQotCXJldHVybiByZXN1bHQ7Ci19Ci0KIHN0YXRpYyB2b2lkIGRjZTgwX2Rlc3Ryb3lfcmVz b3VyY2VfcG9vbChzdHJ1Y3QgcmVzb3VyY2VfcG9vbCAqKnBvb2wpCiB7CiAJc3RydWN0IGRjZTEx MF9yZXNvdXJjZV9wb29sICpkY2UxMTBfcG9vbCA9IFRPX0RDRTExMF9SRVNfUE9PTCgqcG9vbCk7 CkBAIC03OTIsNyArNzQ0LDYgQEAgc3RhdGljIHZvaWQgZGNlODBfZGVzdHJveV9yZXNvdXJjZV9w b29sKHN0cnVjdCByZXNvdXJjZV9wb29sICoqcG9vbCkKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcmVz b3VyY2VfZnVuY3MgZGNlODBfcmVzX3Bvb2xfZnVuY3MgPSB7CiAJLmRlc3Ryb3kgPSBkY2U4MF9k ZXN0cm95X3Jlc291cmNlX3Bvb2wsCiAJLmxpbmtfZW5jX2NyZWF0ZSA9IGRjZTgwX2xpbmtfZW5j b2Rlcl9jcmVhdGUsCi0JLnZhbGlkYXRlX2d1YXJhbnRlZWQgPSBkY2U4MF92YWxpZGF0ZV9ndWFy YW50ZWVkLAogCS52YWxpZGF0ZV9iYW5kd2lkdGggPSBkY2U4MF92YWxpZGF0ZV9iYW5kd2lkdGgs CiAJLnZhbGlkYXRlX3BsYW5lID0gZGNlMTAwX3ZhbGlkYXRlX3BsYW5lLAogCS5hZGRfc3RyZWFt X3RvX2N0eCA9IGRjZTEwMF9hZGRfc3RyZWFtX3RvX2N0eCwKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY24xMC9kY24xMF9kcHAuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvZGlzcGxheS9kYy9kY24xMC9kY24xMF9kcHAuYwppbmRleCAzMzU2MTI1YTYxMTcuLjVm NDBhNzM3NGMwMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2Rj bjEwL2RjbjEwX2RwcC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY24x MC9kY24xMF9kcHAuYwpAQCAtMTIxLDYgKzEyMSwxMyBAQCBib29sIGRwcF9nZXRfb3B0aW1hbF9u dW1iZXJfb2ZfdGFwcygKIAllbHNlCiAJCXBpeGVsX3dpZHRoID0gc2NsX2RhdGEtPnZpZXdwb3J0 LndpZHRoOwogCisJLyogU29tZSBBU0lDcyBkb2VzIG5vdCBzdXBwb3J0ICBGUDE2IHNjYWxpbmcs IHNvIHdlIHJlamVjdCBtb2RlcyByZXF1aXJlIHRoaXMqLworCWlmIChzY2xfZGF0YS0+dmlld3Bv cnQud2lkdGggICE9IHNjbF9kYXRhLT5oX2FjdGl2ZSAmJgorCQlzY2xfZGF0YS0+dmlld3BvcnQu aGVpZ2h0ICE9IHNjbF9kYXRhLT52X2FjdGl2ZSAmJgorCQlkcHAtPmNhcHMtPmRzY2xfZGF0YV9w cm9jX2Zvcm1hdCA9PSBEU0NMX0RBVEFfUFJDRVNTSU5HX0ZJWEVEX0ZPUk1BVCAmJgorCQlzY2xf ZGF0YS0+Zm9ybWF0ID09IFBJWEVMX0ZPUk1BVF9GUDE2KQorCQlyZXR1cm4gZmFsc2U7CisKIAkv KiBUT0RPOiBhZGQgbGIgY2hlY2sgKi8KIAogCS8qIE5vIHN1cHBvcnQgZm9yIHByb2dyYW1taW5n IHJhdGlvIG9mIDQsIGRyb3AgdG8gMy45OTk5OS4uICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNuMTAvZGNuMTBfcmVzb3VyY2UuYyBiL2RyaXZlcnMvZ3B1 L2RybS9hbWQvZGlzcGxheS9kYy9kY24xMC9kY24xMF9yZXNvdXJjZS5jCmluZGV4IDAyYmQ2NjRh ZWQzZS4uYTNmZTM0M2I0YTg1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3Bs YXkvZGMvZGNuMTAvZGNuMTBfcmVzb3VyY2UuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rp c3BsYXkvZGMvZGNuMTAvZGNuMTBfcmVzb3VyY2UuYwpAQCAtOTE4LDM2ICs5MTgsNiBAQCBlbnVt IGRjX3N0YXR1cyBkY24xMF9hZGRfc3RyZWFtX3RvX2N0eCgKIAlyZXR1cm4gcmVzdWx0OwogfQog Ci1lbnVtIGRjX3N0YXR1cyBkY24xMF92YWxpZGF0ZV9ndWFyYW50ZWVkKAotCQlzdHJ1Y3QgZGMg KmRjLAotCQlzdHJ1Y3QgZGNfc3RyZWFtX3N0YXRlICpkY19zdHJlYW0sCi0JCXN0cnVjdCBkY19z dGF0ZSAqY29udGV4dCkKLXsKLQllbnVtIGRjX3N0YXR1cyByZXN1bHQgPSBEQ19FUlJPUl9VTkVY UEVDVEVEOwotCi0JY29udGV4dC0+c3RyZWFtc1swXSA9IGRjX3N0cmVhbTsKLQlkY19zdHJlYW1f cmV0YWluKGNvbnRleHQtPnN0cmVhbXNbMF0pOwotCWNvbnRleHQtPnN0cmVhbV9jb3VudCsrOwot Ci0JcmVzdWx0ID0gcmVzb3VyY2VfbWFwX3Bvb2xfcmVzb3VyY2VzKGRjLCBjb250ZXh0LCBkY19z dHJlYW0pOwotCi0JaWYgKHJlc3VsdCA9PSBEQ19PSykKLQkJcmVzdWx0ID0gcmVzb3VyY2VfbWFw X3BoeV9jbG9ja19yZXNvdXJjZXMoZGMsIGNvbnRleHQsIGRjX3N0cmVhbSk7Ci0KLQlpZiAocmVz dWx0ID09IERDX09LKQotCQlyZXN1bHQgPSBidWlsZF9tYXBwZWRfcmVzb3VyY2UoZGMsIGNvbnRl eHQsIGRjX3N0cmVhbSk7Ci0KLQlpZiAocmVzdWx0ID09IERDX09LKSB7Ci0JCXZhbGlkYXRlX2d1 YXJhbnRlZWRfY29weV9zdHJlYW1zKAotCQkJCWNvbnRleHQsIGRjLT5jYXBzLm1heF9zdHJlYW1z KTsKLQkJcmVzdWx0ID0gcmVzb3VyY2VfYnVpbGRfc2NhbGluZ19wYXJhbXNfZm9yX2NvbnRleHQo ZGMsIGNvbnRleHQpOwotCX0KLQlpZiAocmVzdWx0ID09IERDX09LICYmICFkY25fdmFsaWRhdGVf YmFuZHdpZHRoKGRjLCBjb250ZXh0KSkKLQkJcmV0dXJuIERDX0ZBSUxfQkFORFdJRFRIX1ZBTElE QVRFOwotCi0JcmV0dXJuIHJlc3VsdDsKLX0KLQogc3RhdGljIHN0cnVjdCBwaXBlX2N0eCAqZGNu MTBfYWNxdWlyZV9pZGxlX3BpcGVfZm9yX2xheWVyKAogCQlzdHJ1Y3QgZGNfc3RhdGUgKmNvbnRl eHQsCiAJCWNvbnN0IHN0cnVjdCByZXNvdXJjZV9wb29sICpwb29sLApAQCAtMTIzMyw3ICsxMjAz LDYgQEAgc3RhdGljIHN0cnVjdCBkY19jYXBfZnVuY3MgY2FwX2Z1bmNzID0gewogc3RhdGljIHN0 cnVjdCByZXNvdXJjZV9mdW5jcyBkY24xMF9yZXNfcG9vbF9mdW5jcyA9IHsKIAkuZGVzdHJveSA9 IGRjbjEwX2Rlc3Ryb3lfcmVzb3VyY2VfcG9vbCwKIAkubGlua19lbmNfY3JlYXRlID0gZGNuMTBf bGlua19lbmNvZGVyX2NyZWF0ZSwKLQkudmFsaWRhdGVfZ3VhcmFudGVlZCA9IGRjbjEwX3ZhbGlk YXRlX2d1YXJhbnRlZWQsCiAJLnZhbGlkYXRlX2JhbmR3aWR0aCA9IGRjbl92YWxpZGF0ZV9iYW5k d2lkdGgsCiAJLmFjcXVpcmVfaWRsZV9waXBlX2Zvcl9sYXllciA9IGRjbjEwX2FjcXVpcmVfaWRs ZV9waXBlX2Zvcl9sYXllciwKIAkudmFsaWRhdGVfcGxhbmUgPSBkY24xMF92YWxpZGF0ZV9wbGFu ZSwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pbmMvY29yZV90 eXBlcy5oIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2luYy9jb3JlX3R5cGVzLmgK aW5kZXggNTVmNTZiZjdkNWI2Li5hOTQ5NDJkNGU2NmIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9hbWQvZGlzcGxheS9kYy9pbmMvY29yZV90eXBlcy5oCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvZGlzcGxheS9kYy9pbmMvY29yZV90eXBlcy5oCkBAIC05NSwxMSArOTUsNiBAQCBzdHJ1 Y3QgcmVzb3VyY2VfZnVuY3MgewogCXN0cnVjdCBsaW5rX2VuY29kZXIgKigqbGlua19lbmNfY3Jl YXRlKSgKIAkJCWNvbnN0IHN0cnVjdCBlbmNvZGVyX2luaXRfZGF0YSAqaW5pdCk7CiAKLQllbnVt IGRjX3N0YXR1cyAoKnZhbGlkYXRlX2d1YXJhbnRlZWQpKAotCQkJCQlzdHJ1Y3QgZGMgKmRjLAot CQkJCQlzdHJ1Y3QgZGNfc3RyZWFtX3N0YXRlICpzdHJlYW0sCi0JCQkJCXN0cnVjdCBkY19zdGF0 ZSAqY29udGV4dCk7Ci0KIAlib29sICgqdmFsaWRhdGVfYmFuZHdpZHRoKSgKIAkJCQkJc3RydWN0 IGRjICpkYywKIAkJCQkJc3RydWN0IGRjX3N0YXRlICpjb250ZXh0KTsKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pbmMvcmVzb3VyY2UuaCBiL2RyaXZlcnMvZ3B1 L2RybS9hbWQvZGlzcGxheS9kYy9pbmMvcmVzb3VyY2UuaAppbmRleCA1NDY3MzMyZmFmN2IuLjY0 MGE2NDdmNDYxMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2lu Yy9yZXNvdXJjZS5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pbmMvcmVz b3VyY2UuaApAQCAtMTM5LDEwICsxMzksNiBAQCBib29sIHJlc291cmNlX3ZhbGlkYXRlX2F0dGFj aF9zdXJmYWNlcygKIAkJc3RydWN0IGRjX3N0YXRlICpjb250ZXh0LAogCQljb25zdCBzdHJ1Y3Qg cmVzb3VyY2VfcG9vbCAqcG9vbCk7CiAKLXZvaWQgdmFsaWRhdGVfZ3VhcmFudGVlZF9jb3B5X3N0 cmVhbXMoCi0JCXN0cnVjdCBkY19zdGF0ZSAqY29udGV4dCwKLQkJaW50IG1heF9zdHJlYW1zKTsK LQogdm9pZCByZXNvdXJjZV92YWxpZGF0ZV9jdHhfdXBkYXRlX3BvaW50ZXJfYWZ0ZXJfY29weSgK IAkJY29uc3Qgc3RydWN0IGRjX3N0YXRlICpzcmNfY3R4LAogCQlzdHJ1Y3QgZGNfc3RhdGUgKmRz dF9jdHgpOwotLSAKMi4xNC4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwphbWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1n ZngK