From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sean Paul Subject: [DPU PATCH] drm/msm: Remove secure fb/plane support from dpu Date: Wed, 21 Feb 2018 16:42:12 -0500 Message-ID: <20180221214212.77387-1-seanpaul@chromium.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: freedreno-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Freedreno" To: freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org Cc: jsanka-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org, Sean Paul , hoegsberg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org List-Id: linux-arm-msm@vger.kernel.org V2UgbmVlZCB0byBoYXZlIGEgZGlzY3Vzc2lvbiBhYm91dCBob3cgdG8gaW50cm9kdWNlIHRoaXMg aW4gYSB3YXkgdGhhdAppdCBjYW4gYmUgbGV2ZXJhZ2VkIGJ5IG90aGVyIHBsYXRmb3Jtcy91c2Vy c3BhY2VzLiBGb3Igbm93LCByZW1vdmUKc3VwcG9ydCBzaW5jZSB3ZSBkb24ndCBuZWVkIGl0IHll dC4KClNpZ25lZC1vZmYtYnk6IFNlYW4gUGF1bCA8c2VhbnBhdWxAY2hyb21pdW0ub3JnPgotLS0K IGRyaXZlcnMvZ3B1L2RybS9kcm1fZnJhbWVidWZmZXIuYyAgICAgICAgICAgICB8ICAzICstCiBk cml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfY3J0Yy5jICAgICAgfCAxNiAtLS0tLS0t CiBkcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfY3J0Yy5oICAgICAgfCA0MyAtLS0t LS0tLS0tLS0tLS0tLS0tCiAuLi4vZHJtL21zbS9kaXNwL2RwdTEvZHB1X2VuY29kZXJfcGh5c193 Yi5jICAgfCAxMSAtLS0tLQogZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X3Jv dC5jICAgIHwgIDEgLQogZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X3JvdC5o ICAgIHwgIDIgLQogZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X3NzcHAuYyAg IHwgMzAgLS0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3 X3NzcHAuaCAgIHwgMjEgKysrLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9k cHVfaHdfd2IuYyAgICAgfCAgMyAtLQogZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1 X2h3X3diLmggICAgIHwgIDEgLQogZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2tt cy5jICAgICAgIHwgIDggKy0tLQogZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2tt cy5oICAgICAgIHwgMTUgLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1 X3BsYW5lLmMgICAgIHwgNDEgKy0tLS0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vbXNt L2Rpc3AvZHB1MS9kcHVfcGxhbmUuaCAgICAgfCAgMSAtCiBkcml2ZXJzL2dwdS9kcm0vbXNtL2Rp c3AvZHB1MS9kcHVfd2IuYyAgICAgICAgfCAxMCAtLS0tLQogZHJpdmVycy9ncHUvZHJtL21zbS9t c21fZHJ2LmggICAgICAgICAgICAgICAgIHwgIDMgLS0KIGluY2x1ZGUvdWFwaS9kcm0vZHB1X2Ry bS5oICAgICAgICAgICAgICAgICAgICB8IDQyIC0tLS0tLS0tLS0tLS0tLS0tLQogaW5jbHVkZS91 YXBpL2RybS9kcm1fbW9kZS5oICAgICAgICAgICAgICAgICAgIHwgIDEgLQogMTggZmlsZXMgY2hh bmdlZCwgOSBpbnNlcnRpb25zKCspLCAyNDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2RybV9mcmFtZWJ1ZmZlci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9mcmFt ZWJ1ZmZlci5jCmluZGV4IDgyMjJmZjdkM2U5My4uNWExM2ZmMjlmNGYwIDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vZHJtX2ZyYW1lYnVmZmVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2Ry bV9mcmFtZWJ1ZmZlci5jCkBAIC0yNjgsOCArMjY4LDcgQEAgZHJtX2ludGVybmFsX2ZyYW1lYnVm ZmVyX2NyZWF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCXN0cnVjdCBkcm1fZnJhbWVidWZm ZXIgKmZiOwogCWludCByZXQ7CiAKLQlpZiAoci0+ZmxhZ3MgJiB+KERSTV9NT0RFX0ZCX0lOVEVS TEFDRUQgfCBEUk1fTU9ERV9GQl9NT0RJRklFUlMgfAotCQkJRFJNX01PREVfRkJfU0VDVVJFKSkg eworCWlmIChyLT5mbGFncyAmIH4oRFJNX01PREVfRkJfSU5URVJMQUNFRCB8IERSTV9NT0RFX0ZC X01PRElGSUVSUykpIHsKIAkJRFJNX0RFQlVHX0tNUygiYmFkIGZyYW1lYnVmZmVyIGZsYWdzIDB4 JTA4eFxuIiwgci0+ZmxhZ3MpOwogCQlyZXR1cm4gRVJSX1BUUigtRUlOVkFMKTsKIAl9CmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfY3J0Yy5jIGIvZHJpdmVy cy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NydGMuYwppbmRleCBkZjZjYmViMTVjZjUuLjNj ZGYxZTNkOWQ5NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1 X2NydGMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfY3J0Yy5jCkBA IC0zOSwxMyArMzksNiBAQAogI2luY2x1ZGUgImRwdV9jb3JlX3BlcmYuaCIKICNpbmNsdWRlICJk cHVfdHJhY2UuaCIKIAotLyogZGVmaW5lcyBmb3Igc2VjdXJlIGNoYW5uZWwgY2FsbCAqLwotI2Rl ZmluZSBTRUNfU0lEX0NOVCAgICAgICAgICAgICAgIDIKLSNkZWZpbmUgU0VDX1NJRF9NQVNLXzAg ICAgICAgICAgICAweDgwODgxCi0jZGVmaW5lIFNFQ19TSURfTUFTS18xICAgICAgICAgICAgMHg4 MEM4MQotI2RlZmluZSBNRU1fUFJPVEVDVF9TRF9DVFJMX1NXSVRDSCAweDE4Ci0jZGVmaW5lIE1E UF9ERVZJQ0VfSUQgICAgICAgICAgICAweDFBCi0KIHN0cnVjdCBkcHVfY3J0Y19pcnFfaW5mbyB7 CiAJc3RydWN0IGRwdV9pcnFfY2FsbGJhY2sgaXJxOwogCXUzMiBldmVudDsKQEAgLTM5OTQsMTAg KzM5ODcsNiBAQCBzdGF0aWMgdm9pZCBkcHVfY3J0Y19pbnN0YWxsX3Byb3BlcnRpZXMoc3RydWN0 IGRybV9jcnRjICpjcnRjLAogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXY7CiAJc3RydWN0IGRwdV9r bXNfaW5mbyAqaW5mbzsKIAlzdHJ1Y3QgZHB1X2ttcyAqZHB1X2ttczsKLQlzdGF0aWMgY29uc3Qg c3RydWN0IGRybV9wcm9wX2VudW1fbGlzdCBlX3NlY3VyZV9sZXZlbFtdID0gewotCQl7RFBVX0RS TV9TRUNfTk9OX1NFQywgInNlY19hbmRfbm9uX3NlYyJ9LAotCQl7RFBVX0RSTV9TRUNfT05MWSwg InNlY19vbmx5In0sCi0JfTsKIAogCURQVV9ERUJVRygiXG4iKTsKIApAQCAtNDA4MCwxMSArNDA2 OSw2IEBAIHN0YXRpYyB2b2lkIGRwdV9jcnRjX2luc3RhbGxfcHJvcGVydGllcyhzdHJ1Y3QgZHJt X2NydGMgKmNydGMsCiAJbXNtX3Byb3BlcnR5X2luc3RhbGxfdm9sYXRpbGVfcmFuZ2UoJmRwdV9j cnRjLT5wcm9wZXJ0eV9pbmZvLAogCQkiZHB1X2RybV9yb2lfdjEiLCAweDAsIDAsIH4wLCAwLCBD UlRDX1BST1BfUk9JX1YxKTsKIAotCW1zbV9wcm9wZXJ0eV9pbnN0YWxsX2VudW0oJmRwdV9jcnRj LT5wcm9wZXJ0eV9pbmZvLCAic2VjdXJpdHlfbGV2ZWwiLAotCQkJMHgwLCAwLCBlX3NlY3VyZV9s ZXZlbCwKLQkJCUFSUkFZX1NJWkUoZV9zZWN1cmVfbGV2ZWwpLAotCQkJQ1JUQ19QUk9QX1NFQ1VS SVRZX0xFVkVMKTsKLQogCWRwdV9rbXNfaW5mb19yZXNldChpbmZvKTsKIAogCWlmIChjYXRhbG9n LT5oYXNfZGltX2xheWVyKSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3Av ZHB1MS9kcHVfY3J0Yy5oIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NydGMu aAppbmRleCAxN2QyMWZmZjNmMGEuLmI2M2RmMjQzYmUzMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NydGMuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNt L2Rpc3AvZHB1MS9kcHVfY3J0Yy5oCkBAIC01MSwyMCArNTEsMTQgQEAgZW51bSBkcHVfY3J0Y19j bGllbnRfdHlwZSB7CiAgKiBlbnVtIGRwdV9jcnRjX3NtbXVfc3RhdGU6CXNtbXUgc3RhdGUKICAq IEBBVFRBQ0hFRDoJIGFsbCB0aGUgY29udGV4dCBiYW5rcyBhcmUgYXR0YWNoZWQuCiAgKiBAREVU QUNIRUQ6CSBhbGwgdGhlIGNvbnRleHQgYmFua3MgYXJlIGRldGFjaGVkLgotICogQERFVEFDSEVE X1NFQzoJIHNlY3VyZSBjb250ZXh0IGJhbmsgaXMgZGV0YWNoZWQuCiAgKiBAQVRUQUNIX0FMTF9S RVE6CSB0cmFuc2llbnQgc3RhdGUgb2YgYXR0YWNoaW5nIGNvbnRleHQgYmFua3MuCiAgKiBAREVU QUNIX0FMTF9SRVE6CSB0cmFuc2llbnQgc3RhdGUgb2YgZGV0YWNoaW5nIGNvbnRleHQgYmFua3Mu Ci0gKiBAREVUQUNIX1NFQ19SRVE6CSB0cmFuaXNlbnQgc3RhdGUgb2Ygc2VjdXJlIGNvbnRleHQg YmFuayBpcyBkZXRhY2hlZAotICogQEFUVEFDSF9TRUNfUkVROgkgdHJhbnNpZW50IHN0YXRlIG9m IGF0dGFjaGluZyBzZWN1cmUgY29udGV4dCBiYW5rLgogICovCiBlbnVtIGRwdV9jcnRjX3NtbXVf c3RhdGUgewogCUFUVEFDSEVEID0gMCwKIAlERVRBQ0hFRCwKLQlERVRBQ0hFRF9TRUMsCiAJQVRU QUNIX0FMTF9SRVEsCiAJREVUQUNIX0FMTF9SRVEsCi0JREVUQUNIX1NFQ19SRVEsCi0JQVRUQUNI X1NFQ19SRVEsCiB9OwogCiAvKioKQEAgLTYyMSw0MSArNjE1LDQgQEAgdm9pZCBkcHVfY3J0Y19y ZXNfcHV0KHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqc3RhdGUsIHUzMiB0eXBlLCB1NjQgdGFnKTsK IHZvaWQgZHB1X2NydGNfZ2V0X2NydGNfcm9pKHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqc3RhdGUs CiAJCWNvbnN0IHN0cnVjdCBkcHVfcmVjdCAqKmNydGNfcm9pKTsKIAotLyoqIGRwdV9jcnRfZ2V0 X3NlY3VyZV9sZXZlbCAtIHJldHJpZXZlIHRoZSBzZWN1cmUgbGV2ZWwgZnJvbSB0aGUgZ2l2ZSBz dGF0ZQotICoJb2JqZWN0LCB0aGlzIGlzIHVzZWQgdG8gZGV0ZXJtaW5lIHRoZSBzZWN1cmUgc3Rh dGUgb2YgdGhlIGNydGMKLSAqIEBjcnRjIDogUG9pbnRlciB0byBkcm0gY3J0YyBzdHJ1Y3R1cmUK LSAqIEB1c3I6IFBvaW50ZXIgdG8gZHJtIGNydGMgc3RhdGUKLSAqIHJldHVybjogc2VjdXJlX2xl dmVsCi0gKi8KLXN0YXRpYyBpbmxpbmUgaW50IGRwdV9jcnRjX2dldF9zZWN1cmVfbGV2ZWwoc3Ry dWN0IGRybV9jcnRjICpjcnRjLAotCQlzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKnN0YXRlKQotewot CWlmICghY3J0YyB8fCAhc3RhdGUpCi0JCXJldHVybiAtRUlOVkFMOwotCi0JcmV0dXJuIGRwdV9j cnRjX2dldF9wcm9wZXJ0eSh0b19kcHVfY3J0Y19zdGF0ZShzdGF0ZSksCi0JCQlDUlRDX1BST1Bf U0VDVVJJVFlfTEVWRUwpOwotfQotCi0vKioKLSAqIGRwdV9jcnRjX2dldF9zZWN1cmVfdHJhbnNp dGlvbiAtIGRldGVybWluZXMgdGhlIG9wZXJhdGlvbnMgdG8gYmUKLSAqIHBlcmZvcm1lZCBiZWZv cmUgdHJhbnNpdGlvbmluZyB0byBzZWN1cmUgc3RhdGUKLSAqIFRoaXMgZnVuY3Rpb24gc2hvdWxk IGJlIGNhbGxlZCBhZnRlciBzd2FwcGluZyB0aGUgbmV3IHN0YXRlCi0gKiBAY3J0YzogUG9pbnRl ciB0byBkcm0gY3J0YyBzdHJ1Y3R1cmUKLSAqIEBvbGRfY3J0Y19zdGF0ZTogUG9uaXRlciB0byBw cmV2aW91cyBDUlRDIHN0YXRlCi0gKiBSZXR1cm5zIHRoZSBiaXRtYXNrIG9mIG9wZXJhdGlvbnMg bmVlZCB0byBiZSBwZXJmb3JtZWQsIC1FcnJvciBpbgotICogY2FzZSBvZiBlcnJvciBjYXNlcwot ICovCi1pbnQgZHB1X2NydGNfZ2V0X3NlY3VyZV90cmFuc2l0aW9uX29wcyhzdHJ1Y3QgZHJtX2Ny dGMgKmNydGMsCi0JCXN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqb2xkX2NydGNfc3RhdGUsCi0JCWJv b2wgb2xkX3ZhbGlkX2ZiKTsKLQotLyoqCi0gKiBkcHVfY3J0Y19zZWN1cmVfY3RybCAtIEluaXRp YXRlcyB0aGUgdHJhbnNpdGlvbiBiZXR3ZWVuIHNlY3VyZSBhbmQKLSAqICAgICAgICAgICAgICAg ICAgICAgICAgICBub24tc2VjdXJlIHdvcmxkCi0gKiBAY3J0YzogUG9pbnRlciB0byBjcnRjCi0g KiBAcG9zdF9jb21taXQ6IGlmIHRoaXMgb3BlcmF0aW9uIGlzIHRyaWdnZXJlZCBhZnRlciBjb21t aXQKLSAqLwotaW50IGRwdV9jcnRjX3NlY3VyZV9jdHJsKHN0cnVjdCBkcm1fY3J0YyAqY3J0Yywg Ym9vbCBwb3N0X2NvbW1pdCk7Ci0KICNlbmRpZiAvKiBfRFBVX0NSVENfSF8gKi8KZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9lbmNvZGVyX3BoeXNfd2IuYyBi L2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9lbmNvZGVyX3BoeXNfd2IuYwppbmRl eCA3NTI1NWZjNDJlN2UuLjlhNmZhM2UxZThiNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L21zbS9kaXNwL2RwdTEvZHB1X2VuY29kZXJfcGh5c193Yi5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9tc20vZGlzcC9kcHUxL2RwdV9lbmNvZGVyX3BoeXNfd2IuYwpAQCAtMjc5LDE5ICsyNzksOCBA QCBzdGF0aWMgdm9pZCBkcHVfZW5jb2Rlcl9waHlzX3diX3NldHVwX2ZiKHN0cnVjdCBkcHVfZW5j b2Rlcl9waHlzICpwaHlzX2VuYywKIAogCXdiX2NmZy0+aW50Zl9tb2RlID0gcGh5c19lbmMtPmlu dGZfbW9kZTsKIAotCWZiX21vZGUgPSBkcHVfY29ubmVjdG9yX2dldF9wcm9wZXJ0eShwaHlzX2Vu Yy0+Y29ubmVjdG9yLT5zdGF0ZSwKLQkJCUNPTk5FQ1RPUl9QUk9QX0ZCX1RSQU5TTEFUSU9OX01P REUpOwotCWlmIChwaHlzX2VuYy0+ZW5hYmxlX3N0YXRlID09IERQVV9FTkNfRElTQUJMSU5HKQot CQl3Yl9jZmctPmlzX3NlY3VyZSA9IGZhbHNlOwotCWVsc2UgaWYgKGZiX21vZGUgPT0gRFBVX0RS TV9GQl9TRUMpCi0JCXdiX2NmZy0+aXNfc2VjdXJlID0gdHJ1ZTsKLQllbHNlCi0JCXdiX2NmZy0+ aXNfc2VjdXJlID0gZmFsc2U7Ci0KIAlhc3BhY2UgPSBwaHlzX2VuYy0+ZHB1X2ttcy0+YmFzZS5h c3BhY2U7CiAKLQlEUFVfREVCVUcoIltmYl9zZWN1cmU6JWRdXG4iLCB3Yl9jZmctPmlzX3NlY3Vy ZSk7Ci0KIAlyZXQgPSBtc21fZnJhbWVidWZmZXJfcHJlcGFyZShmYiwgYXNwYWNlKTsKIAlpZiAo cmV0KSB7CiAJCURQVV9FUlJPUigicHJlcCBmYiBmYWlsZWQsICVkXG4iLCByZXQpOwpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X3JvdC5jIGIvZHJpdmVy cy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X3JvdC5jCmluZGV4IDZiNTYwZjFjMGZjZS4u YjIwYTY0MDM3NjY2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9k cHVfaHdfcm90LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X3Jv dC5jCkBAIC02MDYsNyArNjA2LDYgQEAgc3RhdGljIGludCBkcHVfaHdfcm90X2NvbW1pdChzdHJ1 Y3QgZHB1X2h3X3JvdCAqaHcsIHN0cnVjdCBkcHVfaHdfcm90X2NtZCAqZGF0YSwKIAlyb3RfY21k LmhmbGlwID0gZGF0YS0+cm90OTAgPyAhZGF0YS0+aGZsaXAgOiBkYXRhLT5oZmxpcDsKIAlyb3Rf Y21kLnZmbGlwID0gZGF0YS0+cm90OTAgPyAhZGF0YS0+dmZsaXAgOiBkYXRhLT52ZmxpcDsKIAot CXJvdF9jbWQuc2VjdXJlID0gZGF0YS0+c2VjdXJlOwogCXJvdF9jbWQuY2xrcmF0ZSA9IGRhdGEt PmNsa3JhdGU7CiAJcm90X2NtZC5kYXRhX2J3ID0gMDsKIAlyb3RfY21kLnByZWZpbGxfYncgPSBk YXRhLT5wcmVmaWxsX2J3OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2Rw dTEvZHB1X2h3X3JvdC5oIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X3Jv dC5oCmluZGV4IGY3MmQ5YzA2YjU1Ny4uZGYxNWVkNWYxMDJmIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfaHdfcm90LmgKKysrIGIvZHJpdmVycy9ncHUvZHJt L21zbS9kaXNwL2RwdTEvZHB1X2h3X3JvdC5oCkBAIC00NCw3ICs0NCw2IEBAIGVudW0gZHB1X2h3 X3JvdF9jbWRfdHlwZSB7CiAgKiBAcm90OTA6IHRydWUgaWYgcm90YXRpb24gOTAgaW4gY291bnRl ciBjbG9ja3dpc2UgaXMgcmVxdWlyZWQKICAqIEBoZmxpcDogdHJ1ZSBpZiBob3Jpem9udGFsIGZs aXAgaXMgcmVxdWlyZWQgcHJpb3IgdG8gcm90YXRpb24KICAqIEB2ZmxpcDogdHJ1ZSBpZiB2ZXJ0 aWNhbCBmbGlwIGlzIHJlcXVpcmVkIHByaW9yIHRvIHJvdGF0aW9uCi0gKiBAc2VjdXJlOiB0cnVl IGlmIGltYWdlIGNvbnRlbnQgaXMgaW4gc2VjdXJlIGRvbWFpbgogICogQHZpZGVvX21vZGU6IHRy dWUgaWYgcm90YXRvciBpcyBmZWVkaW5nIGludG8gdmlkZW8gaW50ZXJmYWNlCiAgKiBAY2xrcmF0 ZSA6IGNsb2NrIHJhdGUgaW4gSHoKICAqIEBwcmVmaWxsX2J3OiBwcmVmaWxsIGJhbmR3aWR0aCBp biBCcHMgKHZpZGVvIG1vZGUgb25seSkKQEAgLTgwLDcgKzc5LDYgQEAgc3RydWN0IGRwdV9od19y b3RfY21kIHsKIAlib29sIHJvdDkwOwogCWJvb2wgaGZsaXA7CiAJYm9vbCB2ZmxpcDsKLQlib29s IHNlY3VyZTsKIAlib29sIHZpZGVvX21vZGU7CiAJdTY0IGNsa3JhdGU7CiAJdTY0IHByZWZpbGxf Ync7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfaHdfc3Nw cC5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X3NzcHAuYwppbmRleCA3 MDViNDUxMGI3MzAuLjNmZWNmMzNhMTY0ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21z bS9kaXNwL2RwdTEvZHB1X2h3X3NzcHAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3Av ZHB1MS9kcHVfaHdfc3NwcC5jCkBAIC0zNjAsMzUgKzM2MCw2IEBAIHN0YXRpYyB2b2lkIGRwdV9o d19zc3BwX3NldHVwX2Zvcm1hdChzdHJ1Y3QgZHB1X2h3X3BpcGUgKmN0eCwKIAlEUFVfUkVHX1dS SVRFKGMsIFNTUFBfVUJXQ19FUlJPUl9TVEFUVVMgKyBpZHgsIEJJVCgzMSkpOwogfQogCi1zdGF0 aWMgdm9pZCBkcHVfaHdfc3NwcF9zZXR1cF9zZWN1cmUoc3RydWN0IGRwdV9od19waXBlICpjdHgs Ci0JCWVudW0gZHB1X3NzcHBfbXVsdGlyZWN0X2luZGV4IHJlY3RfbW9kZSwKLQkJYm9vbCBlbmFi bGUpCi17Ci0Jc3RydWN0IGRwdV9od19ibGtfcmVnX21hcCAqYzsKLQl1MzIgc2VjdXJlID0gMCwg c2VjdXJlX2JpdF9tYXNrOwotCXUzMiBpZHg7Ci0KLQlpZiAoX3NzcHBfc3ViYmxrX29mZnNldChj dHgsIERQVV9TU1BQX1NSQywgJmlkeCkpCi0JCXJldHVybjsKLQotCWMgPSAmY3R4LT5odzsKLQot CWlmIChlbmFibGUpIHsKLQkJaWYgKChyZWN0X21vZGUgPT0gRFBVX1NTUFBfUkVDVF9TT0xPKQot CQkJCXx8IChyZWN0X21vZGUgPT0gRFBVX1NTUFBfUkVDVF8wKSkKLQkJCXNlY3VyZV9iaXRfbWFz ayA9Ci0JCQkJKHJlY3RfbW9kZSA9PSBEUFVfU1NQUF9SRUNUX1NPTE8pID8gMHhGIDogMHg1Owot CQllbHNlCi0JCQlzZWN1cmVfYml0X21hc2sgPSAweEE7Ci0KLQkJc2VjdXJlID0gRFBVX1JFR19S RUFEKGMsIFNTUFBfU1JDX0FERFJfU1dfU1RBVFVTICsgaWR4KTsKLQkJc2VjdXJlIHw9IHNlY3Vy ZV9iaXRfbWFzazsKLQl9Ci0KLQlEUFVfUkVHX1dSSVRFKGMsIFNTUFBfU1JDX0FERFJfU1dfU1RB VFVTICsgaWR4LCBzZWN1cmUpOwotfQotCi0KIHN0YXRpYyB2b2lkIGRwdV9od19zc3BwX3NldHVw X3BlX2NvbmZpZyhzdHJ1Y3QgZHB1X2h3X3BpcGUgKmN0eCwKIAkJc3RydWN0IGRwdV9od19waXhl bF9leHQgKnBlX2V4dCkKIHsKQEAgLTkxMCw3ICs4ODEsNiBAQCBzdGF0aWMgdm9pZCBfc2V0dXBf bGF5ZXJfb3BzKHN0cnVjdCBkcHVfaHdfcGlwZSAqYywKIAkJYy0+b3BzLnNldHVwX3NvdXJjZWFk ZHJlc3MgPSBkcHVfaHdfc3NwcF9zZXR1cF9zb3VyY2VhZGRyZXNzOwogCQljLT5vcHMuc2V0dXBf c29saWRmaWxsID0gZHB1X2h3X3NzcHBfc2V0dXBfc29saWRmaWxsOwogCQljLT5vcHMuc2V0dXBf cGUgPSBkcHVfaHdfc3NwcF9zZXR1cF9wZV9jb25maWc7Ci0JCWMtPm9wcy5zZXR1cF9zZWN1cmVf YWRkcmVzcyA9IGRwdV9od19zc3BwX3NldHVwX3NlY3VyZTsKIAl9CiAKIAlpZiAodGVzdF9iaXQo RFBVX1NTUFBfRVhDTF9SRUNULCAmZmVhdHVyZXMpKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X3NzcHAuaCBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlz cC9kcHUxL2RwdV9od19zc3BwLmgKaW5kZXggMjNmMzcwNDBhY2FhLi5kZTk3MWYxN2YxMzAgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9od19zc3BwLmgKKysr IGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X3NzcHAuaApAQCAtMjUsMTIg KzI1LDExIEBAIHN0cnVjdCBkcHVfaHdfcGlwZTsKIC8qKgogICogRmxhZ3MKICAqLwotI2RlZmlu ZSBEUFVfU1NQUF9TRUNVUkVfT1ZFUkxBWV9TRVNTSU9OIDB4MQotI2RlZmluZSBEUFVfU1NQUF9G TElQX0xSCSAweDIKLSNkZWZpbmUgRFBVX1NTUFBfRkxJUF9VRAkgMHg0Ci0jZGVmaW5lIERQVV9T U1BQX1NPVVJDRV9ST1RBVEVEXzkwIDB4OAotI2RlZmluZSBEUFVfU1NQUF9ST1RfOTAgIDB4MTAK LSNkZWZpbmUgRFBVX1NTUFBfU09MSURfRklMTCAweDIwCisjZGVmaW5lIERQVV9TU1BQX0ZMSVBf TFIJCUJJVCgwKQorI2RlZmluZSBEUFVfU1NQUF9GTElQX1VECQlCSVQoMSkKKyNkZWZpbmUgRFBV X1NTUFBfU09VUkNFX1JPVEFURURfOTAJQklUKDIpCisjZGVmaW5lIERQVV9TU1BQX1JPVF85MAkJ CUJJVCgzKQorI2RlZmluZSBEUFVfU1NQUF9TT0xJRF9GSUxMCQlCSVQoNCkKIAogLyoqCiAgKiBE ZWZpbmUgYWxsIHNjYWxlciBmZWF0dXJlIGJpdHMgaW4gY2F0YWxvZwpAQCAtNTA1LDE2ICs1MDQs NiBAQCBzdHJ1Y3QgZHB1X2h3X3NzcHBfb3BzIHsKIAkgKi8KIAl2b2lkICgqc2V0dXBfY2RwKShz dHJ1Y3QgZHB1X2h3X3BpcGUgKmN0eCwKIAkJCXN0cnVjdCBkcHVfaHdfcGlwZV9jZHBfY2ZnICpj ZmcpOwotCi0JLyoqCi0JICogc2V0dXBfc2VjdXJlX2FkZHJlc3MgLSBzZXR1cCBzZWN1cmVpdHkg c3RhdHVzIG9mIHRoZSBzb3VyY2UgYWRkcmVzcwotCSAqIEBjdHg6IFBvaW50ZXIgdG8gcGlwZSBj b250ZXh0Ci0JICogQGluZGV4OiByZWN0YW5nbGUgaW5kZXggaW4gbXVsdGlyZWN0Ci0JICogQGVu YWJsZTogZW5hYmxlIGNvbnRlbnQgcHJvdGVjdGVkIGJ1ZmZlciBzdGF0ZQotCSAqLwotCXZvaWQg KCpzZXR1cF9zZWN1cmVfYWRkcmVzcykoc3RydWN0IGRwdV9od19waXBlICpjdHgsCi0JCQllbnVt IGRwdV9zc3BwX211bHRpcmVjdF9pbmRleCBpbmRleCwKLQkJYm9vbCBlbmFibGUpOwogfTsKIAog LyoqCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfaHdfd2Iu YyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9od193Yi5jCmluZGV4IGEwN2Mz MDUyODA5Ni4uZmIwMmRmNDIwOWM2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rp c3AvZHB1MS9kcHVfaHdfd2IuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9k cHVfaHdfd2IuYwpAQCAtMTUzLDkgKzE1Myw2IEBAIHN0YXRpYyB2b2lkIGRwdV9od193Yl9zZXR1 cF9mb3JtYXQoc3RydWN0IGRwdV9od193YiAqY3R4LAogCQkJCQkoY3R4LT5tZHAtPmhpZ2hlc3Rf YmFua19iaXQgPDwgNCkpOwogCX0KIAotCWlmIChkYXRhLT5pc19zZWN1cmUpCi0JCWRzdF9hZGRy X3N3IHw9IEJJVCgwKTsKLQogCURQVV9SRUdfV1JJVEUoYywgV0JfQUxQSEFfWF9WQUxVRSwgMHhG Rik7CiAJRFBVX1JFR19XUklURShjLCBXQl9EU1RfRk9STUFULCBkc3RfZm9ybWF0KTsKIAlEUFVf UkVHX1dSSVRFKGMsIFdCX0RTVF9PUF9NT0RFLCBvcG1vZGUpOwpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X3diLmggYi9kcml2ZXJzL2dwdS9kcm0vbXNt L2Rpc3AvZHB1MS9kcHVfaHdfd2IuaAppbmRleCA4MjJhNGM1N2IzNjkuLjE0NWViYmM4N2I1OCAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X3diLmgKKysr IGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X3diLmgKQEAgLTI1LDcgKzI1 LDYgQEAgc3RydWN0IGRwdV9od193Yl9jZmcgewogCWVudW0gZHB1X2ludGZfbW9kZSBpbnRmX21v ZGU7CiAJc3RydWN0IHRyYWZmaWNfc2hhcGVyX2NmZyB0c19jZmc7CiAJc3RydWN0IGRwdV9yZWN0 IHJvaTsKLQlib29sIGlzX3NlY3VyZTsKIH07CiAKIC8qKgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2ttcy5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNw L2RwdTEvZHB1X2ttcy5jCmluZGV4IGI5MTljOWE2YTQ2My4uODFmZDNhNDI5ZTlmIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfa21zLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2ttcy5jCkBAIC0xMjM2LDE0ICsxMjM2LDEwIEBA IHN0cnVjdCBkcHVfa21zX2ZibyAqZHB1X2ttc19mYm9fYWxsb2Moc3RydWN0IGRybV9kZXZpY2Ug KmRldiwgdTMyIHdpZHRoLAogCS8qIGFsbG9jYXRlIGJhY2tpbmcgYnVmZmVyIG9iamVjdCAqLwog CWlmIChkcHVfa21zLT5pY2xpZW50KSB7CiAjaWZkZWYgQ09ORklHX0lPTgotCQl1MzIgaGVhcF9p ZCA9IGZiby0+ZmxhZ3MgJiBEUk1fTU9ERV9GQl9TRUNVUkUgPwotCQkJCUlPTl9IRUFQKElPTl9T RUNVUkVfSEVBUF9JRCkgOgotCQkJCUlPTl9IRUFQKElPTl9TWVNURU1fSEVBUF9JRCk7Ci0JCXUz MiBpZmxhZ3MgPSBmYm8tPmZsYWdzICYgRFJNX01PREVfRkJfU0VDVVJFID8KLQkJCQkoSU9OX0ZM QUdfU0VDVVJFIHwgSU9OX0ZMQUdfQ1BfUElYRUwpIDogMDsKKwkJdTMyIGhlYXBfaWQgPSBJT05f SEVBUChJT05fU1lTVEVNX0hFQVBfSUQpOwogCiAJCWZiby0+aWhhbmRsZSA9IGlvbl9hbGxvYyhk cHVfa21zLT5pY2xpZW50LAotCQkJCWZiby0+bGF5b3V0LnRvdGFsX3NpemUsIFNaXzRLLCBoZWFw X2lkLCBpZmxhZ3MpOworCQkJCWZiby0+bGF5b3V0LnRvdGFsX3NpemUsIFNaXzRLLCBoZWFwX2lk LCAwKTsKIAkJaWYgKElTX0VSUl9PUl9OVUxMKGZiby0+aWhhbmRsZSkpIHsKIAkJCURQVV9FUlJP UigiZmFpbGVkIHRvIGFsbG9jIGlvbiBtZW1vcnlcbiIpOwogCQkJcmV0ID0gUFRSX0VSUihmYm8t PmloYW5kbGUpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1 X2ttcy5oIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2ttcy5oCmluZGV4IGRl YTQ5ZjNkNDJiNC4uOGNhZGQyOWE0OGIxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNt L2Rpc3AvZHB1MS9kcHVfa21zLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEv ZHB1X2ttcy5oCkBAIC05MywyMSArOTMsNiBAQAogLyogdGltZW91dCBpbiBmcmFtZXMgd2FpdGlu ZyBmb3IgZnJhbWUgZG9uZSAqLwogI2RlZmluZSBEUFVfRlJBTUVfRE9ORV9USU1FT1VUCTYwCiAK LS8qIG1heCBhY3RpdmUgc2VjdXJlIGNsaWVudCBjb3VudHMgYWxsb3dlZCAqLwotI2RlZmluZSBN QVhfQUxMT1dFRF9TRUNVUkVfQ0xJRU5UX0NOVAkxCi0KLS8qIG1heCBhY3RpdmUgY3J0YyB3aGVu IHNlY3VyZSBjbGllbnQgaXMgYWN0aXZlICovCi0jZGVmaW5lIE1BWF9BTExPV0VEX0NSVENfQ05U X0RVUklOR19TRUNVUkUJMQotCi0vKiBtYXggdmlydHVhbCBlbmNvZGVycyBwZXIgc2VjdXJlIGNy dGMgKi8KLSNkZWZpbmUgTUFYX0FMTE9XRURfRU5DT0RFUl9DTlRfUEVSX1NFQ1VSRV9DUlRDCTEK LQotLyogZGVmaW5lcyB0aGUgb3BlcmF0aW9ucyByZXF1aXJlZCBmb3Igc2VjdXJlIHN0YXRlIHRy YW5zaXRpb24gKi8KLSNkZWZpbmUgRFBVX0tNU19PUFNfQ1JUQ19TRUNVUkVfU1RBVEVfQ0hBTkdF ICAgICAgICAgICAgICAgQklUKDApCi0jZGVmaW5lIERQVV9LTVNfT1BTX1dBSVRfRk9SX1RYX0RP TkUgICAgICAgICAgICAgICAgICAgICAgIEJJVCgxKQotI2RlZmluZSBEUFVfS01TX09QU19DTEVB TlVQX1BMQU5FX0ZCICAgICAgICAgICAgICAgICAgICAgICBCSVQoMikKLSNkZWZpbmUgRFBVX0tN U19PUFNfUFJFUEFSRV9QTEFORV9GQiAgICAgICAgICAgICAgICAgICAgICAgQklUKDMpCi0KIC8q CiAgKiBzdHJ1Y3QgZHB1X2lycV9jYWxsYmFjayAtIElSUSBjYWxsYmFjayBoYW5kbGVycwogICog QGxpc3Q6IGxpc3QgdG8gY2FsbGJhY2sKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20v ZGlzcC9kcHUxL2RwdV9wbGFuZS5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1 X3BsYW5lLmMKaW5kZXggY2JkYTdkYmY4NzI1Li44MzRkY2MwYmZlZmQgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9wbGFuZS5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9tc20vZGlzcC9kcHUxL2RwdV9wbGFuZS5jCkBAIC04MzksOCArODM5LDcgQEAgaW50IGRw dV9wbGFuZV93YWl0X2lucHV0X2ZlbmNlKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLCB1aW50MzJf dCB3YWl0X21zKQogfQogCiAvKioKLSAqIF9kcHVfcGxhbmVfZ2V0X2FzcGFjZTogZ2V0cyB0aGUg YWRkcmVzcyBzcGFjZSBiYXNlZCBvbiB0aGUKLSAqICAgICAgICAgICAgZmJfdHJhbnNsYXRpb24g bW9kZSBwcm9wZXJ0eQorICogX2RwdV9wbGFuZV9nZXRfYXNwYWNlOiBnZXRzIHRoZSBhZGRyZXNz IHNwYWNlCiAgKi8KIHN0YXRpYyBpbnQgX2RwdV9wbGFuZV9nZXRfYXNwYWNlKAogCQlzdHJ1Y3Qg ZHB1X3BsYW5lICpwZHB1LApAQCAtMTgyMywxMyArMTgyMiw2IEBAIHN0YXRpYyBpbnQgZHB1X3Bs YW5lX3JvdF9zdWJtaXRfY29tbWFuZChzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAlyb3RfY21k LT5yb3Q5MCA9IHJzdGF0ZS0+cm90OTA7CiAJcm90X2NtZC0+aGZsaXAgPSByc3RhdGUtPmhmbGlw OwogCXJvdF9jbWQtPnZmbGlwID0gcnN0YXRlLT52ZmxpcDsKLQlmYl9tb2RlID0gZHB1X3BsYW5l X2dldF9wcm9wZXJ0eShwc3RhdGUsCi0JCQlQTEFORV9QUk9QX0ZCX1RSQU5TTEFUSU9OX01PREUp OwotCWlmICgoZmJfbW9kZSA9PSBEUFVfRFJNX0ZCX1NFQykgfHwKLQkJCShmYl9tb2RlID09IERQ VV9EUk1fRkJfU0VDX0RJUl9UUkFOUykpCi0JCXJvdF9jbWQtPnNlY3VyZSA9IHRydWU7Ci0JZWxz ZQotCQlyb3RfY21kLT5zZWN1cmUgPSBmYWxzZTsKIAogCXJvdF9jbWQtPnByZWZpbGxfYncgPSBk cHVfY3J0Y19nZXRfcHJvcGVydHkoZHB1X2NzdGF0ZSwKIAkJCUNSVENfUFJPUF9ST1RfUFJFRklM TF9CVyk7CkBAIC0xOTEwLDcgKzE5MDIsNiBAQCBzdGF0aWMgaW50IGRwdV9wbGFuZV9yb3Rfc3Vi bWl0X2NvbW1hbmQoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCiAJcnN0YXRlLT5vdXRfcm90YXRp b24gPSByc3RhdGUtPmluX3JvdGF0aW9uOwogCXJzdGF0ZS0+b3V0X2ZiX2ZsYWdzID0gcm90X2Nt ZC0+ZHN0X21vZGlmaWVyID8KIAkJCURSTV9NT0RFX0ZCX01PRElGSUVSUyA6IDA7Ci0JcnN0YXRl LT5vdXRfZmJfZmxhZ3MgfD0gcm90X2NtZC0+c2VjdXJlID8gRFJNX01PREVfRkJfU0VDVVJFIDog MDsKIAlyc3RhdGUtPm91dF9mYl9mb3JtYXQgPSByb3RfY21kLT5kc3RfZm9ybWF0OwogCXJzdGF0 ZS0+b3V0X2ZiX3BpeGVsX2Zvcm1hdCA9IHJvdF9jbWQtPmRzdF9waXhlbF9mb3JtYXQ7CiAKQEAg LTMzMzcsOSArMzMyOCw2IEBAIHN0YXRpYyBpbnQgZHB1X3BsYW5lX3NzcHBfYXRvbWljX3VwZGF0 ZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAkJY2FzZSBQTEFORV9QUk9QX0JMRU5EX09QOgog CQkJLyogbm8gc3BlY2lhbCBhY3Rpb24gcmVxdWlyZWQgKi8KIAkJCWJyZWFrOwotCQljYXNlIFBM QU5FX1BST1BfRkJfVFJBTlNMQVRJT05fTU9ERToKLQkJCXBzdGF0ZS0+ZGlydHkgfD0gRFBVX1BM QU5FX0RJUlRZX0ZCX1RSQU5TTEFUSU9OX01PREU7Ci0JCQlicmVhazsKIAkJY2FzZSBQTEFORV9Q Uk9QX1BSRUZJTExfU0laRToKIAkJY2FzZSBQTEFORV9QUk9QX1BSRUZJTExfVElNRToKIAkJCXBz dGF0ZS0+ZGlydHkgfD0gRFBVX1BMQU5FX0RJUlRZX1BFUkY7CkBAIC0zMzg3LDIxICszMzc1LDYg QEAgc3RhdGljIGludCBkcHVfcGxhbmVfc3NwcF9hdG9taWNfdXBkYXRlKHN0cnVjdCBkcm1fcGxh bmUgKnBsYW5lLAogCXBkcHUtPmlzX3J0X3BpcGUgPSAoZHB1X2NydGNfZ2V0X2NsaWVudF90eXBl KGNydGMpICE9IE5SVF9DTElFTlQpOwogCV9kcHVfcGxhbmVfc2V0X3Fvc19jdHJsKHBsYW5lLCBm YWxzZSwgRFBVX1BMQU5FX1FPU19QQU5JQ19DVFJMKTsKIAotCS8qIHVwZGF0ZSBzZWN1cmUgc2Vz c2lvbiBmbGFnICovCi0JaWYgKHBzdGF0ZS0+ZGlydHkgJiBEUFVfUExBTkVfRElSVFlfRkJfVFJB TlNMQVRJT05fTU9ERSkgewotCQlib29sIGVuYWJsZSA9IGZhbHNlOwotCQlpbnQgbW9kZSA9IGRw dV9wbGFuZV9nZXRfcHJvcGVydHkocHN0YXRlLAotCQkJCVBMQU5FX1BST1BfRkJfVFJBTlNMQVRJ T05fTU9ERSk7Ci0KLQkJaWYgKChtb2RlID09IERQVV9EUk1fRkJfU0VDKSB8fAotCQkJCShtb2Rl ID09IERQVV9EUk1fRkJfU0VDX0RJUl9UUkFOUykpCi0JCQllbmFibGUgPSB0cnVlOwotCQkvKiB1 cGRhdGUgc2VjdXJlIHNlc3Npb24gZmxhZyAqLwotCQlwZHB1LT5waXBlX2h3LT5vcHMuc2V0dXBf c2VjdXJlX2FkZHJlc3MocGRwdS0+cGlwZV9odywKLQkJCQlwc3RhdGUtPm11bHRpcmVjdF9pbmRl eCwKLQkJCQllbmFibGUpOwotCX0KLQogCS8qIHVwZGF0ZSByb2kgY29uZmlnICovCiAJaWYgKHBz dGF0ZS0+ZGlydHkgJiBEUFVfUExBTkVfRElSVFlfUkVDVFMpIHsKIAkJUE9QVUxBVEVfUkVDVCgm c3JjLCByc3RhdGUtPm91dF9zcmNfeCwgcnN0YXRlLT5vdXRfc3JjX3ksCkBAIC0zNjgzLDEyICsz NjU2LDYgQEAgc3RhdGljIHZvaWQgX2RwdV9wbGFuZV9pbnN0YWxsX3Byb3BlcnRpZXMoc3RydWN0 IGRybV9wbGFuZSAqcGxhbmUsCiAJc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fcHJvcF9lbnVtX2xp c3QgZV9zcmNfY29uZmlnW10gPSB7CiAJCXtEUFVfRFJNX0RFSU5URVJMQUNFLCAiZGVpbnRlcmxh Y2UifQogCX07Ci0Jc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fcHJvcF9lbnVtX2xpc3QgZV9mYl90 cmFuc2xhdGlvbl9tb2RlW10gPSB7Ci0JCXtEUFVfRFJNX0ZCX05PTl9TRUMsICJub25fc2VjIn0s Ci0JCXtEUFVfRFJNX0ZCX1NFQywgInNlYyJ9LAotCQl7RFBVX0RSTV9GQl9OT05fU0VDX0RJUl9U UkFOUywgIm5vbl9zZWNfZGlyZWN0X3RyYW5zbGF0aW9uIn0sCi0JCXtEUFVfRFJNX0ZCX1NFQ19E SVJfVFJBTlMsICJzZWNfZGlyZWN0X3RyYW5zbGF0aW9uIn0sCi0JfTsKIAljb25zdCBzdHJ1Y3Qg ZHB1X2Zvcm1hdF9leHRlbmRlZCAqZm9ybWF0X2xpc3Q7CiAJc3RydWN0IGRwdV9rbXNfaW5mbyAq aW5mbzsKIAlzdHJ1Y3QgZHB1X3BsYW5lICpwZHB1ID0gdG9fZHB1X3BsYW5lKHBsYW5lKTsKQEAg LTM4OTAsMTIgKzM4NTcsNiBAQCBzdGF0aWMgdm9pZCBfZHB1X3BsYW5lX2luc3RhbGxfcHJvcGVy dGllcyhzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAkJbXNtX3Byb3BlcnR5X2luc3RhbGxfYmxv YigmcGRwdS0+cHJvcGVydHlfaW5mbywgZmVhdHVyZV9uYW1lLCAwLAogCQkJUExBTkVfUFJPUF9G T0xJQUdFX0NPTE9SKTsKIAl9Ci0KLQltc21fcHJvcGVydHlfaW5zdGFsbF9lbnVtKCZwZHB1LT5w cm9wZXJ0eV9pbmZvLCAiZmJfdHJhbnNsYXRpb25fbW9kZSIsCi0JCQkweDAsCi0JCQkwLCBlX2Zi X3RyYW5zbGF0aW9uX21vZGUsCi0JCQlBUlJBWV9TSVpFKGVfZmJfdHJhbnNsYXRpb25fbW9kZSks Ci0JCQlQTEFORV9QUk9QX0ZCX1RSQU5TTEFUSU9OX01PREUpOwogfQogCiBzdGF0aWMgaW5saW5l IHZvaWQgX2RwdV9wbGFuZV9zZXRfY3NjX3YxKHN0cnVjdCBkcHVfcGxhbmUgKnBkcHUsIHZvaWQg KnVzcl9wdHIpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVf cGxhbmUuaCBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9wbGFuZS5oCmluZGV4 IDcxN2RmZTA1YzZlZS4uYWQ5ZDVjZjA0OGIxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v bXNtL2Rpc3AvZHB1MS9kcHVfcGxhbmUuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3Av ZHB1MS9kcHVfcGxhbmUuaApAQCAtOTQsNyArOTQsNiBAQCBzdHJ1Y3QgZHB1X3BsYW5lX3JvdF9z dGF0ZSB7CiAjZGVmaW5lIERQVV9QTEFORV9ESVJUWV9GT1JNQVQJMHgyCiAjZGVmaW5lIERQVV9Q TEFORV9ESVJUWV9TSEFSUEVOCTB4NAogI2RlZmluZSBEUFVfUExBTkVfRElSVFlfUEVSRgkweDgK LSNkZWZpbmUgRFBVX1BMQU5FX0RJUlRZX0ZCX1RSQU5TTEFUSU9OX01PREUJMHgxMAogI2RlZmlu ZSBEUFVfUExBTkVfRElSVFlfQUxMCTB4RkZGRkZGRkYKIAogLyoqCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfd2IuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20v ZGlzcC9kcHUxL2RwdV93Yi5jCmluZGV4IGQ0Yjg0NDk3OWM0Yy4uMGJiMDdlZTBiY2YyIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfd2IuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfd2IuYwpAQCAtMzE5LDEwICszMTksNiBAQCBp bnQgZHB1X3diX2Nvbm5lY3Rvcl9wb3N0X2luaXQoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5l Y3RvciwKIAlzdHJ1Y3QgZHB1X2Nvbm5lY3RvciAqY19jb25uOwogCXN0cnVjdCBkcHVfd2JfZGV2 aWNlICp3Yl9kZXYgPSBkaXNwbGF5OwogCWNvbnN0IHN0cnVjdCBkcHVfZm9ybWF0X2V4dGVuZGVk ICpmb3JtYXRfbGlzdDsKLQlzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9wcm9wX2VudW1fbGlzdCBl X2ZiX3RyYW5zbGF0aW9uX21vZGVbXSA9IHsKLQkJe0RQVV9EUk1fRkJfTk9OX1NFQywgIm5vbl9z ZWMifSwKLQkJe0RQVV9EUk1fRkJfU0VDLCAic2VjIn0sCi0JfTsKIAogCWlmICghY29ubmVjdG9y IHx8ICFpbmZvIHx8ICFkaXNwbGF5IHx8ICF3Yl9kZXYtPndiX2NmZykgewogCQlEUFVfRVJST1Io ImludmFsaWQgcGFyYW1zXG4iKTsKQEAgLTM0NywxMiArMzQzLDYgQEAgaW50IGRwdV93Yl9jb25u ZWN0b3JfcG9zdF9pbml0KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCiAJCQkweDAs IDAsIFVJTlRfTUFYLCAwLCBDT05ORUNUT1JfUFJPUF9EU1RfVyk7CiAJbXNtX3Byb3BlcnR5X2lu c3RhbGxfcmFuZ2UoJmNfY29ubi0+cHJvcGVydHlfaW5mbywgIkRTVF9IIiwKIAkJCTB4MCwgMCwg VUlOVF9NQVgsIDAsIENPTk5FQ1RPUl9QUk9QX0RTVF9IKTsKLQltc21fcHJvcGVydHlfaW5zdGFs bF9lbnVtKCZjX2Nvbm4tPnByb3BlcnR5X2luZm8sCi0JCQkiZmJfdHJhbnNsYXRpb25fbW9kZSIs Ci0JCQkweDAsCi0JCQkwLCBlX2ZiX3RyYW5zbGF0aW9uX21vZGUsCi0JCQlBUlJBWV9TSVpFKGVf ZmJfdHJhbnNsYXRpb25fbW9kZSksCi0JCQlDT05ORUNUT1JfUFJPUF9GQl9UUkFOU0xBVElPTl9N T0RFKTsKIAogCS8qCiAJICogUG9wdWxhdGUgaW5mbyBidWZmZXIKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9tc20vbXNtX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZHJ2LmgK aW5kZXggMmM5M2Q3NGNhOTczLi5jZjk2YTg1ZjRiNTUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9tc20vbXNtX2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2Rydi5oCkBA IC0xMTYsNyArMTE2LDYgQEAgZW51bSBtc21fbWRwX3BsYW5lX3Byb3BlcnR5IHsKIAlQTEFORV9Q Uk9QX1JPVEFUSU9OLAogCVBMQU5FX1BST1BfQkxFTkRfT1AsCiAJUExBTkVfUFJPUF9TUkNfQ09O RklHLAotCVBMQU5FX1BST1BfRkJfVFJBTlNMQVRJT05fTU9ERSwKIAogCS8qIHRvdGFsICMgb2Yg cHJvcGVydGllcyAqLwogCVBMQU5FX1BST1BfQ09VTlQKQEAgLTE0Niw3ICsxNDUsNiBAQCBlbnVt IG1zbV9tZHBfY3J0Y19wcm9wZXJ0eSB7CiAJQ1JUQ19QUk9QX1JPVF9QUkVGSUxMX0JXLAogCUNS VENfUFJPUF9ST1RfQ0xLLAogCUNSVENfUFJPUF9ST0lfVjEsCi0JQ1JUQ19QUk9QX1NFQ1VSSVRZ X0xFVkVMLAogCUNSVENfUFJPUF9JRExFX1RJTUVPVVQsCiAJQ1JUQ19QUk9QX0RFU1RfU0NBTEVS LAogCkBAIC0xNzksNyArMTc3LDYgQEAgZW51bSBtc21fbWRwX2Nvbm5fcHJvcGVydHkgewogCUNP Tk5FQ1RPUl9QUk9QX1RPUE9MT0dZX0NPTlRST0wsCiAJQ09OTkVDVE9SX1BST1BfQVVUT1JFRlJF U0gsCiAJQ09OTkVDVE9SX1BST1BfTFAsCi0JQ09OTkVDVE9SX1BST1BfRkJfVFJBTlNMQVRJT05f TU9ERSwKIAogCS8qIHRvdGFsICMgb2YgcHJvcGVydGllcyAqLwogCUNPTk5FQ1RPUl9QUk9QX0NP VU5UCmRpZmYgLS1naXQgYS9pbmNsdWRlL3VhcGkvZHJtL2RwdV9kcm0uaCBiL2luY2x1ZGUvdWFw aS9kcm0vZHB1X2RybS5oCmluZGV4IDgyNmJmN2I1NDg5Ni4uZGE3MzI3OWE1MDg2IDEwMDY0NAot LS0gYS9pbmNsdWRlL3VhcGkvZHJtL2RwdV9kcm0uaAorKysgYi9pbmNsdWRlL3VhcGkvZHJtL2Rw dV9kcm0uaApAQCAtNjYsNDggKzY2LDYgQEAKIC8qIERSTSBiaXRtYXNrcyBhcmUgcmVzdHJpY3Rl ZCB0byAwLi42MyAqLwogI2RlZmluZSBEUFVfRFJNX0JJVE1BU0tfQ09VTlQgICAgICAgNjQKIAot LyoqCi0gKiBGcmFtZWJ1ZmZlciBtb2RlcyBmb3IgImZiX3RyYW5zbGF0aW9uX21vZGUiIFBMQU5F IGFuZCBDT05ORUNUT1IgcHJvcGVydHkKLSAqCi0gKiBARFBVX0RSTV9GQl9OT05fU0VDOiAgICAg ICAgICBJT01NVSBjb25maWd1cmF0aW9uIGZvciB0aGlzIGZyYW1lYnVmZmVyIG1vZGUKLSAqICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzIG5vbi1zZWN1cmUgZG9tYWluIGFuZCByZXF1 aXJlcwotICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm90aCBzdGFnZSBJIGFuZCBz dGFnZSBJSSB0cmFuc2xhdGlvbnMgd2hlbgotICogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgdGhpcyBidWZmZXIgaXMgYWNjZXNzZWQgYnkgdGhlIGRpc3BsYXkgSFcuCi0gKiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBUaGlzIGlzIHRoZSBkZWZhdWx0IG1vZGUgb2YgYWxsIGZy YW1idWZmZXJzLgotICogQERQVV9EUk1fRkJfU0VDOiAgICAgICAgICAgICAgSU9NTVUgY29uZmln dXJhdGlvbiBmb3IgdGhpcyBmcmFtZWJ1ZmZlciBtb2RlCi0gKiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBpcyBzZWN1cmUgZG9tYWluIGFuZCByZXF1aXJlcwotICogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgYm90aCBzdGFnZSBJIGFuZCBzdGFnZSBJSSB0cmFuc2xhdGlvbnMg d2hlbgotICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcyBidWZmZXIgaXMgYWNj ZXNzZWQgYnkgdGhlIGRpc3BsYXkgSFcuCi0gKiBARFBVX0RSTV9GQl9OT05fU0VDX0RJUl9UUkFO UzogSU9NTVUgY29uZmlndXJhdGlvbiBmb3IgdGhpcyBmcmFtZWJ1ZmZlciBtb2RlCi0gKiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBpcyBub24tc2VjdXJlIGRvbWFpbiBhbmQgcmVxdWly ZXMKLSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9ubHkgc3RhZ2UgSUkgdHJhbnNs YXRpb24gd2hlbgotICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcyBidWZmZXIg aXMgYWNjZXNzZWQgYnkgdGhlIGRpc3BsYXkgSFcuCi0gKiBARFBVX0RSTV9GQl9TRUNfRElSX1RS QU5TOiAgICBJT01NVSBjb25maWd1cmF0aW9uIGZvciB0aGlzIGZyYW1lYnVmZmVyIG1vZGUKLSAq ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzIHNlY3VyZSBkb21haW4gYW5kIHJlcXVp cmVzCi0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbmx5IHN0YWdlIElJIHRyYW5z bGF0aW9uIHdoZW4KLSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMgYnVmZmVy IGlzIGFjY2Vzc2VkIGJ5IHRoZSBkaXNwbGF5IEhXLgotICovCi0KLSNkZWZpbmUgRFBVX0RSTV9G Ql9OT05fU0VDICAgICAgICAgICAgICAwCi0jZGVmaW5lIERQVV9EUk1fRkJfU0VDICAgICAgICAg ICAgICAgICAgMQotI2RlZmluZSBEUFVfRFJNX0ZCX05PTl9TRUNfRElSX1RSQU5TICAgIDIKLSNk ZWZpbmUgRFBVX0RSTV9GQl9TRUNfRElSX1RSQU5TICAgICAgICAzCi0KLS8qKgotICogU2VjdXJl IGxldmVscyBmb3IgInNlY3VyaXR5X2xldmVsIiBDUlRDIHByb3BlcnR5LgotICogICAgICAgICAg ICAgICAgICAgICAgICBDUlRDIHByb3BlcnR5IHdoaWNoIHNwZWNpZmllcyB3aGF0IHBsYW5lIHR5 cGVzCi0gKiAgICAgICAgICAgICAgICAgICAgICAgIGNhbiBiZSBhdHRhY2hlZCB0byB0aGlzIENS VEMuIFBsYW5lIGNvbXBvbmVudAotICogICAgICAgICAgICAgICAgICAgICAgICBkZXJpdmVzIHRo ZSBwbGFuZSB0eXBlIGJhc2VkIG9uIHRoZSBGQl9NT0RFLgotICogQCBEUFVfRFJNX1NFQ19OT05f U0VDOiBCb3RoIFNlY3VyZSBhbmQgbm9uLXNlY3VyZSBwbGFuZSB0eXBlcyBjYW4gYmUKLSAqICAg ICAgICAgICAgICAgICAgICAgICAgYXR0YWNoZWQgdG8gdGhpcyBDUlRDLiBUaGlzIGlzIHRoZSBk ZWZhdWx0IHN0YXRlIG9mCi0gKiAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBDUlRDLgotICog QCBEUFVfRFJNX1NFQ19PTkxZOiAgICBPbmx5IHNlY3VyZSBwbGFuZXMgY2FuIGJlIGFkZGVkIHRv IHRoaXMgQ1JUQy4gSWYgYQotICogICAgICAgICAgICAgICAgICAgICAgICBDUlRDIGlzIGluc3Ry dWN0ZWQgdG8gYmUgaW4gdGhpcyBtb2RlIGl0IGZvbGxvd3MgdGhlCi0gKiAgICAgICAgICAgICAg ICAgICAgICAgIHBsYXRmb3JtIGRlcGVuZGVudCByZXN0cmljdGlvbnMuCi0gKi8KLSNkZWZpbmUg RFBVX0RSTV9TRUNfTk9OX1NFQyAgICAgICAgICAgIDAKLSNkZWZpbmUgRFBVX0RSTV9TRUNfT05M WSAgICAgICAgICAgICAgIDEKLQogLyoqCiAgKiBzdHJ1Y3QgZHB1X2RybV9waXhfZXh0X3YxIC0g dmVyc2lvbiAxIG9mIHBpeGVsIGV4dCBzdHJ1Y3R1cmUKICAqIEBudW1fZXh0X3B4bHNfbHI6IE51 bWJlciBvZiB0b3RhbCBob3Jpem9udGFsIHBpeGVscwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS91YXBp L2RybS9kcm1fbW9kZS5oIGIvaW5jbHVkZS91YXBpL2RybS9kcm1fbW9kZS5oCmluZGV4IDg2Njg5 MjViNWMyNS4uZWI3NTg3YTQ3Y2I2IDEwMDY0NAotLS0gYS9pbmNsdWRlL3VhcGkvZHJtL2RybV9t b2RlLmgKKysrIGIvaW5jbHVkZS91YXBpL2RybS9kcm1fbW9kZS5oCkBAIC00NDMsNyArNDQzLDYg QEAgc3RydWN0IGRybV9tb2RlX2ZiX2NtZCB7CiAKICNkZWZpbmUgRFJNX01PREVfRkJfSU5URVJM QUNFRAkoMTw8MCkgLyogZm9yIGludGVybGFjZWQgZnJhbWVidWZmZXJzICovCiAjZGVmaW5lIERS TV9NT0RFX0ZCX01PRElGSUVSUwkoMTw8MSkgLyogZW5hYmxlcyAtPm1vZGlmZXJbXSAqLwotI2Rl ZmluZSBEUk1fTU9ERV9GQl9TRUNVUkUJKDE8PDIpIC8qIGZvciBzZWN1cmUgZnJhbWVidWZmZXJz ICovCiAKIHN0cnVjdCBkcm1fbW9kZV9mYl9jbWQyIHsKIAlfX3UzMiBmYl9pZDsKLS0gCjIuMTYu MS4yOTEuZzQ0MzdmM2YxMzItZ29vZwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KRnJlZWRyZW5vIG1haWxpbmcgbGlzdApGcmVlZHJlbm9AbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vZnJlZWRyZW5vCg==