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.7 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=unavailable 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 9B276C2D0E4 for ; Fri, 27 Nov 2020 12:08:29 +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 4170A21D81 for ; Fri, 27 Nov 2020 12:08:29 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4170A21D81 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 8E5B26EC14; Fri, 27 Nov 2020 12:08:00 +0000 (UTC) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id 89AE46EC02; Fri, 27 Nov 2020 12:07:56 +0000 (UTC) IronPort-SDR: CkZ37AfPcrQxBoSn0KpRPMixe4I8Lke91UXCk5dTuFxaCjDIXh6zRW4vnslrEu8w52UuxasdNV alW1L2U4E1Hw== X-IronPort-AV: E=McAfee;i="6000,8403,9817"; a="168883386" X-IronPort-AV: E=Sophos;i="5.78,374,1599548400"; d="scan'208";a="168883386" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Nov 2020 04:07:56 -0800 IronPort-SDR: VG7xraSXI0frgs1mU5lsRRRBjzZgXbetAcooOqa0rOi+8JDNjRoMaFe8lhAC8wQDedO6ai/t/M Q5kdaNwULEVw== X-IronPort-AV: E=Sophos;i="5.78,374,1599548400"; d="scan'208";a="548028600" Received: from mjgleeso-mobl.ger.corp.intel.com (HELO mwauld-desk1.ger.corp.intel.com) ([10.251.85.2]) by orsmga005-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Nov 2020 04:07:54 -0800 From: Matthew Auld To: intel-gfx@lists.freedesktop.org Subject: [RFC PATCH 016/162] drm/i915: Move HAS_STRUCT_PAGE to obj->flags Date: Fri, 27 Nov 2020 12:04:52 +0000 Message-Id: <20201127120718.454037-17-matthew.auld@intel.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20201127120718.454037-1-matthew.auld@intel.com> References: <20201127120718.454037-1-matthew.auld@intel.com> MIME-Version: 1.0 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: dri-devel@lists.freedesktop.org, =?UTF-8?q?Thomas=20Hellstr=C3=B6m?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" RnJvbTogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNv bT4KCldlIHdhbnQgdG8gcmVtb3ZlIHRoZSBjaGFuZ2luZyBvZiBvcHMgc3RydWN0dXJlIGZvciBh dHRhY2hpbmcKcGh5cyBwYWdlcywgc28gd2UgbmVlZCB0byBraWxsIG9mZiBIQVNfU1RSVUNUX1BB R0UgZnJvbSBvcHMtPmZsYWdzLAphbmQgcHV0IGl0IGluIHRoZSBiby4KClRoaXMgd2lsbCByZW1v dmUgYSBwb3RlbnRpYWwgcmFjZSBvZiBkZXJlZmVyZW5jaW5nIHRoZSB3cm9uZyBvYmotPm9wcwp3 aXRob3V0IHd3IG11dGV4IGhlbGQuCgpTaWduZWQtb2ZmLWJ5OiBNYWFydGVuIExhbmtob3JzdCA8 bWFhcnRlbi5sYW5raG9yc3RAbGludXguaW50ZWwuY29tPgpDYzogVGhvbWFzIEhlbGxzdHLDtm0g PHRob21hcy5oZWxsc3Ryb21AbGludXguaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2dlbS9pOTE1X2dlbV9kbWFidWYuYyAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUv ZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX2ludGVybmFsLmMgICAgICAgICB8ICA2ICsrKy0tLQogZHJp dmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX2xtZW0uYyAgICAgICAgICAgICB8ICA0ICsr LS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9tbWFuLmMgICAgICAgICAgICAg fCAgNyArKystLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fb2JqZWN0LmMg ICAgICAgICAgIHwgIDQgKysrLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29i amVjdC5oICAgICAgICAgICB8ICA1ICsrKy0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkx NV9nZW1fb2JqZWN0X3R5cGVzLmggICAgIHwgIDggKysrKystLS0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2dlbS9pOTE1X2dlbV9wYWdlcy5jICAgICAgICAgICAgfCAgNSArKy0tLQogZHJpdmVycy9n cHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3BoeXMuYyAgICAgICAgICAgICB8ICAyICsrCiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fcmVnaW9uLmMgICAgICAgICAgIHwgIDQgKy0t LQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3JlZ2lvbi5oICAgICAgICAgICB8 ICAzICstLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3NobWVtLmMgICAgICAg ICAgICB8ICA4ICsrKystLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fc3Rv bGVuLmMgICAgICAgICAgIHwgIDQgKystLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVf Z2VtX3VzZXJwdHIuYyAgICAgICAgICB8ICA2ICsrKy0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUv Z2VtL3NlbGZ0ZXN0cy9odWdlX2dlbV9vYmplY3QuYyB8ICA0ICsrLS0KIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2dlbS9zZWxmdGVzdHMvaHVnZV9wYWdlcy5jICAgICAgfCAxMCArKysrKy0tLS0tCiBk cml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vc2VsZnRlc3RzL2k5MTVfZ2VtX21tYW4uYyAgIHwgMTEg KysrKy0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9zZWxmdGVzdHMvaTkxNV9nZW1f cGh5cy5jICAgfCAxMiArKysrKysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9kbWFi dWYuYyAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvc2Vs ZnRlc3RzL2k5MTVfZ2VtX2d0dC5jICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkx NS9zZWxmdGVzdHMvbW9ja19yZWdpb24uYyAgICAgICAgIHwgIDQgKystLQogMjEgZmlsZXMgY2hh bmdlZCwgNjIgaW5zZXJ0aW9ucygrKSwgNTEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX2RtYWJ1Zi5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvZ2VtL2k5MTVfZ2VtX2RtYWJ1Zi5jCmluZGV4IDA0ZTljMDQ1NDVhZC4uMzZlM2MyNzY1 ZjRjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fZG1hYnVm LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX2RtYWJ1Zi5jCkBAIC0y NTgsNyArMjU4LDcgQEAgc3RydWN0IGRybV9nZW1fb2JqZWN0ICppOTE1X2dlbV9wcmltZV9pbXBv cnQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAl9CiAKIAlkcm1fZ2VtX3ByaXZhdGVfb2JqZWN0 X2luaXQoZGV2LCAmb2JqLT5iYXNlLCBkbWFfYnVmLT5zaXplKTsKLQlpOTE1X2dlbV9vYmplY3Rf aW5pdChvYmosICZpOTE1X2dlbV9vYmplY3RfZG1hYnVmX29wcywgJmxvY2tfY2xhc3MpOworCWk5 MTVfZ2VtX29iamVjdF9pbml0KG9iaiwgJmk5MTVfZ2VtX29iamVjdF9kbWFidWZfb3BzLCAmbG9j a19jbGFzcywgMCk7CiAJb2JqLT5iYXNlLmltcG9ydF9hdHRhY2ggPSBhdHRhY2g7CiAJb2JqLT5i YXNlLnJlc3YgPSBkbWFfYnVmLT5yZXN2OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9nZW0vaTkxNV9nZW1faW50ZXJuYWwuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9p OTE1X2dlbV9pbnRlcm5hbC5jCmluZGV4IGFkMjJmNDI1NDFiZC4uMjFjYzQwODk3Y2E4IDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1faW50ZXJuYWwuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1faW50ZXJuYWwuYwpAQCAtMTM4LDgg KzEzOCw3IEBAIHN0YXRpYyB2b2lkIGk5MTVfZ2VtX29iamVjdF9wdXRfcGFnZXNfaW50ZXJuYWwo c3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKIAogc3RhdGljIGNvbnN0IHN0cnVjdCBk cm1faTkxNV9nZW1fb2JqZWN0X29wcyBpOTE1X2dlbV9vYmplY3RfaW50ZXJuYWxfb3BzID0gewog CS5uYW1lID0gImk5MTVfZ2VtX29iamVjdF9pbnRlcm5hbCIsCi0JLmZsYWdzID0gSTkxNV9HRU1f T0JKRUNUX0hBU19TVFJVQ1RfUEFHRSB8Ci0JCSBJOTE1X0dFTV9PQkpFQ1RfSVNfU0hSSU5LQUJM RSwKKwkuZmxhZ3MgPSBJOTE1X0dFTV9PQkpFQ1RfSVNfU0hSSU5LQUJMRSwKIAkuZ2V0X3BhZ2Vz ID0gaTkxNV9nZW1fb2JqZWN0X2dldF9wYWdlc19pbnRlcm5hbCwKIAkucHV0X3BhZ2VzID0gaTkx NV9nZW1fb2JqZWN0X3B1dF9wYWdlc19pbnRlcm5hbCwKIH07CkBAIC0xNzgsNyArMTc3LDggQEAg aTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9pbnRlcm5hbChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq aTkxNSwKIAkJcmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7CiAKIAlkcm1fZ2VtX3ByaXZhdGVfb2Jq ZWN0X2luaXQoJmk5MTUtPmRybSwgJm9iai0+YmFzZSwgc2l6ZSk7Ci0JaTkxNV9nZW1fb2JqZWN0 X2luaXQob2JqLCAmaTkxNV9nZW1fb2JqZWN0X2ludGVybmFsX29wcywgJmxvY2tfY2xhc3MpOwor CWk5MTVfZ2VtX29iamVjdF9pbml0KG9iaiwgJmk5MTVfZ2VtX29iamVjdF9pbnRlcm5hbF9vcHMs ICZsb2NrX2NsYXNzLAorCQkJICAgICBJOTE1X0JPX0FMTE9DX1NUUlVDVF9QQUdFKTsKIAogCS8q CiAJICogTWFyayB0aGUgb2JqZWN0IGFzIHZvbGF0aWxlLCBzdWNoIHRoYXQgdGhlIHBhZ2VzIGFy ZSBtYXJrZWQgYXMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dl bV9sbWVtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fbG1lbS5jCmluZGV4 IDkzMmVlMjFlNjYwOS4uZTk1Mzk2NWY4MjYzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9nZW0vaTkxNV9nZW1fbG1lbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9p OTE1X2dlbV9sbWVtLmMKQEAgLTQ1LDEzICs0NSwxMyBAQCBfX2k5MTVfZ2VtX2xtZW1fb2JqZWN0 X2NyZWF0ZShzdHJ1Y3QgaW50ZWxfbWVtb3J5X3JlZ2lvbiAqbWVtLAogCQlyZXR1cm4gRVJSX1BU UigtRU5PTUVNKTsKIAogCWRybV9nZW1fcHJpdmF0ZV9vYmplY3RfaW5pdCgmaTkxNS0+ZHJtLCAm b2JqLT5iYXNlLCBzaXplKTsKLQlpOTE1X2dlbV9vYmplY3RfaW5pdChvYmosICZpOTE1X2dlbV9s bWVtX29ial9vcHMsICZsb2NrX2NsYXNzKTsKKwlpOTE1X2dlbV9vYmplY3RfaW5pdChvYmosICZp OTE1X2dlbV9sbWVtX29ial9vcHMsICZsb2NrX2NsYXNzLCBmbGFncyk7CiAKIAlvYmotPnJlYWRf ZG9tYWlucyA9IEk5MTVfR0VNX0RPTUFJTl9XQyB8IEk5MTVfR0VNX0RPTUFJTl9HVFQ7CiAKIAlp OTE1X2dlbV9vYmplY3Rfc2V0X2NhY2hlX2NvaGVyZW5jeShvYmosIEk5MTVfQ0FDSEVfTk9ORSk7 CiAKLQlpOTE1X2dlbV9vYmplY3RfaW5pdF9tZW1vcnlfcmVnaW9uKG9iaiwgbWVtLCBmbGFncyk7 CisJaTkxNV9nZW1fb2JqZWN0X2luaXRfbWVtb3J5X3JlZ2lvbihvYmosIG1lbSk7CiAKIAlyZXR1 cm4gb2JqOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2Vt X21tYW4uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9tbWFuLmMKaW5kZXgg ZWMyOGE2Y2RlNDliLi5jMDAzNGQ4MTFlNTAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2dlbS9pOTE1X2dlbV9tbWFuLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5 MTVfZ2VtX21tYW4uYwpAQCAtMjUxLDcgKzI1MSw3IEBAIHN0YXRpYyB2bV9mYXVsdF90IHZtX2Zh dWx0X2NwdShzdHJ1Y3Qgdm1fZmF1bHQgKnZtZikKIAkJZ290byBvdXQ7CiAKIAlpb21hcCA9IC0x OwotCWlmICghaTkxNV9nZW1fb2JqZWN0X3R5cGVfaGFzKG9iaiwgSTkxNV9HRU1fT0JKRUNUX0hB U19TVFJVQ1RfUEFHRSkpIHsKKwlpZiAoIWk5MTVfZ2VtX29iamVjdF9oYXNfc3RydWN0X3BhZ2Uo b2JqKSkgewogCQlpb21hcCA9IG9iai0+bW0ucmVnaW9uLT5pb21hcC5iYXNlOwogCQlpb21hcCAt PSBvYmotPm1tLnJlZ2lvbi0+cmVnaW9uLnN0YXJ0OwogCX0KQEAgLTY1Myw5ICs2NTMsOCBAQCBf X2Fzc2lnbl9tbWFwX29mZnNldChzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUsCiAJfQogCiAJaWYgKG1t YXBfdHlwZSAhPSBJOTE1X01NQVBfVFlQRV9HVFQgJiYKLQkgICAgIWk5MTVfZ2VtX29iamVjdF90 eXBlX2hhcyhvYmosCi0JCQkJICAgICAgSTkxNV9HRU1fT0JKRUNUX0hBU19TVFJVQ1RfUEFHRSB8 Ci0JCQkJICAgICAgSTkxNV9HRU1fT0JKRUNUX0hBU19JT01FTSkpIHsKKwkgICAgIWk5MTVfZ2Vt X29iamVjdF9oYXNfc3RydWN0X3BhZ2Uob2JqKSAmJgorCSAgICAhaTkxNV9nZW1fb2JqZWN0X3R5 cGVfaGFzKG9iaiwgSTkxNV9HRU1fT0JKRUNUX0hBU19JT01FTSkpIHsKIAkJZXJyID0gLUVOT0RF VjsKIAkJZ290byBvdXQ7CiAJfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2Vt L2k5MTVfZ2VtX29iamVjdC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29i amVjdC5jCmluZGV4IDAwZDI0MDAwYjVlOC4uMTM5Mzk4OGJkNWFmIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fb2JqZWN0LmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVjdC5jCkBAIC02MCw3ICs2MCw3IEBAIHZvaWQgaTkx NV9nZW1fb2JqZWN0X2ZyZWUoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKIAogdm9p ZCBpOTE1X2dlbV9vYmplY3RfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAog CQkJICBjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdF9vcHMgKm9wcywKLQkJCSAgc3Ry dWN0IGxvY2tfY2xhc3Nfa2V5ICprZXkpCisJCQkgIHN0cnVjdCBsb2NrX2NsYXNzX2tleSAqa2V5 LCB1bnNpZ25lZCBmbGFncykKIHsKIAlfX211dGV4X2luaXQoJm9iai0+bW0ubG9jaywgb3BzLT5u YW1lID86ICJvYmotPm1tLmxvY2siLCBrZXkpOwogCkBAIC03OCw2ICs3OCw4IEBAIHZvaWQgaTkx NV9nZW1fb2JqZWN0X2luaXQoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKIAlpbml0 X3JjdV9oZWFkKCZvYmotPnJjdSk7CiAKIAlvYmotPm9wcyA9IG9wczsKKwlHRU1fQlVHX09OKGZs YWdzICYgfkk5MTVfQk9fQUxMT0NfRkxBR1MpOworCW9iai0+ZmxhZ3MgPSBmbGFnczsKIAogCW9i ai0+bW0ubWFkdiA9IEk5MTVfTUFEVl9XSUxMTkVFRDsKIAlJTklUX1JBRElYX1RSRUUoJm9iai0+ bW0uZ2V0X3BhZ2UucmFkaXgsIEdGUF9LRVJORUwgfCBfX0dGUF9OT1dBUk4pOwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVjdC5oIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVjdC5oCmluZGV4IDgwYzViMmIzMjZmNS4uMTY2 MDhiZjdhNGU5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1f b2JqZWN0LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVjdC5o CkBAIC0yMyw3ICsyMyw4IEBAIHZvaWQgaTkxNV9nZW1fb2JqZWN0X2ZyZWUoc3RydWN0IGRybV9p OTE1X2dlbV9vYmplY3QgKm9iaik7CiAKIHZvaWQgaTkxNV9nZW1fb2JqZWN0X2luaXQoc3RydWN0 IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKIAkJCSAgY29uc3Qgc3RydWN0IGRybV9pOTE1X2dl bV9vYmplY3Rfb3BzICpvcHMsCi0JCQkgIHN0cnVjdCBsb2NrX2NsYXNzX2tleSAqa2V5KTsKKwkJ CSAgc3RydWN0IGxvY2tfY2xhc3Nfa2V5ICprZXksCisJCQkgIHVuc2lnbmVkIGFsbG9jX2ZsYWdz KTsKIHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICoKIGk5MTVfZ2VtX29iamVjdF9jcmVhdGVf c2htZW0oc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsCiAJCQkgICAgIHJlc291cmNlX3Np emVfdCBzaXplKTsKQEAgLTIxMyw3ICsyMTQsNyBAQCBpOTE1X2dlbV9vYmplY3RfdHlwZV9oYXMo Y29uc3Qgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKIHN0YXRpYyBpbmxpbmUgYm9v bAogaTkxNV9nZW1fb2JqZWN0X2hhc19zdHJ1Y3RfcGFnZShjb25zdCBzdHJ1Y3QgZHJtX2k5MTVf Z2VtX29iamVjdCAqb2JqKQogewotCXJldHVybiBpOTE1X2dlbV9vYmplY3RfdHlwZV9oYXMob2Jq LCBJOTE1X0dFTV9PQkpFQ1RfSEFTX1NUUlVDVF9QQUdFKTsKKwlyZXR1cm4gb2JqLT5mbGFncyAm IEk5MTVfQk9fQUxMT0NfU1RSVUNUX1BBR0U7CiB9CiAKIHN0YXRpYyBpbmxpbmUgYm9vbApkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVjdF90eXBlcy5o IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVjdF90eXBlcy5oCmluZGV4 IGUyZDliN2UxZTE1Mi4uYjUzZTQ0YjA2YjA5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9nZW0vaTkxNV9nZW1fb2JqZWN0X3R5cGVzLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZ2VtL2k5MTVfZ2VtX29iamVjdF90eXBlcy5oCkBAIC0zMCw3ICszMCw2IEBAIHN0cnVjdCBp OTE1X2x1dF9oYW5kbGUgewogCiBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdF9vcHMgewogCXVu c2lnbmVkIGludCBmbGFnczsKLSNkZWZpbmUgSTkxNV9HRU1fT0JKRUNUX0hBU19TVFJVQ1RfUEFH RQlCSVQoMCkKICNkZWZpbmUgSTkxNV9HRU1fT0JKRUNUX0hBU19JT01FTQlCSVQoMSkKICNkZWZp bmUgSTkxNV9HRU1fT0JKRUNUX0lTX1NIUklOS0FCTEUJQklUKDIpCiAjZGVmaW5lIEk5MTVfR0VN X09CSkVDVF9JU19QUk9YWQlCSVQoMykKQEAgLTE2NSw4ICsxNjQsMTEgQEAgc3RydWN0IGRybV9p OTE1X2dlbV9vYmplY3QgewogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAjZGVmaW5lIEk5MTVfQk9f QUxMT0NfQ09OVElHVU9VUyBCSVQoMCkKICNkZWZpbmUgSTkxNV9CT19BTExPQ19WT0xBVElMRSAg IEJJVCgxKQotI2RlZmluZSBJOTE1X0JPX0FMTE9DX0ZMQUdTIChJOTE1X0JPX0FMTE9DX0NPTlRJ R1VPVVMgfCBJOTE1X0JPX0FMTE9DX1ZPTEFUSUxFKQotI2RlZmluZSBJOTE1X0JPX1JFQURPTkxZ ICAgICAgICAgQklUKDIpCisjZGVmaW5lIEk5MTVfQk9fQUxMT0NfU1RSVUNUX1BBR0UgQklUKDIp CisjZGVmaW5lIEk5MTVfQk9fQUxMT0NfRkxBR1MgKEk5MTVfQk9fQUxMT0NfQ09OVElHVU9VUyB8 IFwKKwkJCSAgICAgSTkxNV9CT19BTExPQ19WT0xBVElMRSB8IFwKKwkJCSAgICAgSTkxNV9CT19B TExPQ19TVFJVQ1RfUEFHRSkKKyNkZWZpbmUgSTkxNV9CT19SRUFET05MWSAgICAgICAgIEJJVCgz KQogCiAJLyoKIAkgKiBJcyB0aGUgb2JqZWN0IHRvIGJlIG1hcHBlZCBhcyByZWFkLW9ubHkgdG8g dGhlIEdQVQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3Bh Z2VzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fcGFnZXMuYwppbmRleCBj YTA3NjIwM2Y1ZTkuLjc5ODM0MjMyMzdlMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZ2VtL2k5MTVfZ2VtX3BhZ2VzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5 MTVfZ2VtX3BhZ2VzLmMKQEAgLTMyOCwxMyArMzI4LDEyIEBAIHZvaWQgKmk5MTVfZ2VtX29iamVj dF9waW5fbWFwKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCiAJCQkgICAgICBlbnVt IGk5MTVfbWFwX3R5cGUgdHlwZSkKIHsKIAllbnVtIGk5MTVfbWFwX3R5cGUgaGFzX3R5cGU7Ci0J dW5zaWduZWQgaW50IGZsYWdzOwogCWJvb2wgcGlubmVkOwogCXZvaWQgKnB0cjsKIAlpbnQgZXJy OwogCi0JZmxhZ3MgPSBJOTE1X0dFTV9PQkpFQ1RfSEFTX1NUUlVDVF9QQUdFIHwgSTkxNV9HRU1f T0JKRUNUX0hBU19JT01FTTsKLQlpZiAoIWk5MTVfZ2VtX29iamVjdF90eXBlX2hhcyhvYmosIGZs YWdzKSkKKwlpZiAoIWk5MTVfZ2VtX29iamVjdF9oYXNfc3RydWN0X3BhZ2Uob2JqKSAmJgorCSAg ICAhaTkxNV9nZW1fb2JqZWN0X3R5cGVfaGFzKG9iaiwgSTkxNV9HRU1fT0JKRUNUX0hBU19JT01F TSkpCiAJCXJldHVybiBFUlJfUFRSKC1FTlhJTyk7CiAKIAllcnIgPSBtdXRleF9sb2NrX2ludGVy cnVwdGlibGVfbmVzdGVkKCZvYmotPm1tLmxvY2ssIEk5MTVfTU1fR0VUX1BBR0VTKTsKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9waHlzLmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fcGh5cy5jCmluZGV4IDNhNGRmZTJlZjFkYS4uOTY1 NTkwZDNhNTcwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1f cGh5cy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9waHlzLmMKQEAg LTI0MCw2ICsyNDAsNyBAQCBpbnQgaTkxNV9nZW1fb2JqZWN0X2F0dGFjaF9waHlzKHN0cnVjdCBk cm1faTkxNV9nZW1fb2JqZWN0ICpvYmosIGludCBhbGlnbikKIAlwYWdlcyA9IF9faTkxNV9nZW1f b2JqZWN0X3Vuc2V0X3BhZ2VzKG9iaik7CiAKIAlvYmotPm9wcyA9ICZpOTE1X2dlbV9waHlzX29w czsKKwlvYmotPmZsYWdzICY9IH5JOTE1X0JPX0FMTE9DX1NUUlVDVF9QQUdFOwogCiAJZXJyID0g X19fX2k5MTVfZ2VtX29iamVjdF9nZXRfcGFnZXMob2JqKTsKIAlpZiAoZXJyKQpAQCAtMjU4LDYg KzI1OSw3IEBAIGludCBpOTE1X2dlbV9vYmplY3RfYXR0YWNoX3BoeXMoc3RydWN0IGRybV9pOTE1 X2dlbV9vYmplY3QgKm9iaiwgaW50IGFsaWduKQogCiBlcnJfeGZlcjoKIAlvYmotPm9wcyA9ICZp OTE1X2dlbV9zaG1lbV9vcHM7CisJb2JqLT5mbGFncyB8PSBJOTE1X0JPX0FMTE9DX1NUUlVDVF9Q QUdFOwogCWlmICghSVNfRVJSX09SX05VTEwocGFnZXMpKSB7CiAJCXVuc2lnbmVkIGludCBzZ19w YWdlX3NpemVzID0gaTkxNV9zZ19wYWdlX3NpemVzKHBhZ2VzLT5zZ2wpOwogCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fcmVnaW9uLmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fcmVnaW9uLmMKaW5kZXggMTUxNTM4NGQ3ZTBlLi42YTk2 NzQxMjUzYjMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9y ZWdpb24uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fcmVnaW9uLmMK QEAgLTEwMiwxMyArMTAyLDExIEBAIGk5MTVfZ2VtX29iamVjdF9nZXRfcGFnZXNfYnVkZHkoc3Ry dWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKIH0KIAogdm9pZCBpOTE1X2dlbV9vYmplY3Rf aW5pdF9tZW1vcnlfcmVnaW9uKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCi0JCQkJ CXN0cnVjdCBpbnRlbF9tZW1vcnlfcmVnaW9uICptZW0sCi0JCQkJCXVuc2lnbmVkIGxvbmcgZmxh Z3MpCisJCQkJCXN0cnVjdCBpbnRlbF9tZW1vcnlfcmVnaW9uICptZW0pCiB7CiAJSU5JVF9MSVNU X0hFQUQoJm9iai0+bW0uYmxvY2tzKTsKIAlvYmotPm1tLnJlZ2lvbiA9IGludGVsX21lbW9yeV9y ZWdpb25fZ2V0KG1lbSk7CiAKLQlvYmotPmZsYWdzIHw9IGZsYWdzOwogCWlmIChvYmotPmJhc2Uu c2l6ZSA8PSBtZW0tPm1pbl9wYWdlX3NpemUpCiAJCW9iai0+ZmxhZ3MgfD0gSTkxNV9CT19BTExP Q19DT05USUdVT1VTOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkx NV9nZW1fcmVnaW9uLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fcmVnaW9u LmgKaW5kZXggZjJmZjZmOGJmZjc0Li5lYmRkYzg2ZDc4ZjcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9yZWdpb24uaAorKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9nZW0vaTkxNV9nZW1fcmVnaW9uLmgKQEAgLTE3LDggKzE3LDcgQEAgdm9pZCBpOTE1X2dl bV9vYmplY3RfcHV0X3BhZ2VzX2J1ZGR5KHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmos CiAJCQkJICAgICBzdHJ1Y3Qgc2dfdGFibGUgKnBhZ2VzKTsKIAogdm9pZCBpOTE1X2dlbV9vYmpl Y3RfaW5pdF9tZW1vcnlfcmVnaW9uKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCi0J CQkJCXN0cnVjdCBpbnRlbF9tZW1vcnlfcmVnaW9uICptZW0sCi0JCQkJCXVuc2lnbmVkIGxvbmcg ZmxhZ3MpOworCQkJCQlzdHJ1Y3QgaW50ZWxfbWVtb3J5X3JlZ2lvbiAqbWVtKTsKIHZvaWQgaTkx NV9nZW1fb2JqZWN0X3JlbGVhc2VfbWVtb3J5X3JlZ2lvbihzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29i amVjdCAqb2JqKTsKIAogc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKgpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3NobWVtLmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9nZW0vaTkxNV9nZW1fc2htZW0uYwppbmRleCA3NWU4YjcxYzE4YjkuLjMxYzYxN2Ex MTE1ZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3NobWVt LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3NobWVtLmMKQEAgLTQz MCw4ICs0MzAsNyBAQCBzdGF0aWMgdm9pZCBzaG1lbV9yZWxlYXNlKHN0cnVjdCBkcm1faTkxNV9n ZW1fb2JqZWN0ICpvYmopCiAKIGNvbnN0IHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0X29wcyBp OTE1X2dlbV9zaG1lbV9vcHMgPSB7CiAJLm5hbWUgPSAiaTkxNV9nZW1fb2JqZWN0X3NobWVtIiwK LQkuZmxhZ3MgPSBJOTE1X0dFTV9PQkpFQ1RfSEFTX1NUUlVDVF9QQUdFIHwKLQkJIEk5MTVfR0VN X09CSkVDVF9JU19TSFJJTktBQkxFLAorCS5mbGFncyA9IEk5MTVfR0VNX09CSkVDVF9JU19TSFJJ TktBQkxFLAogCiAJLmdldF9wYWdlcyA9IHNobWVtX2dldF9wYWdlcywKIAkucHV0X3BhZ2VzID0g c2htZW1fcHV0X3BhZ2VzLApAQCAtNDk2LDcgKzQ5NSw4IEBAIGNyZWF0ZV9zaG1lbShzdHJ1Y3Qg aW50ZWxfbWVtb3J5X3JlZ2lvbiAqbWVtLAogCW1hcHBpbmdfc2V0X2dmcF9tYXNrKG1hcHBpbmcs IG1hc2spOwogCUdFTV9CVUdfT04oIShtYXBwaW5nX2dmcF9tYXNrKG1hcHBpbmcpICYgX19HRlBf UkVDTEFJTSkpOwogCi0JaTkxNV9nZW1fb2JqZWN0X2luaXQob2JqLCAmaTkxNV9nZW1fc2htZW1f b3BzLCAmbG9ja19jbGFzcyk7CisJaTkxNV9nZW1fb2JqZWN0X2luaXQob2JqLCAmaTkxNV9nZW1f c2htZW1fb3BzLCAmbG9ja19jbGFzcywKKwkJCSAgICAgSTkxNV9CT19BTExPQ19TVFJVQ1RfUEFH RSk7CiAKIAlvYmotPndyaXRlX2RvbWFpbiA9IEk5MTVfR0VNX0RPTUFJTl9DUFU7CiAJb2JqLT5y ZWFkX2RvbWFpbnMgPSBJOTE1X0dFTV9ET01BSU5fQ1BVOwpAQCAtNTIwLDcgKzUyMCw3IEBAIGNy ZWF0ZV9zaG1lbShzdHJ1Y3QgaW50ZWxfbWVtb3J5X3JlZ2lvbiAqbWVtLAogCiAJaTkxNV9nZW1f b2JqZWN0X3NldF9jYWNoZV9jb2hlcmVuY3kob2JqLCBjYWNoZV9sZXZlbCk7CiAKLQlpOTE1X2dl bV9vYmplY3RfaW5pdF9tZW1vcnlfcmVnaW9uKG9iaiwgbWVtLCAwKTsKKwlpOTE1X2dlbV9vYmpl Y3RfaW5pdF9tZW1vcnlfcmVnaW9uKG9iaiwgbWVtKTsKIAogCXJldHVybiBvYmo7CiAKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9zdG9sZW4uYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9zdG9sZW4uYwppbmRleCAyOWJmZmM2YWZjYzEu LjUzNzJiODg4YmEwMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVf Z2VtX3N0b2xlbi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9zdG9s ZW4uYwpAQCAtNjM2LDcgKzYzNiw3IEBAIF9faTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9zdG9sZW4o c3RydWN0IGludGVsX21lbW9yeV9yZWdpb24gKm1lbSwKIAkJZ290byBlcnI7CiAKIAlkcm1fZ2Vt X3ByaXZhdGVfb2JqZWN0X2luaXQoJm1lbS0+aTkxNS0+ZHJtLCAmb2JqLT5iYXNlLCBzdG9sZW4t PnNpemUpOwotCWk5MTVfZ2VtX29iamVjdF9pbml0KG9iaiwgJmk5MTVfZ2VtX29iamVjdF9zdG9s ZW5fb3BzLCAmbG9ja19jbGFzcyk7CisJaTkxNV9nZW1fb2JqZWN0X2luaXQob2JqLCAmaTkxNV9n ZW1fb2JqZWN0X3N0b2xlbl9vcHMsICZsb2NrX2NsYXNzLCAwKTsKIAogCW9iai0+c3RvbGVuID0g c3RvbGVuOwogCW9iai0+cmVhZF9kb21haW5zID0gSTkxNV9HRU1fRE9NQUlOX0NQVSB8IEk5MTVf R0VNX0RPTUFJTl9HVFQ7CkBAIC02NDcsNyArNjQ3LDcgQEAgX19pOTE1X2dlbV9vYmplY3RfY3Jl YXRlX3N0b2xlbihzdHJ1Y3QgaW50ZWxfbWVtb3J5X3JlZ2lvbiAqbWVtLAogCWlmIChlcnIpCiAJ CWdvdG8gY2xlYW51cDsKIAotCWk5MTVfZ2VtX29iamVjdF9pbml0X21lbW9yeV9yZWdpb24ob2Jq LCBtZW0sIDApOworCWk5MTVfZ2VtX29iamVjdF9pbml0X21lbW9yeV9yZWdpb24ob2JqLCBtZW0p OwogCiAJcmV0dXJuIG9iajsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2Vt L2k5MTVfZ2VtX3VzZXJwdHIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV91 c2VycHRyLmMKaW5kZXggZjJlYWVkNmFjYTNkLi4zMGVkYzVhMGE1NGUgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV91c2VycHRyLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3VzZXJwdHIuYwpAQCAtNzAyLDggKzcwMiw3IEBAIGk5 MTVfZ2VtX3VzZXJwdHJfZG1hYnVmX2V4cG9ydChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAq b2JqKQogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3Rfb3BzIGk5MTVf Z2VtX3VzZXJwdHJfb3BzID0gewogCS5uYW1lID0gImk5MTVfZ2VtX29iamVjdF91c2VycHRyIiwK LQkuZmxhZ3MgPSBJOTE1X0dFTV9PQkpFQ1RfSEFTX1NUUlVDVF9QQUdFIHwKLQkJIEk5MTVfR0VN X09CSkVDVF9JU19TSFJJTktBQkxFIHwKKwkuZmxhZ3MgPSBJOTE1X0dFTV9PQkpFQ1RfSVNfU0hS SU5LQUJMRSB8CiAJCSBJOTE1X0dFTV9PQkpFQ1RfTk9fTU1BUCB8CiAJCSBJOTE1X0dFTV9PQkpF Q1RfQVNZTkNfQ0FOQ0VMLAogCS5nZXRfcGFnZXMgPSBpOTE1X2dlbV91c2VycHRyX2dldF9wYWdl cywKQEAgLTgxMCw3ICs4MDksOCBAQCBpOTE1X2dlbV91c2VycHRyX2lvY3RsKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsCiAJCXJldHVybiAtRU5PTUVNOwogCiAJZHJtX2dlbV9wcml2YXRlX29iamVj dF9pbml0KGRldiwgJm9iai0+YmFzZSwgYXJncy0+dXNlcl9zaXplKTsKLQlpOTE1X2dlbV9vYmpl Y3RfaW5pdChvYmosICZpOTE1X2dlbV91c2VycHRyX29wcywgJmxvY2tfY2xhc3MpOworCWk5MTVf Z2VtX29iamVjdF9pbml0KG9iaiwgJmk5MTVfZ2VtX3VzZXJwdHJfb3BzLCAmbG9ja19jbGFzcywK KwkJCSAgICAgSTkxNV9CT19BTExPQ19TVFJVQ1RfUEFHRSk7CiAJb2JqLT5yZWFkX2RvbWFpbnMg PSBJOTE1X0dFTV9ET01BSU5fQ1BVOwogCW9iai0+d3JpdGVfZG9tYWluID0gSTkxNV9HRU1fRE9N QUlOX0NQVTsKIAlpOTE1X2dlbV9vYmplY3Rfc2V0X2NhY2hlX2NvaGVyZW5jeShvYmosIEk5MTVf Q0FDSEVfTExDKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9zZWxmdGVz dHMvaHVnZV9nZW1fb2JqZWN0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vc2VsZnRlc3Rz L2h1Z2VfZ2VtX29iamVjdC5jCmluZGV4IGE3NjhlYzYxZTk2Ni4uZGZhZDg2ZDc0ZGQwIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vc2VsZnRlc3RzL2h1Z2VfZ2VtX29iamVj dC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9zZWxmdGVzdHMvaHVnZV9nZW1fb2Jq ZWN0LmMKQEAgLTg5LDcgKzg5LDYgQEAgc3RhdGljIHZvaWQgaHVnZV9wdXRfcGFnZXMoc3RydWN0 IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKIAogc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1faTkx NV9nZW1fb2JqZWN0X29wcyBodWdlX29wcyA9IHsKIAkubmFtZSA9ICJodWdlLWdlbSIsCi0JLmZs YWdzID0gSTkxNV9HRU1fT0JKRUNUX0hBU19TVFJVQ1RfUEFHRSwKIAkuZ2V0X3BhZ2VzID0gaHVn ZV9nZXRfcGFnZXMsCiAJLnB1dF9wYWdlcyA9IGh1Z2VfcHV0X3BhZ2VzLAogfTsKQEAgLTExNSw3 ICsxMTQsOCBAQCBodWdlX2dlbV9vYmplY3Qoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUs CiAJCXJldHVybiBFUlJfUFRSKC1FTk9NRU0pOwogCiAJZHJtX2dlbV9wcml2YXRlX29iamVjdF9p bml0KCZpOTE1LT5kcm0sICZvYmotPmJhc2UsIGRtYV9zaXplKTsKLQlpOTE1X2dlbV9vYmplY3Rf aW5pdChvYmosICZodWdlX29wcywgJmxvY2tfY2xhc3MpOworCWk5MTVfZ2VtX29iamVjdF9pbml0 KG9iaiwgJmh1Z2Vfb3BzLCAmbG9ja19jbGFzcywKKwkJCSAgICAgSTkxNV9CT19BTExPQ19TVFJV Q1RfUEFHRSk7CiAKIAlvYmotPnJlYWRfZG9tYWlucyA9IEk5MTVfR0VNX0RPTUFJTl9DUFU7CiAJ b2JqLT53cml0ZV9kb21haW4gPSBJOTE1X0dFTV9ET01BSU5fQ1BVOwpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvZ2VtL3NlbGZ0ZXN0cy9odWdlX3BhZ2VzLmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9nZW0vc2VsZnRlc3RzL2h1Z2VfcGFnZXMuYwppbmRleCA3N2ExMzUyN2E3ZTYu LjcwOWM2M2I5Y2ZjNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL3NlbGZ0 ZXN0cy9odWdlX3BhZ2VzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL3NlbGZ0ZXN0 cy9odWdlX3BhZ2VzLmMKQEAgLTE0MCw4ICsxNDAsNyBAQCBzdGF0aWMgdm9pZCBwdXRfaHVnZV9w YWdlcyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAogCiBzdGF0aWMgY29uc3Qgc3Ry dWN0IGRybV9pOTE1X2dlbV9vYmplY3Rfb3BzIGh1Z2VfcGFnZV9vcHMgPSB7CiAJLm5hbWUgPSAi aHVnZS1nZW0iLAotCS5mbGFncyA9IEk5MTVfR0VNX09CSkVDVF9IQVNfU1RSVUNUX1BBR0UgfAot CQkgSTkxNV9HRU1fT0JKRUNUX0lTX1NIUklOS0FCTEUsCisJLmZsYWdzID0gSTkxNV9HRU1fT0JK RUNUX0lTX1NIUklOS0FCTEUsCiAJLmdldF9wYWdlcyA9IGdldF9odWdlX3BhZ2VzLAogCS5wdXRf cGFnZXMgPSBwdXRfaHVnZV9wYWdlcywKIH07CkBAIC0xNjgsNyArMTY3LDggQEAgaHVnZV9wYWdl c19vYmplY3Qoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsCiAJCXJldHVybiBFUlJfUFRS KC1FTk9NRU0pOwogCiAJZHJtX2dlbV9wcml2YXRlX29iamVjdF9pbml0KCZpOTE1LT5kcm0sICZv YmotPmJhc2UsIHNpemUpOwotCWk5MTVfZ2VtX29iamVjdF9pbml0KG9iaiwgJmh1Z2VfcGFnZV9v cHMsICZsb2NrX2NsYXNzKTsKKwlpOTE1X2dlbV9vYmplY3RfaW5pdChvYmosICZodWdlX3BhZ2Vf b3BzLCAmbG9ja19jbGFzcywKKwkJCSAgICAgSTkxNV9CT19BTExPQ19TVFJVQ1RfUEFHRSk7CiAK IAlpOTE1X2dlbV9vYmplY3Rfc2V0X3ZvbGF0aWxlKG9iaik7CiAKQEAgLTMxOSw5ICszMTksOSBA QCBmYWtlX2h1Z2VfcGFnZXNfb2JqZWN0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LCB1 NjQgc2l6ZSwgYm9vbCBzaW5nbGUpCiAJZHJtX2dlbV9wcml2YXRlX29iamVjdF9pbml0KCZpOTE1 LT5kcm0sICZvYmotPmJhc2UsIHNpemUpOwogCiAJaWYgKHNpbmdsZSkKLQkJaTkxNV9nZW1fb2Jq ZWN0X2luaXQob2JqLCAmZmFrZV9vcHNfc2luZ2xlLCAmbG9ja19jbGFzcyk7CisJCWk5MTVfZ2Vt X29iamVjdF9pbml0KG9iaiwgJmZha2Vfb3BzX3NpbmdsZSwgJmxvY2tfY2xhc3MsIDApOwogCWVs c2UKLQkJaTkxNV9nZW1fb2JqZWN0X2luaXQob2JqLCAmZmFrZV9vcHMsICZsb2NrX2NsYXNzKTsK KwkJaTkxNV9nZW1fb2JqZWN0X2luaXQob2JqLCAmZmFrZV9vcHMsICZsb2NrX2NsYXNzLCAwKTsK IAogCWk5MTVfZ2VtX29iamVjdF9zZXRfdm9sYXRpbGUob2JqKTsKIApkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvZ2VtL3NlbGZ0ZXN0cy9pOTE1X2dlbV9tbWFuLmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9nZW0vc2VsZnRlc3RzL2k5MTVfZ2VtX21tYW4uYwppbmRleCBkMjdkODdh Njc4YzguLjNhYzc2MjhmM2JjNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2Vt L3NlbGZ0ZXN0cy9pOTE1X2dlbV9tbWFuLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2Vt L3NlbGZ0ZXN0cy9pOTE1X2dlbV9tbWFuLmMKQEAgLTgzNCw5ICs4MzQsOCBAQCBzdGF0aWMgYm9v bCBjYW5fbW1hcChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLCBlbnVtIGk5MTVfbW1h cF90eXBlIHR5cGUpCiAJCXJldHVybiBmYWxzZTsKIAogCWlmICh0eXBlICE9IEk5MTVfTU1BUF9U WVBFX0dUVCAmJgotCSAgICAhaTkxNV9nZW1fb2JqZWN0X3R5cGVfaGFzKG9iaiwKLQkJCQkgICAg ICBJOTE1X0dFTV9PQkpFQ1RfSEFTX1NUUlVDVF9QQUdFIHwKLQkJCQkgICAgICBJOTE1X0dFTV9P QkpFQ1RfSEFTX0lPTUVNKSkKKwkgICAgIWk5MTVfZ2VtX29iamVjdF9oYXNfc3RydWN0X3BhZ2Uo b2JqKSAmJgorCSAgICAhaTkxNV9nZW1fb2JqZWN0X3R5cGVfaGFzKG9iaiwgSTkxNV9HRU1fT0JK RUNUX0hBU19JT01FTSkpCiAJCXJldHVybiBmYWxzZTsKIAogCXJldHVybiB0cnVlOwpAQCAtOTc2 LDEwICs5NzUsOCBAQCBzdGF0aWMgY29uc3QgY2hhciAqcmVwcl9tbWFwX3R5cGUoZW51bSBpOTE1 X21tYXBfdHlwZSB0eXBlKQogCiBzdGF0aWMgYm9vbCBjYW5fYWNjZXNzKGNvbnN0IHN0cnVjdCBk cm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCiB7Ci0JdW5zaWduZWQgaW50IGZsYWdzID0KLQkJSTkx NV9HRU1fT0JKRUNUX0hBU19TVFJVQ1RfUEFHRSB8IEk5MTVfR0VNX09CSkVDVF9IQVNfSU9NRU07 Ci0KLQlyZXR1cm4gaTkxNV9nZW1fb2JqZWN0X3R5cGVfaGFzKG9iaiwgZmxhZ3MpOworCXJldHVy biBpOTE1X2dlbV9vYmplY3RfaGFzX3N0cnVjdF9wYWdlKG9iaikgfHwKKwkgICAgICAgaTkxNV9n ZW1fb2JqZWN0X3R5cGVfaGFzKG9iaiwgSTkxNV9HRU1fT0JKRUNUX0hBU19JT01FTSk7CiB9CiAK IHN0YXRpYyBpbnQgX19pZ3RfbW1hcF9hY2Nlc3Moc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5 MTUsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vc2VsZnRlc3RzL2k5MTVf Z2VtX3BoeXMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9zZWxmdGVzdHMvaTkxNV9nZW1f cGh5cy5jCmluZGV4IDhjZWU2OGM2YTZkYy4uZmI2YTE3NzAxMzEwIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9nZW0vc2VsZnRlc3RzL2k5MTVfZ2VtX3BoeXMuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9nZW0vc2VsZnRlc3RzL2k5MTVfZ2VtX3BoeXMuYwpAQCAtMjUsMTIg KzI1LDI0IEBAIHN0YXRpYyBpbnQgbW9ja19waHlzX29iamVjdCh2b2lkICphcmcpCiAJCWdvdG8g b3V0OwogCX0KIAorCWlmICghaTkxNV9nZW1fb2JqZWN0X2hhc19zdHJ1Y3RfcGFnZShvYmopKSB7 CisJCWVyciA9IC1FSU5WQUw7CisJCXByX2Vycigic2htZW0gaGFzIG5vIHN0cnVjdCBwYWdlXG4i KTsKKwkJZ290byBvdXRfb2JqOworCX0KKwogCWVyciA9IGk5MTVfZ2VtX29iamVjdF9hdHRhY2hf cGh5cyhvYmosIFBBR0VfU0laRSk7CiAJaWYgKGVycikgewogCQlwcl9lcnIoImk5MTVfZ2VtX29i amVjdF9hdHRhY2hfcGh5cyBmYWlsZWQsIGVycj0lZFxuIiwgZXJyKTsKIAkJZ290byBvdXRfb2Jq OwogCX0KIAorCWlmIChpOTE1X2dlbV9vYmplY3RfaGFzX3N0cnVjdF9wYWdlKG9iaikpIHsKKwkJ ZXJyID0gLUVJTlZBTDsKKwkJcHJfZXJyKCJzaG1lbSBoYXMgYSBzdHJ1Y3QgcGFnZVxuIik7CisJ CWdvdG8gb3V0X29iajsKKwl9CisKIAlpZiAob2JqLT5vcHMgIT0gJmk5MTVfZ2VtX3BoeXNfb3Bz KSB7CiAJCXByX2VycigiaTkxNV9nZW1fb2JqZWN0X2F0dGFjaF9waHlzIGRpZCBub3QgY3JlYXRl IGEgcGh5cyBvYmplY3RcbiIpOwogCQllcnIgPSAtRUlOVkFMOwpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZ3Z0L2RtYWJ1Zi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L2Rt YWJ1Zi5jCmluZGV4IGMzZWIzODM4ZmU4OC4uZDRmODgzZjM1Yjk1IDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9ndnQvZG1hYnVmLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv Z3Z0L2RtYWJ1Zi5jCkBAIC0yMTgsNyArMjE4LDcgQEAgc3RhdGljIHN0cnVjdCBkcm1faTkxNV9n ZW1fb2JqZWN0ICp2Z3B1X2NyZWF0ZV9nZW0oc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAogCWRy bV9nZW1fcHJpdmF0ZV9vYmplY3RfaW5pdChkZXYsICZvYmotPmJhc2UsCiAJCXJvdW5kdXAoaW5m by0+c2l6ZSwgUEFHRV9TSVpFKSk7Ci0JaTkxNV9nZW1fb2JqZWN0X2luaXQob2JqLCAmaW50ZWxf dmdwdV9nZW1fb3BzLCAmbG9ja19jbGFzcyk7CisJaTkxNV9nZW1fb2JqZWN0X2luaXQob2JqLCAm aW50ZWxfdmdwdV9nZW1fb3BzLCAmbG9ja19jbGFzcywgMCk7CiAJaTkxNV9nZW1fb2JqZWN0X3Nl dF9yZWFkb25seShvYmopOwogCiAJb2JqLT5yZWFkX2RvbWFpbnMgPSBJOTE1X0dFTV9ET01BSU5f R1RUOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfZ2Vt X2d0dC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfZ2VtX2d0dC5jCmlu ZGV4IGM1M2EyMjJlM2RlYy4uMmNmZTk5Yzc5MDM0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9nZW1fZ3R0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvc2VsZnRlc3RzL2k5MTVfZ2VtX2d0dC5jCkBAIC0xMjAsNyArMTIwLDcgQEAgZmFrZV9kbWFf b2JqZWN0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LCB1NjQgc2l6ZSkKIAkJZ290byBl cnI7CiAKIAlkcm1fZ2VtX3ByaXZhdGVfb2JqZWN0X2luaXQoJmk5MTUtPmRybSwgJm9iai0+YmFz ZSwgc2l6ZSk7Ci0JaTkxNV9nZW1fb2JqZWN0X2luaXQob2JqLCAmZmFrZV9vcHMsICZsb2NrX2Ns YXNzKTsKKwlpOTE1X2dlbV9vYmplY3RfaW5pdChvYmosICZmYWtlX29wcywgJmxvY2tfY2xhc3Ms IDApOwogCiAJaTkxNV9nZW1fb2JqZWN0X3NldF92b2xhdGlsZShvYmopOwogCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvbW9ja19yZWdpb24uYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9tb2NrX3JlZ2lvbi5jCmluZGV4IDk3OWQ5NmYyN2M0My4u YjA0NmJkMWE5YWQzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMv bW9ja19yZWdpb24uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvbW9ja19y ZWdpb24uYwpAQCAtMzIsMTMgKzMyLDEzIEBAIG1vY2tfb2JqZWN0X2NyZWF0ZShzdHJ1Y3QgaW50 ZWxfbWVtb3J5X3JlZ2lvbiAqbWVtLAogCQlyZXR1cm4gRVJSX1BUUigtRU5PTUVNKTsKIAogCWRy bV9nZW1fcHJpdmF0ZV9vYmplY3RfaW5pdCgmaTkxNS0+ZHJtLCAmb2JqLT5iYXNlLCBzaXplKTsK LQlpOTE1X2dlbV9vYmplY3RfaW5pdChvYmosICZtb2NrX3JlZ2lvbl9vYmpfb3BzLCAmbG9ja19j bGFzcyk7CisJaTkxNV9nZW1fb2JqZWN0X2luaXQob2JqLCAmbW9ja19yZWdpb25fb2JqX29wcywg JmxvY2tfY2xhc3MsIGZsYWdzKTsKIAogCW9iai0+cmVhZF9kb21haW5zID0gSTkxNV9HRU1fRE9N QUlOX0NQVSB8IEk5MTVfR0VNX0RPTUFJTl9HVFQ7CiAKIAlpOTE1X2dlbV9vYmplY3Rfc2V0X2Nh Y2hlX2NvaGVyZW5jeShvYmosIEk5MTVfQ0FDSEVfTk9ORSk7CiAKLQlpOTE1X2dlbV9vYmplY3Rf aW5pdF9tZW1vcnlfcmVnaW9uKG9iaiwgbWVtLCBmbGFncyk7CisJaTkxNV9nZW1fb2JqZWN0X2lu aXRfbWVtb3J5X3JlZ2lvbihvYmosIG1lbSk7CiAKIAlyZXR1cm4gb2JqOwogfQotLSAKMi4yNi4y CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2 ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK