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=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 805B2C63777 for ; Fri, 27 Nov 2020 12:08:20 +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 313F921D81 for ; Fri, 27 Nov 2020 12:08:20 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 313F921D81 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 064036EC16; Fri, 27 Nov 2020 12:08:01 +0000 (UTC) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1C5386EC02; Fri, 27 Nov 2020 12:07:58 +0000 (UTC) IronPort-SDR: VI7f21OlEL+F4WNu8CKdbOjpd0vOHBJfeIo9wpHLXPDrmpKtbS0px9vCVc+r8v7lcmR8aiYhka SDFtJONkb4KA== X-IronPort-AV: E=McAfee;i="6000,8403,9817"; a="168883389" X-IronPort-AV: E=Sophos;i="5.78,374,1599548400"; d="scan'208";a="168883389" 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:57 -0800 IronPort-SDR: i5Qv08+HfuUQ05v5c3DDifANXIdmrpCPVU2is79xe37MQbVEzSagmBp054TUkTnh60vqL57wuj k59uys5gLTpw== X-IronPort-AV: E=Sophos;i="5.78,374,1599548400"; d="scan'208";a="548028603" 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:56 -0800 From: Matthew Auld To: intel-gfx@lists.freedesktop.org Subject: [RFC PATCH 017/162] drm/i915: Rework struct phys attachment handling Date: Fri, 27 Nov 2020 12:04:53 +0000 Message-Id: <20201127120718.454037-18-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 bT4KCkluc3RlYWQgb2YgY3JlYXRpbmcgYSBzZXBhcmF0ZSBvYmplY3QgdHlwZSwgd2UgbWFrZSBj aGFuZ2VzIHRvCnRoZSBzaG1lbSB0eXBlLCB0byBjbGVhciBzdHJ1Y3QgcGFnZSBiYWNraW5nLiBU aGlzIHdpbGwgYWxsb3cgdXMgdG8KZW5zdXJlIHdlIG5ldmVyIHJ1biBpbnRvIGEgcmFjZSB3aGVu IHdlIGV4Y2hhbmdlIG9iai0+b3BzIHdpdGggb3RoZXIKZnVuY3Rpb24gcG9pbnRlcnMuCgpTaWdu ZWQtb2ZmLWJ5OiBNYWFydGVuIExhbmtob3JzdCA8bWFhcnRlbi5sYW5raG9yc3RAbGludXguaW50 ZWwuY29tPgpDYzogVGhvbWFzIEhlbGxzdHLDtm0gPHRob21hcy5oZWxsc3Ryb21AbGludXguaW50 ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9vYmplY3QuaCAg ICB8ICAgOCArKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3BoeXMuYyAgICAg IHwgMTAyICsrKysrKysrKy0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVf Z2VtX3NobWVtLmMgICAgIHwgIDIyICsrKy0KIC4uLi9kcm0vaTkxNS9nZW0vc2VsZnRlc3RzL2k5 MTVfZ2VtX3BoeXMuYyAgICB8ICAgNiAtLQogNCBmaWxlcyBjaGFuZ2VkLCA3OCBpbnNlcnRpb25z KCspLCA2MCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9n ZW0vaTkxNV9nZW1fb2JqZWN0LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1f b2JqZWN0LmgKaW5kZXggMTY2MDhiZjdhNGU5Li5lNTQ5Yjg4NjkzYTIgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9vYmplY3QuaAorKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fb2JqZWN0LmgKQEAgLTM3LDcgKzM3LDE1IEBAIHZvaWQg X19pOTE1X2dlbV9vYmplY3RfcmVsZWFzZV9zaG1lbShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVj dCAqb2JqLAogCQkJCSAgICAgc3RydWN0IHNnX3RhYmxlICpwYWdlcywKIAkJCQkgICAgIGJvb2wg bmVlZHNfY2xmbHVzaCk7CiAKK2ludCBpOTE1X2dlbV9vYmplY3RfcHdyaXRlX3BoeXMoc3RydWN0 IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKKwkJCQljb25zdCBzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X3B3cml0ZSAqYXJncyk7CitpbnQgaTkxNV9nZW1fb2JqZWN0X3ByZWFkX3BoeXMoc3RydWN0IGRy bV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKKwkJCSAgICAgICBjb25zdCBzdHJ1Y3QgZHJtX2k5MTVf Z2VtX3ByZWFkICphcmdzKTsKKwogaW50IGk5MTVfZ2VtX29iamVjdF9hdHRhY2hfcGh5cyhzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLCBpbnQgYWxpZ24pOwordm9pZCBpOTE1X2dlbV9v YmplY3RfcHV0X3BhZ2VzX3BoeXMoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKKwkJ CQkgICAgc3RydWN0IHNnX3RhYmxlICpwYWdlcyk7CisKIAogdm9pZCBpOTE1X2dlbV9mbHVzaF9m cmVlX29iamVjdHMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpOwogCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fcGh5cy5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3BoeXMuYwppbmRleCA5NjU1OTBkM2E1NzAuLjRiZGQwNDI5 YzA4YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3BoeXMu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fcGh5cy5jCkBAIC03Niw2 ICs3Niw4IEBAIHN0YXRpYyBpbnQgaTkxNV9nZW1fb2JqZWN0X2dldF9wYWdlc19waHlzKHN0cnVj dCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCiAKIAlpbnRlbF9ndF9jaGlwc2V0X2ZsdXNoKCZ0 b19pOTE1KG9iai0+YmFzZS5kZXYpLT5ndCk7CiAKKwkvKiBXZSdyZSBubyBsb25nZXIgc3RydWN0 IHBhZ2UgYmFja2VkICovCisJb2JqLT5mbGFncyAmPSB+STkxNV9CT19BTExPQ19TVFJVQ1RfUEFH RTsKIAlfX2k5MTVfZ2VtX29iamVjdF9zZXRfcGFnZXMob2JqLCBzdCwgc2ctPmxlbmd0aCk7CiAK IAlyZXR1cm4gMDsKQEAgLTg5LDcgKzkxLDcgQEAgc3RhdGljIGludCBpOTE1X2dlbV9vYmplY3Rf Z2V0X3BhZ2VzX3BoeXMoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKIAlyZXR1cm4g LUVOT01FTTsKIH0KIAotc3RhdGljIHZvaWQKK3ZvaWQKIGk5MTVfZ2VtX29iamVjdF9wdXRfcGFn ZXNfcGh5cyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAogCQkJICAgICAgIHN0cnVj dCBzZ190YWJsZSAqcGFnZXMpCiB7CkBAIC0xMzQsOSArMTM2LDggQEAgaTkxNV9nZW1fb2JqZWN0 X3B1dF9wYWdlc19waHlzKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCiAJCQkgIHZh ZGRyLCBkbWEpOwogfQogCi1zdGF0aWMgaW50Ci1waHlzX3B3cml0ZShzdHJ1Y3QgZHJtX2k5MTVf Z2VtX29iamVjdCAqb2JqLAotCSAgICBjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3B3cml0ZSAq YXJncykKK2ludCBpOTE1X2dlbV9vYmplY3RfcHdyaXRlX3BoeXMoc3RydWN0IGRybV9pOTE1X2dl bV9vYmplY3QgKm9iaiwKKwkJCQljb25zdCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3B3cml0ZSAqYXJn cykKIHsKIAl2b2lkICp2YWRkciA9IHNnX3BhZ2Uob2JqLT5tbS5wYWdlcy0+c2dsKSArIGFyZ3Mt Pm9mZnNldDsKIAljaGFyIF9fdXNlciAqdXNlcl9kYXRhID0gdTY0X3RvX3VzZXJfcHRyKGFyZ3Mt PmRhdGFfcHRyKTsKQEAgLTE2NSw5ICsxNjYsOCBAQCBwaHlzX3B3cml0ZShzdHJ1Y3QgZHJtX2k5 MTVfZ2VtX29iamVjdCAqb2JqLAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50Ci1waHlzX3By ZWFkKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCi0JICAgY29uc3Qgc3RydWN0IGRy bV9pOTE1X2dlbV9wcmVhZCAqYXJncykKK2ludCBpOTE1X2dlbV9vYmplY3RfcHJlYWRfcGh5cyhz dHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAorCQkJICAgICAgIGNvbnN0IHN0cnVjdCBk cm1faTkxNV9nZW1fcHJlYWQgKmFyZ3MpCiB7CiAJdm9pZCAqdmFkZHIgPSBzZ19wYWdlKG9iai0+ bW0ucGFnZXMtPnNnbCkgKyBhcmdzLT5vZmZzZXQ7CiAJY2hhciBfX3VzZXIgKnVzZXJfZGF0YSA9 IHU2NF90b191c2VyX3B0cihhcmdzLT5kYXRhX3B0cik7CkBAIC0xODYsODYgKzE4Niw4MiBAQCBw aHlzX3ByZWFkKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCiAJcmV0dXJuIDA7CiB9 CiAKLXN0YXRpYyB2b2lkIHBoeXNfcmVsZWFzZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAq b2JqKQorc3RhdGljIGludCBpOTE1X2dlbV9vYmplY3Rfc2htZW1fdG9fcGh5cyhzdHJ1Y3QgZHJt X2k5MTVfZ2VtX29iamVjdCAqb2JqKQogewotCWZwdXQob2JqLT5iYXNlLmZpbHApOwotfQorCXN0 cnVjdCBzZ190YWJsZSAqcGFnZXM7CisJaW50IGVycjsKIAotc3RhdGljIGNvbnN0IHN0cnVjdCBk cm1faTkxNV9nZW1fb2JqZWN0X29wcyBpOTE1X2dlbV9waHlzX29wcyA9IHsKLQkubmFtZSA9ICJp OTE1X2dlbV9vYmplY3RfcGh5cyIsCi0JLmdldF9wYWdlcyA9IGk5MTVfZ2VtX29iamVjdF9nZXRf cGFnZXNfcGh5cywKLQkucHV0X3BhZ2VzID0gaTkxNV9nZW1fb2JqZWN0X3B1dF9wYWdlc19waHlz LAorCXBhZ2VzID0gX19pOTE1X2dlbV9vYmplY3RfdW5zZXRfcGFnZXMob2JqKTsKKworCWVyciA9 IGk5MTVfZ2VtX29iamVjdF9nZXRfcGFnZXNfcGh5cyhvYmopOworCWlmIChlcnIpCisJCWdvdG8g ZXJyX3hmZXI7CiAKLQkucHJlYWQgID0gcGh5c19wcmVhZCwKLQkucHdyaXRlID0gcGh5c19wd3Jp dGUsCisJLyogUGVybWEtcGluICh1bnRpbCByZWxlYXNlKSB0aGUgcGh5c2ljYWwgc2V0IG9mIHBh Z2VzICovCisJX19pOTE1X2dlbV9vYmplY3RfcGluX3BhZ2VzKG9iaik7CiAKLQkucmVsZWFzZSA9 IHBoeXNfcmVsZWFzZSwKLX07CisJaWYgKCFJU19FUlJfT1JfTlVMTChwYWdlcykpCisJCWk5MTVf Z2VtX3NobWVtX29wcy5wdXRfcGFnZXMob2JqLCBwYWdlcyk7CisKKwlpOTE1X2dlbV9vYmplY3Rf cmVsZWFzZV9tZW1vcnlfcmVnaW9uKG9iaik7CisJcmV0dXJuIDA7CisKK2Vycl94ZmVyOgorCWlm ICghSVNfRVJSX09SX05VTEwocGFnZXMpKSB7CisJCXVuc2lnbmVkIGludCBzZ19wYWdlX3NpemVz ID0gaTkxNV9zZ19wYWdlX3NpemVzKHBhZ2VzLT5zZ2wpOworCisJCV9faTkxNV9nZW1fb2JqZWN0 X3NldF9wYWdlcyhvYmosIHBhZ2VzLCBzZ19wYWdlX3NpemVzKTsKKwl9CisJcmV0dXJuIGVycjsK K30KIAogaW50IGk5MTVfZ2VtX29iamVjdF9hdHRhY2hfcGh5cyhzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X29iamVjdCAqb2JqLCBpbnQgYWxpZ24pCiB7Ci0Jc3RydWN0IHNnX3RhYmxlICpwYWdlczsKIAlp bnQgZXJyOwogCiAJaWYgKGFsaWduID4gb2JqLT5iYXNlLnNpemUpCiAJCXJldHVybiAtRUlOVkFM OwogCi0JaWYgKG9iai0+b3BzID09ICZpOTE1X2dlbV9waHlzX29wcykKLQkJcmV0dXJuIDA7Ci0K IAlpZiAob2JqLT5vcHMgIT0gJmk5MTVfZ2VtX3NobWVtX29wcykKIAkJcmV0dXJuIC1FSU5WQUw7 CiAKKwlpZiAoIWk5MTVfZ2VtX29iamVjdF9oYXNfc3RydWN0X3BhZ2Uob2JqKSkKKwkJcmV0dXJu IDA7CisKIAllcnIgPSBpOTE1X2dlbV9vYmplY3RfdW5iaW5kKG9iaiwgSTkxNV9HRU1fT0JKRUNU X1VOQklORF9BQ1RJVkUpOwogCWlmIChlcnIpCiAJCXJldHVybiBlcnI7CiAKIAltdXRleF9sb2Nr X25lc3RlZCgmb2JqLT5tbS5sb2NrLCBJOTE1X01NX0dFVF9QQUdFUyk7CiAKKwlpZiAodW5saWtl bHkoIWk5MTVfZ2VtX29iamVjdF9oYXNfc3RydWN0X3BhZ2Uob2JqKSkpCisJCWdvdG8gb3V0Owor CiAJaWYgKG9iai0+bW0ubWFkdiAhPSBJOTE1X01BRFZfV0lMTE5FRUQpIHsKIAkJZXJyID0gLUVG QVVMVDsKLQkJZ290byBlcnJfdW5sb2NrOworCQlnb3RvIG91dDsKIAl9CiAKIAlpZiAob2JqLT5t bS5xdWlya2VkKSB7CiAJCWVyciA9IC1FRkFVTFQ7Ci0JCWdvdG8gZXJyX3VubG9jazsKKwkJZ290 byBvdXQ7CiAJfQogCi0JaWYgKG9iai0+bW0ubWFwcGluZykgeworCWlmIChvYmotPm1tLm1hcHBp bmcgfHwgaTkxNV9nZW1fb2JqZWN0X2hhc19waW5uZWRfcGFnZXMob2JqKSkgewogCQllcnIgPSAt RUJVU1k7Ci0JCWdvdG8gZXJyX3VubG9jazsKKwkJZ290byBvdXQ7CiAJfQogCi0JcGFnZXMgPSBf X2k5MTVfZ2VtX29iamVjdF91bnNldF9wYWdlcyhvYmopOwotCi0Jb2JqLT5vcHMgPSAmaTkxNV9n ZW1fcGh5c19vcHM7Ci0Jb2JqLT5mbGFncyAmPSB+STkxNV9CT19BTExPQ19TVFJVQ1RfUEFHRTsK LQotCWVyciA9IF9fX19pOTE1X2dlbV9vYmplY3RfZ2V0X3BhZ2VzKG9iaik7Ci0JaWYgKGVycikK LQkJZ290byBlcnJfeGZlcjsKLQotCS8qIFBlcm1hLXBpbiAodW50aWwgcmVsZWFzZSkgdGhlIHBo eXNpY2FsIHNldCBvZiBwYWdlcyAqLwotCV9faTkxNV9nZW1fb2JqZWN0X3Bpbl9wYWdlcyhvYmop OwotCi0JaWYgKCFJU19FUlJfT1JfTlVMTChwYWdlcykpCi0JCWk5MTVfZ2VtX3NobWVtX29wcy5w dXRfcGFnZXMob2JqLCBwYWdlcyk7Ci0KLQlpOTE1X2dlbV9vYmplY3RfcmVsZWFzZV9tZW1vcnlf cmVnaW9uKG9iaik7Ci0KLQltdXRleF91bmxvY2soJm9iai0+bW0ubG9jayk7Ci0JcmV0dXJuIDA7 CisJaWYgKHVubGlrZWx5KG9iai0+bW0ubWFkdiAhPSBJOTE1X01BRFZfV0lMTE5FRUQpKSB7CisJ CWRybV9kYmcob2JqLT5iYXNlLmRldiwKKwkJCSJBdHRlbXB0aW5nIHRvIG9idGFpbiBhIHB1cmdl YWJsZSBvYmplY3RcbiIpOworCQllcnIgPSAtRUZBVUxUOworCQlnb3RvIG91dDsKKwl9CiAKLWVy cl94ZmVyOgotCW9iai0+b3BzID0gJmk5MTVfZ2VtX3NobWVtX29wczsKLQlvYmotPmZsYWdzIHw9 IEk5MTVfQk9fQUxMT0NfU1RSVUNUX1BBR0U7Ci0JaWYgKCFJU19FUlJfT1JfTlVMTChwYWdlcykp IHsKLQkJdW5zaWduZWQgaW50IHNnX3BhZ2Vfc2l6ZXMgPSBpOTE1X3NnX3BhZ2Vfc2l6ZXMocGFn ZXMtPnNnbCk7CisJZXJyID0gaTkxNV9nZW1fb2JqZWN0X3NobWVtX3RvX3BoeXMob2JqKTsKIAot CQlfX2k5MTVfZ2VtX29iamVjdF9zZXRfcGFnZXMob2JqLCBwYWdlcywgc2dfcGFnZV9zaXplcyk7 Ci0JfQotZXJyX3VubG9jazoKK291dDoKIAltdXRleF91bmxvY2soJm9iai0+bW0ubG9jayk7CiAJ cmV0dXJuIGVycjsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1 X2dlbV9zaG1lbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3NobWVtLmMK aW5kZXggMzFjNjE3YTExMTVmLi5kNTkwZTBjM2JkMDAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9zaG1lbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2dlbS9pOTE1X2dlbV9zaG1lbS5jCkBAIC0zMDMsNiArMzAzLDExIEBAIHNobWVtX3B1dF9wYWdl cyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLCBzdHJ1Y3Qgc2dfdGFibGUgKnBhZ2Vz KQogCXN0cnVjdCBwYWdldmVjIHB2ZWM7CiAJc3RydWN0IHBhZ2UgKnBhZ2U7CiAKKwlpZiAodW5s aWtlbHkoIWk5MTVfZ2VtX29iamVjdF9oYXNfc3RydWN0X3BhZ2Uob2JqKSkpIHsKKwkJaTkxNV9n ZW1fb2JqZWN0X3B1dF9wYWdlc19waHlzKG9iaiwgcGFnZXMpOworCQlyZXR1cm47CisJfQorCiAJ X19pOTE1X2dlbV9vYmplY3RfcmVsZWFzZV9zaG1lbShvYmosIHBhZ2VzLCB0cnVlKTsKIAogCWk5 MTVfZ2VtX2d0dF9maW5pc2hfcGFnZXMob2JqLCBwYWdlcyk7CkBAIC0zNDMsNiArMzQ4LDkgQEAg c2htZW1fcHdyaXRlKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCiAJLyogQ2FsbGVy IGFscmVhZHkgdmFsaWRhdGVkIHVzZXIgYXJncyAqLwogCUdFTV9CVUdfT04oIWFjY2Vzc19vayh1 c2VyX2RhdGEsIGFyZy0+c2l6ZSkpOwogCisJaWYgKCFpOTE1X2dlbV9vYmplY3RfaGFzX3N0cnVj dF9wYWdlKG9iaikpCisJCXJldHVybiBpOTE1X2dlbV9vYmplY3RfcHdyaXRlX3BoeXMob2JqLCBh cmcpOworCiAJLyoKIAkgKiBCZWZvcmUgd2UgaW5zdGFudGlhdGUvcGluIHRoZSBiYWNraW5nIHN0 b3JlIGZvciBvdXIgdXNlLCB3ZQogCSAqIGNhbiBwcmVwb3B1bGF0ZSB0aGUgc2htZW1mcyBmaWxw IGVmZmljaWVudGx5IHVzaW5nIGEgd3JpdGUgaW50bwpAQCAtNDIxLDkgKzQyOSwyMCBAQCBzaG1l bV9wd3JpdGUoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKIAlyZXR1cm4gMDsKIH0K IAorc3RhdGljIGludAorc2htZW1fcHJlYWQoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9i aiwKKwkgICAgY29uc3Qgc3RydWN0IGRybV9pOTE1X2dlbV9wcmVhZCAqYXJnKQoreworCWlmICgh aTkxNV9nZW1fb2JqZWN0X2hhc19zdHJ1Y3RfcGFnZShvYmopKQorCQlyZXR1cm4gaTkxNV9nZW1f b2JqZWN0X3ByZWFkX3BoeXMob2JqLCBhcmcpOworCisJcmV0dXJuIC1FTk9ERVY7Cit9CisKIHN0 YXRpYyB2b2lkIHNobWVtX3JlbGVhc2Uoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikK IHsKLQlpOTE1X2dlbV9vYmplY3RfcmVsZWFzZV9tZW1vcnlfcmVnaW9uKG9iaik7CisJaWYgKG9i ai0+ZmxhZ3MgJiBJOTE1X0JPX0FMTE9DX1NUUlVDVF9QQUdFKQorCQlpOTE1X2dlbV9vYmplY3Rf cmVsZWFzZV9tZW1vcnlfcmVnaW9uKG9iaik7CiAKIAlmcHV0KG9iai0+YmFzZS5maWxwKTsKIH0K QEAgLTQzOCw2ICs0NTcsNyBAQCBjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdF9vcHMg aTkxNV9nZW1fc2htZW1fb3BzID0gewogCS53cml0ZWJhY2sgPSBzaG1lbV93cml0ZWJhY2ssCiAK IAkucHdyaXRlID0gc2htZW1fcHdyaXRlLAorCS5wcmVhZCA9IHNobWVtX3ByZWFkLAogCiAJLnJl bGVhc2UgPSBzaG1lbV9yZWxlYXNlLAogfTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2dlbS9zZWxmdGVzdHMvaTkxNV9nZW1fcGh5cy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv Z2VtL3NlbGZ0ZXN0cy9pOTE1X2dlbV9waHlzLmMKaW5kZXggZmI2YTE3NzAxMzEwLi4wY2ZhMDgy MDQ3ZmUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9zZWxmdGVzdHMvaTkx NV9nZW1fcGh5cy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9zZWxmdGVzdHMvaTkx NV9nZW1fcGh5cy5jCkBAIC0zOCwxMiArMzgsNiBAQCBzdGF0aWMgaW50IG1vY2tfcGh5c19vYmpl Y3Qodm9pZCAqYXJnKQogCX0KIAogCWlmIChpOTE1X2dlbV9vYmplY3RfaGFzX3N0cnVjdF9wYWdl KG9iaikpIHsKLQkJZXJyID0gLUVJTlZBTDsKLQkJcHJfZXJyKCJzaG1lbSBoYXMgYSBzdHJ1Y3Qg cGFnZVxuIik7Ci0JCWdvdG8gb3V0X29iajsKLQl9Ci0KLQlpZiAob2JqLT5vcHMgIT0gJmk5MTVf Z2VtX3BoeXNfb3BzKSB7CiAJCXByX2VycigiaTkxNV9nZW1fb2JqZWN0X2F0dGFjaF9waHlzIGRp ZCBub3QgY3JlYXRlIGEgcGh5cyBvYmplY3RcbiIpOwogCQllcnIgPSAtRUlOVkFMOwogCQlnb3Rv IG91dF9vYmo7Ci0tIAoyLjI2LjIKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2RyaS1kZXZlbAo=