From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0C6A1C433E6 for ; Tue, 5 Jan 2021 15:46:12 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id D14BA22BF3 for ; Tue, 5 Jan 2021 15:46:11 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D14BA22BF3 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 2AC8C6E152; Tue, 5 Jan 2021 15:45:47 +0000 (UTC) Received: from mblankhorst.nl (mblankhorst.nl [IPv6:2a02:2308::216:3eff:fe92:dfa3]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1C5FF6E152 for ; Tue, 5 Jan 2021 15:45:42 +0000 (UTC) From: Maarten Lankhorst To: intel-gfx@lists.freedesktop.org Date: Tue, 5 Jan 2021 16:35:01 +0100 Message-Id: <20210105153558.134272-8-maarten.lankhorst@linux.intel.com> X-Mailer: git-send-email 2.30.0.rc1 In-Reply-To: <20210105153558.134272-1-maarten.lankhorst@linux.intel.com> References: <20210105153558.134272-1-maarten.lankhorst@linux.intel.com> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH v6 07/64] drm/i915: Move HAS_STRUCT_PAGE to obj->flags X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?UTF-8?q?Thomas=20Hellstr=C3=B6m?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" V2Ugd2FudCB0byByZW1vdmUgdGhlIGNoYW5naW5nIG9mIG9wcyBzdHJ1Y3R1cmUgZm9yIGF0dGFj aGluZwpwaHlzIHBhZ2VzLCBzbyB3ZSBuZWVkIHRvIGtpbGwgb2ZmIEhBU19TVFJVQ1RfUEFHRSBm cm9tIG9wcy0+ZmxhZ3MsCmFuZCBwdXQgaXQgaW4gdGhlIGJvLgoKVGhpcyB3aWxsIHJlbW92ZSBh IHBvdGVudGlhbCByYWNlIG9mIGRlcmVmZXJlbmNpbmcgdGhlIHdyb25nIG9iai0+b3BzCndpdGhv dXQgd3cgbXV0ZXggaGVsZC4KClNpZ25lZC1vZmYtYnk6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFy dGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+ClJldmlld2VkLWJ5OiBUaG9tYXMgSGVsbHN0 csO2bSA8dGhvbWFzLmhlbGxzdHJvbUBsaW51eC5pbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUv ZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX2RtYWJ1Zi5jICAgICAgICAgICB8ICAyICstCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1faW50ZXJuYWwuYyAgICAgICAgIHwgIDYgKysrLS0t CiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fbG1lbS5jICAgICAgICAgICAgIHwg IDQgKystLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX21tYW4uYyAgICAgICAg ICAgICB8ICA3ICsrKy0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9vYmpl Y3QuYyAgICAgICAgICAgfCAgNCArKystCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9n ZW1fb2JqZWN0LmggICAgICAgICAgIHwgIDUgKysrLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2dl bS9pOTE1X2dlbV9vYmplY3RfdHlwZXMuaCAgICAgfCAgOCArKysrKy0tLQogZHJpdmVycy9ncHUv ZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3BhZ2VzLmMgICAgICAgICAgICB8ICA1ICsrLS0tCiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fcGh5cy5jICAgICAgICAgICAgIHwgIDIgKysK IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9yZWdpb24uYyAgICAgICAgICAgfCAg NCArLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fcmVnaW9uLmggICAgICAg ICAgIHwgIDMgKy0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fc2htZW0uYyAg ICAgICAgICAgIHwgIDggKysrKy0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dl bV9zdG9sZW4uYyAgICAgICAgICAgfCAgNCArKy0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0v aTkxNV9nZW1fdXNlcnB0ci5jICAgICAgICAgIHwgIDYgKysrLS0tCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9nZW0vc2VsZnRlc3RzL2h1Z2VfZ2VtX29iamVjdC5jIHwgIDQgKystLQogZHJpdmVycy9n cHUvZHJtL2k5MTUvZ2VtL3NlbGZ0ZXN0cy9odWdlX3BhZ2VzLmMgICAgICB8IDEwICsrKysrLS0t LS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9zZWxmdGVzdHMvaTkxNV9nZW1fbW1hbi5jICAg fCAxMSArKysrLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL3NlbGZ0ZXN0cy9pOTE1 X2dlbV9waHlzLmMgICB8IDEyICsrKysrKysrKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0 L2RtYWJ1Zi5jICAgICAgICAgICAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkx NS9zZWxmdGVzdHMvaTkxNV9nZW1fZ3R0LmMgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L3NlbGZ0ZXN0cy9tb2NrX3JlZ2lvbi5jICAgICAgICAgfCAgNCArKy0tCiAyMSBmaWxl cyBjaGFuZ2VkLCA2MiBpbnNlcnRpb25zKCspLCA1MSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fZG1hYnVmLmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fZG1hYnVmLmMKaW5kZXggMDRlOWMwNDU0NWFkLi4zNmUz YzI3NjVmNGMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9k bWFidWYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fZG1hYnVmLmMK QEAgLTI1OCw3ICsyNTgsNyBAQCBzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKmk5MTVfZ2VtX3ByaW1l X2ltcG9ydChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCX0KIAogCWRybV9nZW1fcHJpdmF0ZV9v YmplY3RfaW5pdChkZXYsICZvYmotPmJhc2UsIGRtYV9idWYtPnNpemUpOwotCWk5MTVfZ2VtX29i amVjdF9pbml0KG9iaiwgJmk5MTVfZ2VtX29iamVjdF9kbWFidWZfb3BzLCAmbG9ja19jbGFzcyk7 CisJaTkxNV9nZW1fb2JqZWN0X2luaXQob2JqLCAmaTkxNV9nZW1fb2JqZWN0X2RtYWJ1Zl9vcHMs ICZsb2NrX2NsYXNzLCAwKTsKIAlvYmotPmJhc2UuaW1wb3J0X2F0dGFjaCA9IGF0dGFjaDsKIAlv YmotPmJhc2UucmVzdiA9IGRtYV9idWYtPnJlc3Y7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9pbnRlcm5hbC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv Z2VtL2k5MTVfZ2VtX2ludGVybmFsLmMKaW5kZXggYWQyMmY0MjU0MWJkLi4yMWNjNDA4OTdjYTgg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9pbnRlcm5hbC5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9pbnRlcm5hbC5jCkBAIC0x MzgsOCArMTM4LDcgQEAgc3RhdGljIHZvaWQgaTkxNV9nZW1fb2JqZWN0X3B1dF9wYWdlc19pbnRl cm5hbChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAogCiBzdGF0aWMgY29uc3Qgc3Ry dWN0IGRybV9pOTE1X2dlbV9vYmplY3Rfb3BzIGk5MTVfZ2VtX29iamVjdF9pbnRlcm5hbF9vcHMg PSB7CiAJLm5hbWUgPSAiaTkxNV9nZW1fb2JqZWN0X2ludGVybmFsIiwKLQkuZmxhZ3MgPSBJOTE1 X0dFTV9PQkpFQ1RfSEFTX1NUUlVDVF9QQUdFIHwKLQkJIEk5MTVfR0VNX09CSkVDVF9JU19TSFJJ TktBQkxFLAorCS5mbGFncyA9IEk5MTVfR0VNX09CSkVDVF9JU19TSFJJTktBQkxFLAogCS5nZXRf cGFnZXMgPSBpOTE1X2dlbV9vYmplY3RfZ2V0X3BhZ2VzX2ludGVybmFsLAogCS5wdXRfcGFnZXMg PSBpOTE1X2dlbV9vYmplY3RfcHV0X3BhZ2VzX2ludGVybmFsLAogfTsKQEAgLTE3OCw3ICsxNzcs OCBAQCBpOTE1X2dlbV9vYmplY3RfY3JlYXRlX2ludGVybmFsKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICppOTE1LAogCQlyZXR1cm4gRVJSX1BUUigtRU5PTUVNKTsKIAogCWRybV9nZW1fcHJpdmF0 ZV9vYmplY3RfaW5pdCgmaTkxNS0+ZHJtLCAmb2JqLT5iYXNlLCBzaXplKTsKLQlpOTE1X2dlbV9v YmplY3RfaW5pdChvYmosICZpOTE1X2dlbV9vYmplY3RfaW50ZXJuYWxfb3BzLCAmbG9ja19jbGFz cyk7CisJaTkxNV9nZW1fb2JqZWN0X2luaXQob2JqLCAmaTkxNV9nZW1fb2JqZWN0X2ludGVybmFs X29wcywgJmxvY2tfY2xhc3MsCisJCQkgICAgIEk5MTVfQk9fQUxMT0NfU1RSVUNUX1BBR0UpOwog CiAJLyoKIAkgKiBNYXJrIHRoZSBvYmplY3QgYXMgdm9sYXRpbGUsIHN1Y2ggdGhhdCB0aGUgcGFn ZXMgYXJlIG1hcmtlZCBhcwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5 MTVfZ2VtX2xtZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9sbWVtLmMK aW5kZXggOTMyZWUyMWU2NjA5Li5lOTUzOTY1ZjgyNjMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9sbWVtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv Z2VtL2k5MTVfZ2VtX2xtZW0uYwpAQCAtNDUsMTMgKzQ1LDEzIEBAIF9faTkxNV9nZW1fbG1lbV9v YmplY3RfY3JlYXRlKHN0cnVjdCBpbnRlbF9tZW1vcnlfcmVnaW9uICptZW0sCiAJCXJldHVybiBF UlJfUFRSKC1FTk9NRU0pOwogCiAJZHJtX2dlbV9wcml2YXRlX29iamVjdF9pbml0KCZpOTE1LT5k cm0sICZvYmotPmJhc2UsIHNpemUpOwotCWk5MTVfZ2VtX29iamVjdF9pbml0KG9iaiwgJmk5MTVf Z2VtX2xtZW1fb2JqX29wcywgJmxvY2tfY2xhc3MpOworCWk5MTVfZ2VtX29iamVjdF9pbml0KG9i aiwgJmk5MTVfZ2VtX2xtZW1fb2JqX29wcywgJmxvY2tfY2xhc3MsIGZsYWdzKTsKIAogCW9iai0+ cmVhZF9kb21haW5zID0gSTkxNV9HRU1fRE9NQUlOX1dDIHwgSTkxNV9HRU1fRE9NQUlOX0dUVDsK IAogCWk5MTVfZ2VtX29iamVjdF9zZXRfY2FjaGVfY29oZXJlbmN5KG9iaiwgSTkxNV9DQUNIRV9O T05FKTsKIAotCWk5MTVfZ2VtX29iamVjdF9pbml0X21lbW9yeV9yZWdpb24ob2JqLCBtZW0sIGZs YWdzKTsKKwlpOTE1X2dlbV9vYmplY3RfaW5pdF9tZW1vcnlfcmVnaW9uKG9iaiwgbWVtKTsKIAog CXJldHVybiBvYmo7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkx NV9nZW1fbW1hbi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX21tYW4uYwpp bmRleCBlYzI4YTZjZGU0OWIuLmMwMDM0ZDgxMWU1MCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX21tYW4uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9n ZW0vaTkxNV9nZW1fbW1hbi5jCkBAIC0yNTEsNyArMjUxLDcgQEAgc3RhdGljIHZtX2ZhdWx0X3Qg dm1fZmF1bHRfY3B1KHN0cnVjdCB2bV9mYXVsdCAqdm1mKQogCQlnb3RvIG91dDsKIAogCWlvbWFw ID0gLTE7Ci0JaWYgKCFpOTE1X2dlbV9vYmplY3RfdHlwZV9oYXMob2JqLCBJOTE1X0dFTV9PQkpF Q1RfSEFTX1NUUlVDVF9QQUdFKSkgeworCWlmICghaTkxNV9nZW1fb2JqZWN0X2hhc19zdHJ1Y3Rf cGFnZShvYmopKSB7CiAJCWlvbWFwID0gb2JqLT5tbS5yZWdpb24tPmlvbWFwLmJhc2U7CiAJCWlv bWFwIC09IG9iai0+bW0ucmVnaW9uLT5yZWdpb24uc3RhcnQ7CiAJfQpAQCAtNjUzLDkgKzY1Myw4 IEBAIF9fYXNzaWduX21tYXBfb2Zmc2V0KHN0cnVjdCBkcm1fZmlsZSAqZmlsZSwKIAl9CiAKIAlp ZiAobW1hcF90eXBlICE9IEk5MTVfTU1BUF9UWVBFX0dUVCAmJgotCSAgICAhaTkxNV9nZW1fb2Jq ZWN0X3R5cGVfaGFzKG9iaiwKLQkJCQkgICAgICBJOTE1X0dFTV9PQkpFQ1RfSEFTX1NUUlVDVF9Q QUdFIHwKLQkJCQkgICAgICBJOTE1X0dFTV9PQkpFQ1RfSEFTX0lPTUVNKSkgeworCSAgICAhaTkx NV9nZW1fb2JqZWN0X2hhc19zdHJ1Y3RfcGFnZShvYmopICYmCisJICAgICFpOTE1X2dlbV9vYmpl Y3RfdHlwZV9oYXMob2JqLCBJOTE1X0dFTV9PQkpFQ1RfSEFTX0lPTUVNKSkgewogCQllcnIgPSAt RU5PREVWOwogCQlnb3RvIG91dDsKIAl9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9nZW0vaTkxNV9nZW1fb2JqZWN0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9n ZW1fb2JqZWN0LmMKaW5kZXggMDBkMjQwMDBiNWU4Li4xMzkzOTg4YmQ1YWYgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9vYmplY3QuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fb2JqZWN0LmMKQEAgLTYwLDcgKzYwLDcgQEAgdm9p ZCBpOTE1X2dlbV9vYmplY3RfZnJlZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQog CiB2b2lkIGk5MTVfZ2VtX29iamVjdF9pbml0KHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpv YmosCiAJCQkgIGNvbnN0IHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0X29wcyAqb3BzLAotCQkJ ICBzdHJ1Y3QgbG9ja19jbGFzc19rZXkgKmtleSkKKwkJCSAgc3RydWN0IGxvY2tfY2xhc3Nfa2V5 ICprZXksIHVuc2lnbmVkIGZsYWdzKQogewogCV9fbXV0ZXhfaW5pdCgmb2JqLT5tbS5sb2NrLCBv cHMtPm5hbWUgPzogIm9iai0+bW0ubG9jayIsIGtleSk7CiAKQEAgLTc4LDYgKzc4LDggQEAgdm9p ZCBpOTE1X2dlbV9vYmplY3RfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAog CWluaXRfcmN1X2hlYWQoJm9iai0+cmN1KTsKIAogCW9iai0+b3BzID0gb3BzOworCUdFTV9CVUdf T04oZmxhZ3MgJiB+STkxNV9CT19BTExPQ19GTEFHUyk7CisJb2JqLT5mbGFncyA9IGZsYWdzOwog CiAJb2JqLT5tbS5tYWR2ID0gSTkxNV9NQURWX1dJTExORUVEOwogCUlOSVRfUkFESVhfVFJFRSgm b2JqLT5tbS5nZXRfcGFnZS5yYWRpeCwgR0ZQX0tFUk5FTCB8IF9fR0ZQX05PV0FSTik7CmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fb2JqZWN0LmggYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fb2JqZWN0LmgKaW5kZXggOTliMThiYTBjNDhk Li4wNGMyOWVkOTM2MzIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1 X2dlbV9vYmplY3QuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fb2Jq ZWN0LmgKQEAgLTIzLDcgKzIzLDggQEAgdm9pZCBpOTE1X2dlbV9vYmplY3RfZnJlZShzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKTsKIAogdm9pZCBpOTE1X2dlbV9vYmplY3RfaW5pdChz dHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAogCQkJICBjb25zdCBzdHJ1Y3QgZHJtX2k5 MTVfZ2VtX29iamVjdF9vcHMgKm9wcywKLQkJCSAgc3RydWN0IGxvY2tfY2xhc3Nfa2V5ICprZXkp OworCQkJICBzdHJ1Y3QgbG9ja19jbGFzc19rZXkgKmtleSwKKwkJCSAgdW5zaWduZWQgYWxsb2Nf ZmxhZ3MpOwogc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKgogaTkxNV9nZW1fb2JqZWN0X2Ny ZWF0ZV9zaG1lbShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKIAkJCSAgICAgcmVzb3Vy Y2Vfc2l6ZV90IHNpemUpOwpAQCAtMTk3LDcgKzE5OCw3IEBAIGk5MTVfZ2VtX29iamVjdF90eXBl X2hhcyhjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAogc3RhdGljIGlubGlu ZSBib29sCiBpOTE1X2dlbV9vYmplY3RfaGFzX3N0cnVjdF9wYWdlKGNvbnN0IHN0cnVjdCBkcm1f aTkxNV9nZW1fb2JqZWN0ICpvYmopCiB7Ci0JcmV0dXJuIGk5MTVfZ2VtX29iamVjdF90eXBlX2hh cyhvYmosIEk5MTVfR0VNX09CSkVDVF9IQVNfU1RSVUNUX1BBR0UpOworCXJldHVybiBvYmotPmZs YWdzICYgSTkxNV9CT19BTExPQ19TVFJVQ1RfUEFHRTsKIH0KIAogc3RhdGljIGlubGluZSBib29s CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fb2JqZWN0X3R5 cGVzLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fb2JqZWN0X3R5cGVzLmgK aW5kZXggZTJkOWI3ZTFlMTUyLi5iNTNlNDRiMDZiMDkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9vYmplY3RfdHlwZXMuaAorKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9nZW0vaTkxNV9nZW1fb2JqZWN0X3R5cGVzLmgKQEAgLTMwLDcgKzMwLDYgQEAgc3Ry dWN0IGk5MTVfbHV0X2hhbmRsZSB7CiAKIHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0X29wcyB7 CiAJdW5zaWduZWQgaW50IGZsYWdzOwotI2RlZmluZSBJOTE1X0dFTV9PQkpFQ1RfSEFTX1NUUlVD VF9QQUdFCUJJVCgwKQogI2RlZmluZSBJOTE1X0dFTV9PQkpFQ1RfSEFTX0lPTUVNCUJJVCgxKQog I2RlZmluZSBJOTE1X0dFTV9PQkpFQ1RfSVNfU0hSSU5LQUJMRQlCSVQoMikKICNkZWZpbmUgSTkx NV9HRU1fT0JKRUNUX0lTX1BST1hZCUJJVCgzKQpAQCAtMTY1LDggKzE2NCwxMSBAQCBzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX29iamVjdCB7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKICNkZWZpbmUgSTkx NV9CT19BTExPQ19DT05USUdVT1VTIEJJVCgwKQogI2RlZmluZSBJOTE1X0JPX0FMTE9DX1ZPTEFU SUxFICAgQklUKDEpCi0jZGVmaW5lIEk5MTVfQk9fQUxMT0NfRkxBR1MgKEk5MTVfQk9fQUxMT0Nf Q09OVElHVU9VUyB8IEk5MTVfQk9fQUxMT0NfVk9MQVRJTEUpCi0jZGVmaW5lIEk5MTVfQk9fUkVB RE9OTFkgICAgICAgICBCSVQoMikKKyNkZWZpbmUgSTkxNV9CT19BTExPQ19TVFJVQ1RfUEFHRSBC SVQoMikKKyNkZWZpbmUgSTkxNV9CT19BTExPQ19GTEFHUyAoSTkxNV9CT19BTExPQ19DT05USUdV T1VTIHwgXAorCQkJICAgICBJOTE1X0JPX0FMTE9DX1ZPTEFUSUxFIHwgXAorCQkJICAgICBJOTE1 X0JPX0FMTE9DX1NUUlVDVF9QQUdFKQorI2RlZmluZSBJOTE1X0JPX1JFQURPTkxZICAgICAgICAg QklUKDMpCiAKIAkvKgogCSAqIElzIHRoZSBvYmplY3QgdG8gYmUgbWFwcGVkIGFzIHJlYWQtb25s eSB0byB0aGUgR1BVCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9n ZW1fcGFnZXMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9wYWdlcy5jCmlu ZGV4IDQwZjRlMjg1NTk0ZC4uNjNiNTBjMzU1OWY3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9nZW0vaTkxNV9nZW1fcGFnZXMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9n ZW0vaTkxNV9nZW1fcGFnZXMuYwpAQCAtMzMwLDEzICszMzAsMTIgQEAgdm9pZCAqaTkxNV9nZW1f b2JqZWN0X3Bpbl9tYXAoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKIAkJCSAgICAg IGVudW0gaTkxNV9tYXBfdHlwZSB0eXBlKQogewogCWVudW0gaTkxNV9tYXBfdHlwZSBoYXNfdHlw ZTsKLQl1bnNpZ25lZCBpbnQgZmxhZ3M7CiAJYm9vbCBwaW5uZWQ7CiAJdm9pZCAqcHRyOwogCWlu dCBlcnI7CiAKLQlmbGFncyA9IEk5MTVfR0VNX09CSkVDVF9IQVNfU1RSVUNUX1BBR0UgfCBJOTE1 X0dFTV9PQkpFQ1RfSEFTX0lPTUVNOwotCWlmICghaTkxNV9nZW1fb2JqZWN0X3R5cGVfaGFzKG9i aiwgZmxhZ3MpKQorCWlmICghaTkxNV9nZW1fb2JqZWN0X2hhc19zdHJ1Y3RfcGFnZShvYmopICYm CisJICAgICFpOTE1X2dlbV9vYmplY3RfdHlwZV9oYXMob2JqLCBJOTE1X0dFTV9PQkpFQ1RfSEFT X0lPTUVNKSkKIAkJcmV0dXJuIEVSUl9QVFIoLUVOWElPKTsKIAogCWVyciA9IG11dGV4X2xvY2tf aW50ZXJydXB0aWJsZV9uZXN0ZWQoJm9iai0+bW0ubG9jaywgSTkxNV9NTV9HRVRfUEFHRVMpOwpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3BoeXMuYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9waHlzLmMKaW5kZXggM2E0ZGZlMmVmMWRh Li45NjU1OTBkM2E1NzAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1 X2dlbV9waHlzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3BoeXMu YwpAQCAtMjQwLDYgKzI0MCw3IEBAIGludCBpOTE1X2dlbV9vYmplY3RfYXR0YWNoX3BoeXMoc3Ry dWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwgaW50IGFsaWduKQogCXBhZ2VzID0gX19pOTE1 X2dlbV9vYmplY3RfdW5zZXRfcGFnZXMob2JqKTsKIAogCW9iai0+b3BzID0gJmk5MTVfZ2VtX3Bo eXNfb3BzOworCW9iai0+ZmxhZ3MgJj0gfkk5MTVfQk9fQUxMT0NfU1RSVUNUX1BBR0U7CiAKIAll cnIgPSBfX19faTkxNV9nZW1fb2JqZWN0X2dldF9wYWdlcyhvYmopOwogCWlmIChlcnIpCkBAIC0y NTgsNiArMjU5LDcgQEAgaW50IGk5MTVfZ2VtX29iamVjdF9hdHRhY2hfcGh5cyhzdHJ1Y3QgZHJt X2k5MTVfZ2VtX29iamVjdCAqb2JqLCBpbnQgYWxpZ24pCiAKIGVycl94ZmVyOgogCW9iai0+b3Bz ID0gJmk5MTVfZ2VtX3NobWVtX29wczsKKwlvYmotPmZsYWdzIHw9IEk5MTVfQk9fQUxMT0NfU1RS VUNUX1BBR0U7CiAJaWYgKCFJU19FUlJfT1JfTlVMTChwYWdlcykpIHsKIAkJdW5zaWduZWQgaW50 IHNnX3BhZ2Vfc2l6ZXMgPSBpOTE1X3NnX3BhZ2Vfc2l6ZXMocGFnZXMtPnNnbCk7CiAKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9yZWdpb24uYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9yZWdpb24uYwppbmRleCA4MzViZDAxZjJlNWQu LmFhNjg1MDMzMzA1YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVf Z2VtX3JlZ2lvbi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9yZWdp b24uYwpAQCAtMTA2LDEzICsxMDYsMTEgQEAgaTkxNV9nZW1fb2JqZWN0X2dldF9wYWdlc19idWRk eShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQogfQogCiB2b2lkIGk5MTVfZ2VtX29i amVjdF9pbml0X21lbW9yeV9yZWdpb24oc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwK LQkJCQkJc3RydWN0IGludGVsX21lbW9yeV9yZWdpb24gKm1lbSwKLQkJCQkJdW5zaWduZWQgbG9u ZyBmbGFncykKKwkJCQkJc3RydWN0IGludGVsX21lbW9yeV9yZWdpb24gKm1lbSkKIHsKIAlJTklU X0xJU1RfSEVBRCgmb2JqLT5tbS5ibG9ja3MpOwogCW9iai0+bW0ucmVnaW9uID0gaW50ZWxfbWVt b3J5X3JlZ2lvbl9nZXQobWVtKTsKIAotCW9iai0+ZmxhZ3MgfD0gZmxhZ3M7CiAJaWYgKG9iai0+ YmFzZS5zaXplIDw9IG1lbS0+bWluX3BhZ2Vfc2l6ZSkKIAkJb2JqLT5mbGFncyB8PSBJOTE1X0JP X0FMTE9DX0NPTlRJR1VPVVM7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dl bS9pOTE1X2dlbV9yZWdpb24uaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9y ZWdpb24uaAppbmRleCBmMmZmNmY4YmZmNzQuLmViZGRjODZkNzhmNyAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3JlZ2lvbi5oCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9yZWdpb24uaApAQCAtMTcsOCArMTcsNyBAQCB2b2lkIGk5 MTVfZ2VtX29iamVjdF9wdXRfcGFnZXNfYnVkZHkoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3Qg Km9iaiwKIAkJCQkgICAgIHN0cnVjdCBzZ190YWJsZSAqcGFnZXMpOwogCiB2b2lkIGk5MTVfZ2Vt X29iamVjdF9pbml0X21lbW9yeV9yZWdpb24oc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9i aiwKLQkJCQkJc3RydWN0IGludGVsX21lbW9yeV9yZWdpb24gKm1lbSwKLQkJCQkJdW5zaWduZWQg bG9uZyBmbGFncyk7CisJCQkJCXN0cnVjdCBpbnRlbF9tZW1vcnlfcmVnaW9uICptZW0pOwogdm9p ZCBpOTE1X2dlbV9vYmplY3RfcmVsZWFzZV9tZW1vcnlfcmVnaW9uKHN0cnVjdCBkcm1faTkxNV9n ZW1fb2JqZWN0ICpvYmopOwogCiBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fc2htZW0uYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9zaG1lbS5jCmluZGV4IDc1ZThiNzFjMThiOS4uMzFj NjE3YTExMTVmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1f c2htZW0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fc2htZW0uYwpA QCAtNDMwLDggKzQzMCw3IEBAIHN0YXRpYyB2b2lkIHNobWVtX3JlbGVhc2Uoc3RydWN0IGRybV9p OTE1X2dlbV9vYmplY3QgKm9iaikKIAogY29uc3Qgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3Rf b3BzIGk5MTVfZ2VtX3NobWVtX29wcyA9IHsKIAkubmFtZSA9ICJpOTE1X2dlbV9vYmplY3Rfc2ht ZW0iLAotCS5mbGFncyA9IEk5MTVfR0VNX09CSkVDVF9IQVNfU1RSVUNUX1BBR0UgfAotCQkgSTkx NV9HRU1fT0JKRUNUX0lTX1NIUklOS0FCTEUsCisJLmZsYWdzID0gSTkxNV9HRU1fT0JKRUNUX0lT X1NIUklOS0FCTEUsCiAKIAkuZ2V0X3BhZ2VzID0gc2htZW1fZ2V0X3BhZ2VzLAogCS5wdXRfcGFn ZXMgPSBzaG1lbV9wdXRfcGFnZXMsCkBAIC00OTYsNyArNDk1LDggQEAgY3JlYXRlX3NobWVtKHN0 cnVjdCBpbnRlbF9tZW1vcnlfcmVnaW9uICptZW0sCiAJbWFwcGluZ19zZXRfZ2ZwX21hc2sobWFw cGluZywgbWFzayk7CiAJR0VNX0JVR19PTighKG1hcHBpbmdfZ2ZwX21hc2sobWFwcGluZykgJiBf X0dGUF9SRUNMQUlNKSk7CiAKLQlpOTE1X2dlbV9vYmplY3RfaW5pdChvYmosICZpOTE1X2dlbV9z aG1lbV9vcHMsICZsb2NrX2NsYXNzKTsKKwlpOTE1X2dlbV9vYmplY3RfaW5pdChvYmosICZpOTE1 X2dlbV9zaG1lbV9vcHMsICZsb2NrX2NsYXNzLAorCQkJICAgICBJOTE1X0JPX0FMTE9DX1NUUlVD VF9QQUdFKTsKIAogCW9iai0+d3JpdGVfZG9tYWluID0gSTkxNV9HRU1fRE9NQUlOX0NQVTsKIAlv YmotPnJlYWRfZG9tYWlucyA9IEk5MTVfR0VNX0RPTUFJTl9DUFU7CkBAIC01MjAsNyArNTIwLDcg QEAgY3JlYXRlX3NobWVtKHN0cnVjdCBpbnRlbF9tZW1vcnlfcmVnaW9uICptZW0sCiAKIAlpOTE1 X2dlbV9vYmplY3Rfc2V0X2NhY2hlX2NvaGVyZW5jeShvYmosIGNhY2hlX2xldmVsKTsKIAotCWk5 MTVfZ2VtX29iamVjdF9pbml0X21lbW9yeV9yZWdpb24ob2JqLCBtZW0sIDApOworCWk5MTVfZ2Vt X29iamVjdF9pbml0X21lbW9yeV9yZWdpb24ob2JqLCBtZW0pOwogCiAJcmV0dXJuIG9iajsKIApk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3N0b2xlbi5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3N0b2xlbi5jCmluZGV4IDI5YmZmYzZh ZmNjMS4uNTM3MmI4ODhiYTAxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0v aTkxNV9nZW1fc3RvbGVuLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2Vt X3N0b2xlbi5jCkBAIC02MzYsNyArNjM2LDcgQEAgX19pOTE1X2dlbV9vYmplY3RfY3JlYXRlX3N0 b2xlbihzdHJ1Y3QgaW50ZWxfbWVtb3J5X3JlZ2lvbiAqbWVtLAogCQlnb3RvIGVycjsKIAogCWRy bV9nZW1fcHJpdmF0ZV9vYmplY3RfaW5pdCgmbWVtLT5pOTE1LT5kcm0sICZvYmotPmJhc2UsIHN0 b2xlbi0+c2l6ZSk7Ci0JaTkxNV9nZW1fb2JqZWN0X2luaXQob2JqLCAmaTkxNV9nZW1fb2JqZWN0 X3N0b2xlbl9vcHMsICZsb2NrX2NsYXNzKTsKKwlpOTE1X2dlbV9vYmplY3RfaW5pdChvYmosICZp OTE1X2dlbV9vYmplY3Rfc3RvbGVuX29wcywgJmxvY2tfY2xhc3MsIDApOwogCiAJb2JqLT5zdG9s ZW4gPSBzdG9sZW47CiAJb2JqLT5yZWFkX2RvbWFpbnMgPSBJOTE1X0dFTV9ET01BSU5fQ1BVIHwg STkxNV9HRU1fRE9NQUlOX0dUVDsKQEAgLTY0Nyw3ICs2NDcsNyBAQCBfX2k5MTVfZ2VtX29iamVj dF9jcmVhdGVfc3RvbGVuKHN0cnVjdCBpbnRlbF9tZW1vcnlfcmVnaW9uICptZW0sCiAJaWYgKGVy cikKIAkJZ290byBjbGVhbnVwOwogCi0JaTkxNV9nZW1fb2JqZWN0X2luaXRfbWVtb3J5X3JlZ2lv bihvYmosIG1lbSwgMCk7CisJaTkxNV9nZW1fb2JqZWN0X2luaXRfbWVtb3J5X3JlZ2lvbihvYmos IG1lbSk7CiAKIAlyZXR1cm4gb2JqOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9nZW0vaTkxNV9nZW1fdXNlcnB0ci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVf Z2VtX3VzZXJwdHIuYwppbmRleCBmMmVhZWQ2YWNhM2QuLjMwZWRjNWEwYTU0ZSAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3VzZXJwdHIuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fdXNlcnB0ci5jCkBAIC03MDIsOCArNzAyLDcg QEAgaTkxNV9nZW1fdXNlcnB0cl9kbWFidWZfZXhwb3J0KHN0cnVjdCBkcm1faTkxNV9nZW1fb2Jq ZWN0ICpvYmopCiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdF9vcHMg aTkxNV9nZW1fdXNlcnB0cl9vcHMgPSB7CiAJLm5hbWUgPSAiaTkxNV9nZW1fb2JqZWN0X3VzZXJw dHIiLAotCS5mbGFncyA9IEk5MTVfR0VNX09CSkVDVF9IQVNfU1RSVUNUX1BBR0UgfAotCQkgSTkx NV9HRU1fT0JKRUNUX0lTX1NIUklOS0FCTEUgfAorCS5mbGFncyA9IEk5MTVfR0VNX09CSkVDVF9J U19TSFJJTktBQkxFIHwKIAkJIEk5MTVfR0VNX09CSkVDVF9OT19NTUFQIHwKIAkJIEk5MTVfR0VN X09CSkVDVF9BU1lOQ19DQU5DRUwsCiAJLmdldF9wYWdlcyA9IGk5MTVfZ2VtX3VzZXJwdHJfZ2V0 X3BhZ2VzLApAQCAtODEwLDcgKzgwOSw4IEBAIGk5MTVfZ2VtX3VzZXJwdHJfaW9jdGwoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwKIAkJcmV0dXJuIC1FTk9NRU07CiAKIAlkcm1fZ2VtX3ByaXZhdGVf b2JqZWN0X2luaXQoZGV2LCAmb2JqLT5iYXNlLCBhcmdzLT51c2VyX3NpemUpOwotCWk5MTVfZ2Vt X29iamVjdF9pbml0KG9iaiwgJmk5MTVfZ2VtX3VzZXJwdHJfb3BzLCAmbG9ja19jbGFzcyk7CisJ aTkxNV9nZW1fb2JqZWN0X2luaXQob2JqLCAmaTkxNV9nZW1fdXNlcnB0cl9vcHMsICZsb2NrX2Ns YXNzLAorCQkJICAgICBJOTE1X0JPX0FMTE9DX1NUUlVDVF9QQUdFKTsKIAlvYmotPnJlYWRfZG9t YWlucyA9IEk5MTVfR0VNX0RPTUFJTl9DUFU7CiAJb2JqLT53cml0ZV9kb21haW4gPSBJOTE1X0dF TV9ET01BSU5fQ1BVOwogCWk5MTVfZ2VtX29iamVjdF9zZXRfY2FjaGVfY29oZXJlbmN5KG9iaiwg STkxNV9DQUNIRV9MTEMpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL3Nl bGZ0ZXN0cy9odWdlX2dlbV9vYmplY3QuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9zZWxm dGVzdHMvaHVnZV9nZW1fb2JqZWN0LmMKaW5kZXggYTc2OGVjNjFlOTY2Li5kZmFkODZkNzRkZDAg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9zZWxmdGVzdHMvaHVnZV9nZW1f b2JqZWN0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL3NlbGZ0ZXN0cy9odWdlX2dl bV9vYmplY3QuYwpAQCAtODksNyArODksNiBAQCBzdGF0aWMgdm9pZCBodWdlX3B1dF9wYWdlcyhz dHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGRy bV9pOTE1X2dlbV9vYmplY3Rfb3BzIGh1Z2Vfb3BzID0gewogCS5uYW1lID0gImh1Z2UtZ2VtIiwK LQkuZmxhZ3MgPSBJOTE1X0dFTV9PQkpFQ1RfSEFTX1NUUlVDVF9QQUdFLAogCS5nZXRfcGFnZXMg PSBodWdlX2dldF9wYWdlcywKIAkucHV0X3BhZ2VzID0gaHVnZV9wdXRfcGFnZXMsCiB9OwpAQCAt MTE1LDcgKzExNCw4IEBAIGh1Z2VfZ2VtX29iamVjdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq aTkxNSwKIAkJcmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7CiAKIAlkcm1fZ2VtX3ByaXZhdGVfb2Jq ZWN0X2luaXQoJmk5MTUtPmRybSwgJm9iai0+YmFzZSwgZG1hX3NpemUpOwotCWk5MTVfZ2VtX29i amVjdF9pbml0KG9iaiwgJmh1Z2Vfb3BzLCAmbG9ja19jbGFzcyk7CisJaTkxNV9nZW1fb2JqZWN0 X2luaXQob2JqLCAmaHVnZV9vcHMsICZsb2NrX2NsYXNzLAorCQkJICAgICBJOTE1X0JPX0FMTE9D X1NUUlVDVF9QQUdFKTsKIAogCW9iai0+cmVhZF9kb21haW5zID0gSTkxNV9HRU1fRE9NQUlOX0NQ VTsKIAlvYmotPndyaXRlX2RvbWFpbiA9IEk5MTVfR0VNX0RPTUFJTl9DUFU7CmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vc2VsZnRlc3RzL2h1Z2VfcGFnZXMuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2dlbS9zZWxmdGVzdHMvaHVnZV9wYWdlcy5jCmluZGV4IGFhY2Y0ODU2 Y2NiNC4uNmMyMjQxYjczODdiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0v c2VsZnRlc3RzL2h1Z2VfcGFnZXMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vc2Vs ZnRlc3RzL2h1Z2VfcGFnZXMuYwpAQCAtMTQwLDggKzE0MCw3IEBAIHN0YXRpYyB2b2lkIHB1dF9o dWdlX3BhZ2VzKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCiAKIHN0YXRpYyBjb25z dCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdF9vcHMgaHVnZV9wYWdlX29wcyA9IHsKIAkubmFt ZSA9ICJodWdlLWdlbSIsCi0JLmZsYWdzID0gSTkxNV9HRU1fT0JKRUNUX0hBU19TVFJVQ1RfUEFH RSB8Ci0JCSBJOTE1X0dFTV9PQkpFQ1RfSVNfU0hSSU5LQUJMRSwKKwkuZmxhZ3MgPSBJOTE1X0dF TV9PQkpFQ1RfSVNfU0hSSU5LQUJMRSwKIAkuZ2V0X3BhZ2VzID0gZ2V0X2h1Z2VfcGFnZXMsCiAJ LnB1dF9wYWdlcyA9IHB1dF9odWdlX3BhZ2VzLAogfTsKQEAgLTE2OCw3ICsxNjcsOCBAQCBodWdl X3BhZ2VzX29iamVjdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKIAkJcmV0dXJuIEVS Ul9QVFIoLUVOT01FTSk7CiAKIAlkcm1fZ2VtX3ByaXZhdGVfb2JqZWN0X2luaXQoJmk5MTUtPmRy bSwgJm9iai0+YmFzZSwgc2l6ZSk7Ci0JaTkxNV9nZW1fb2JqZWN0X2luaXQob2JqLCAmaHVnZV9w YWdlX29wcywgJmxvY2tfY2xhc3MpOworCWk5MTVfZ2VtX29iamVjdF9pbml0KG9iaiwgJmh1Z2Vf cGFnZV9vcHMsICZsb2NrX2NsYXNzLAorCQkJICAgICBJOTE1X0JPX0FMTE9DX1NUUlVDVF9QQUdF KTsKIAogCWk5MTVfZ2VtX29iamVjdF9zZXRfdm9sYXRpbGUob2JqKTsKIApAQCAtMzE5LDkgKzMx OSw5IEBAIGZha2VfaHVnZV9wYWdlc19vYmplY3Qoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5 MTUsIHU2NCBzaXplLCBib29sIHNpbmdsZSkKIAlkcm1fZ2VtX3ByaXZhdGVfb2JqZWN0X2luaXQo Jmk5MTUtPmRybSwgJm9iai0+YmFzZSwgc2l6ZSk7CiAKIAlpZiAoc2luZ2xlKQotCQlpOTE1X2dl bV9vYmplY3RfaW5pdChvYmosICZmYWtlX29wc19zaW5nbGUsICZsb2NrX2NsYXNzKTsKKwkJaTkx NV9nZW1fb2JqZWN0X2luaXQob2JqLCAmZmFrZV9vcHNfc2luZ2xlLCAmbG9ja19jbGFzcywgMCk7 CiAJZWxzZQotCQlpOTE1X2dlbV9vYmplY3RfaW5pdChvYmosICZmYWtlX29wcywgJmxvY2tfY2xh c3MpOworCQlpOTE1X2dlbV9vYmplY3RfaW5pdChvYmosICZmYWtlX29wcywgJmxvY2tfY2xhc3Ms IDApOwogCiAJaTkxNV9nZW1fb2JqZWN0X3NldF92b2xhdGlsZShvYmopOwogCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vc2VsZnRlc3RzL2k5MTVfZ2VtX21tYW4uYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9zZWxmdGVzdHMvaTkxNV9nZW1fbW1hbi5jCmluZGV4IGQ0 MjljNzY0M2ZmMi4uNDQ5MDhjNjhlMzMxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9nZW0vc2VsZnRlc3RzL2k5MTVfZ2VtX21tYW4uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9nZW0vc2VsZnRlc3RzL2k5MTVfZ2VtX21tYW4uYwpAQCAtODM1LDkgKzgzNSw4IEBAIHN0YXRp YyBib29sIGNhbl9tbWFwKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosIGVudW0gaTkx NV9tbWFwX3R5cGUgdHlwZSkKIAkJcmV0dXJuIGZhbHNlOwogCiAJaWYgKHR5cGUgIT0gSTkxNV9N TUFQX1RZUEVfR1RUICYmCi0JICAgICFpOTE1X2dlbV9vYmplY3RfdHlwZV9oYXMob2JqLAotCQkJ CSAgICAgIEk5MTVfR0VNX09CSkVDVF9IQVNfU1RSVUNUX1BBR0UgfAotCQkJCSAgICAgIEk5MTVf R0VNX09CSkVDVF9IQVNfSU9NRU0pKQorCSAgICAhaTkxNV9nZW1fb2JqZWN0X2hhc19zdHJ1Y3Rf cGFnZShvYmopICYmCisJICAgICFpOTE1X2dlbV9vYmplY3RfdHlwZV9oYXMob2JqLCBJOTE1X0dF TV9PQkpFQ1RfSEFTX0lPTUVNKSkKIAkJcmV0dXJuIGZhbHNlOwogCiAJcmV0dXJuIHRydWU7CkBA IC05NzcsMTAgKzk3Niw4IEBAIHN0YXRpYyBjb25zdCBjaGFyICpyZXByX21tYXBfdHlwZShlbnVt IGk5MTVfbW1hcF90eXBlIHR5cGUpCiAKIHN0YXRpYyBib29sIGNhbl9hY2Nlc3MoY29uc3Qgc3Ry dWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKIHsKLQl1bnNpZ25lZCBpbnQgZmxhZ3MgPQot CQlJOTE1X0dFTV9PQkpFQ1RfSEFTX1NUUlVDVF9QQUdFIHwgSTkxNV9HRU1fT0JKRUNUX0hBU19J T01FTTsKLQotCXJldHVybiBpOTE1X2dlbV9vYmplY3RfdHlwZV9oYXMob2JqLCBmbGFncyk7CisJ cmV0dXJuIGk5MTVfZ2VtX29iamVjdF9oYXNfc3RydWN0X3BhZ2Uob2JqKSB8fAorCSAgICAgICBp OTE1X2dlbV9vYmplY3RfdHlwZV9oYXMob2JqLCBJOTE1X0dFTV9PQkpFQ1RfSEFTX0lPTUVNKTsK IH0KIAogc3RhdGljIGludCBfX2lndF9tbWFwX2FjY2VzcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqaTkxNSwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9zZWxmdGVzdHMv aTkxNV9nZW1fcGh5cy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL3NlbGZ0ZXN0cy9pOTE1 X2dlbV9waHlzLmMKaW5kZXggOGNlZTY4YzZhNmRjLi5mYjZhMTc3MDEzMTAgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9zZWxmdGVzdHMvaTkxNV9nZW1fcGh5cy5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9zZWxmdGVzdHMvaTkxNV9nZW1fcGh5cy5jCkBAIC0y NSwxMiArMjUsMjQgQEAgc3RhdGljIGludCBtb2NrX3BoeXNfb2JqZWN0KHZvaWQgKmFyZykKIAkJ Z290byBvdXQ7CiAJfQogCisJaWYgKCFpOTE1X2dlbV9vYmplY3RfaGFzX3N0cnVjdF9wYWdlKG9i aikpIHsKKwkJZXJyID0gLUVJTlZBTDsKKwkJcHJfZXJyKCJzaG1lbSBoYXMgbm8gc3RydWN0IHBh Z2VcbiIpOworCQlnb3RvIG91dF9vYmo7CisJfQorCiAJZXJyID0gaTkxNV9nZW1fb2JqZWN0X2F0 dGFjaF9waHlzKG9iaiwgUEFHRV9TSVpFKTsKIAlpZiAoZXJyKSB7CiAJCXByX2VycigiaTkxNV9n ZW1fb2JqZWN0X2F0dGFjaF9waHlzIGZhaWxlZCwgZXJyPSVkXG4iLCBlcnIpOwogCQlnb3RvIG91 dF9vYmo7CiAJfQogCisJaWYgKGk5MTVfZ2VtX29iamVjdF9oYXNfc3RydWN0X3BhZ2Uob2JqKSkg eworCQllcnIgPSAtRUlOVkFMOworCQlwcl9lcnIoInNobWVtIGhhcyBhIHN0cnVjdCBwYWdlXG4i KTsKKwkJZ290byBvdXRfb2JqOworCX0KKwogCWlmIChvYmotPm9wcyAhPSAmaTkxNV9nZW1fcGh5 c19vcHMpIHsKIAkJcHJfZXJyKCJpOTE1X2dlbV9vYmplY3RfYXR0YWNoX3BoeXMgZGlkIG5vdCBj cmVhdGUgYSBwaHlzIG9iamVjdFxuIik7CiAJCWVyciA9IC1FSU5WQUw7CmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvZG1hYnVmLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9n dnQvZG1hYnVmLmMKaW5kZXggYzNlYjM4MzhmZTg4Li5kNGY4ODNmMzViOTUgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9kbWFidWYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9ndnQvZG1hYnVmLmMKQEAgLTIxOCw3ICsyMTgsNyBAQCBzdGF0aWMgc3RydWN0IGRybV9p OTE1X2dlbV9vYmplY3QgKnZncHVfY3JlYXRlX2dlbShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAog CiAJZHJtX2dlbV9wcml2YXRlX29iamVjdF9pbml0KGRldiwgJm9iai0+YmFzZSwKIAkJcm91bmR1 cChpbmZvLT5zaXplLCBQQUdFX1NJWkUpKTsKLQlpOTE1X2dlbV9vYmplY3RfaW5pdChvYmosICZp bnRlbF92Z3B1X2dlbV9vcHMsICZsb2NrX2NsYXNzKTsKKwlpOTE1X2dlbV9vYmplY3RfaW5pdChv YmosICZpbnRlbF92Z3B1X2dlbV9vcHMsICZsb2NrX2NsYXNzLCAwKTsKIAlpOTE1X2dlbV9vYmpl Y3Rfc2V0X3JlYWRvbmx5KG9iaik7CiAKIAlvYmotPnJlYWRfZG9tYWlucyA9IEk5MTVfR0VNX0RP TUFJTl9HVFQ7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkx NV9nZW1fZ3R0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9nZW1fZ3R0 LmMKaW5kZXggNzBlMDdlOWI3OGMyLi5kNGU1YjJkZjY4NGQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X2dlbV9ndHQuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9nZW1fZ3R0LmMKQEAgLTEyMSw3ICsxMjEsNyBAQCBmYWtl X2RtYV9vYmplY3Qoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsIHU2NCBzaXplKQogCQln b3RvIGVycjsKIAogCWRybV9nZW1fcHJpdmF0ZV9vYmplY3RfaW5pdCgmaTkxNS0+ZHJtLCAmb2Jq LT5iYXNlLCBzaXplKTsKLQlpOTE1X2dlbV9vYmplY3RfaW5pdChvYmosICZmYWtlX29wcywgJmxv Y2tfY2xhc3MpOworCWk5MTVfZ2VtX29iamVjdF9pbml0KG9iaiwgJmZha2Vfb3BzLCAmbG9ja19j bGFzcywgMCk7CiAKIAlpOTE1X2dlbV9vYmplY3Rfc2V0X3ZvbGF0aWxlKG9iaik7CiAKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9tb2NrX3JlZ2lvbi5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL21vY2tfcmVnaW9uLmMKaW5kZXggOTc5ZDk2ZjI3 YzQzLi5iMDQ2YmQxYTlhZDMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0 ZXN0cy9tb2NrX3JlZ2lvbi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9t b2NrX3JlZ2lvbi5jCkBAIC0zMiwxMyArMzIsMTMgQEAgbW9ja19vYmplY3RfY3JlYXRlKHN0cnVj dCBpbnRlbF9tZW1vcnlfcmVnaW9uICptZW0sCiAJCXJldHVybiBFUlJfUFRSKC1FTk9NRU0pOwog CiAJZHJtX2dlbV9wcml2YXRlX29iamVjdF9pbml0KCZpOTE1LT5kcm0sICZvYmotPmJhc2UsIHNp emUpOwotCWk5MTVfZ2VtX29iamVjdF9pbml0KG9iaiwgJm1vY2tfcmVnaW9uX29ial9vcHMsICZs b2NrX2NsYXNzKTsKKwlpOTE1X2dlbV9vYmplY3RfaW5pdChvYmosICZtb2NrX3JlZ2lvbl9vYmpf b3BzLCAmbG9ja19jbGFzcywgZmxhZ3MpOwogCiAJb2JqLT5yZWFkX2RvbWFpbnMgPSBJOTE1X0dF TV9ET01BSU5fQ1BVIHwgSTkxNV9HRU1fRE9NQUlOX0dUVDsKIAogCWk5MTVfZ2VtX29iamVjdF9z ZXRfY2FjaGVfY29oZXJlbmN5KG9iaiwgSTkxNV9DQUNIRV9OT05FKTsKIAotCWk5MTVfZ2VtX29i amVjdF9pbml0X21lbW9yeV9yZWdpb24ob2JqLCBtZW0sIGZsYWdzKTsKKwlpOTE1X2dlbV9vYmpl Y3RfaW5pdF9tZW1vcnlfcmVnaW9uKG9iaiwgbWVtKTsKIAogCXJldHVybiBvYmo7CiB9Ci0tIAoy LjMwLjAucmMxCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK