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 88983C64E75 for ; Fri, 27 Nov 2020 12:11:04 +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 24C1B21D81 for ; Fri, 27 Nov 2020 12:11:04 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 24C1B21D81 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 4B4546EC8E; Fri, 27 Nov 2020 12:09:38 +0000 (UTC) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id B81AA6EC8E; Fri, 27 Nov 2020 12:09:35 +0000 (UTC) IronPort-SDR: 62pBeeZ5DEsRj5XtHXdiCwna66e+49lkdK1Ss2SbKOhokpRoP0vS4Ei6zbHlgyKgbvUlDQHQRL 1+W+R+Jmwlzg== X-IronPort-AV: E=McAfee;i="6000,8403,9817"; a="172540686" X-IronPort-AV: E=Sophos;i="5.78,374,1599548400"; d="scan'208";a="172540686" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Nov 2020 04:09:35 -0800 IronPort-SDR: lrNJ8HXtA29WQWwXcF5mEqNgaMnCSE0ByluxgW8+iQRyXXuLPui0y7Q6AXsm3ZlZTD8cv46BIa yPfQAYkf+DBQ== X-IronPort-AV: E=Sophos;i="5.78,374,1599548400"; d="scan'208";a="548028999" 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:09:33 -0800 From: Matthew Auld To: intel-gfx@lists.freedesktop.org Subject: [RFC PATCH 070/162] drm/i915: Finally remove obj->mm.lock. Date: Fri, 27 Nov 2020 12:05:46 +0000 Message-Id: <20201127120718.454037-71-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 bT4KCldpdGggYWxsIGNhbGxlcnMgYW5kIHNlbGZ0ZXN0cyBmaXhlZCB0byB1c2Ugd3cgbG9ja2lu Zywgd2UgY2FuIG5vdwpmaW5hbGx5IHJlbW92ZSB0aGlzIGxvY2suCgpTaWduZWQtb2ZmLWJ5OiBN YWFydGVuIExhbmtob3JzdCA8bWFhcnRlbi5sYW5raG9yc3RAbGludXguaW50ZWwuY29tPgpDYzog VGhvbWFzIEhlbGxzdHLDtm0gPHRob21hcy5oZWxsc3Ryb21AbGludXguaW50ZWwuY29tPgotLS0K IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9vYmplY3QuYyAgICB8ICAyIC0KIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9vYmplY3QuaCAgICB8ICA3ICsrLS0KIC4u Li9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVjdF90eXBlcy5oICB8ICAxIC0KIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9wYWdlcy5jICAgICB8IDM4ICsrKystLS0tLS0t LS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9waHlzLmMgICAgICB8 IDM0ICsrKystLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1f c2htZW0uYyAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3No cmlua2VyLmMgIHwgMzcgKysrKysrKysrKysrKy0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9n ZW0vaTkxNV9nZW1fc2hyaW5rZXIuaCAgfCAgNCArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2Vt L2k5MTVfZ2VtX3RpbGluZy5jICAgIHwgIDIgLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5 MTVfZ2VtX3VzZXJwdHIuYyAgIHwgIDMgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVi dWdmcy5jICAgICAgICAgICB8ICA0ICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5j ICAgICAgICAgICAgICAgfCAgOCArLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9n dHQuYyAgICAgICAgICAgfCAgMiArLQogMTMgZmlsZXMgY2hhbmdlZCwgNTQgaW5zZXJ0aW9ucygr KSwgOTAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2Vt L2k5MTVfZ2VtX29iamVjdC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29i amVjdC5jCmluZGV4IDAyOGE1NTZhYjFhNS4uMDhkODA2YmJmNDhlIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fb2JqZWN0LmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVjdC5jCkBAIC02Miw4ICs2Miw2IEBAIHZvaWQgaTkx NV9nZW1fb2JqZWN0X2luaXQoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKIAkJCSAg Y29uc3Qgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3Rfb3BzICpvcHMsCiAJCQkgIHN0cnVjdCBs b2NrX2NsYXNzX2tleSAqa2V5LCB1bnNpZ25lZCBmbGFncykKIHsKLQltdXRleF9pbml0KCZvYmot Pm1tLmxvY2spOwotCiAJc3Bpbl9sb2NrX2luaXQoJm9iai0+dm1hLmxvY2spOwogCUlOSVRfTElT VF9IRUFEKCZvYmotPnZtYS5saXN0KTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZ2VtL2k5MTVfZ2VtX29iamVjdC5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVf Z2VtX29iamVjdC5oCmluZGV4IDFkNGI0NDE1MWUwYy4uZDBjYzYyZDFjNjVlIDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fb2JqZWN0LmgKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVjdC5oCkBAIC0xMzYsNyArMTM2LDcgQEAg c3RhdGljIGlubGluZSB2b2lkIGFzc2VydF9vYmplY3RfaGVsZF9zaGFyZWQoc3RydWN0IGRybV9p OTE1X2dlbV9vYmplY3QgKm9iaikKIAkgKi8KIAlpZiAoSVNfRU5BQkxFRChDT05GSUdfTE9DS0RF UCkgJiYKIAkgICAga3JlZl9yZWFkKCZvYmotPmJhc2UucmVmY291bnQpID4gMCkKLQkJbG9ja2Rl cF9hc3NlcnRfaGVsZCgmb2JqLT5tbS5sb2NrKTsKKwkJYXNzZXJ0X29iamVjdF9oZWxkKG9iaik7 CiB9CiAKIHN0YXRpYyBpbmxpbmUgaW50IF9faTkxNV9nZW1fb2JqZWN0X2xvY2soc3RydWN0IGRy bV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKQEAgLTM1MCwxMSArMzUwLDExIEBAIGludCBfX2k5MTVf Z2VtX29iamVjdF9nZXRfcGFnZXMoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaik7CiBz dGF0aWMgaW5saW5lIGludCBfX211c3RfY2hlY2sKIGk5MTVfZ2VtX29iamVjdF9waW5fcGFnZXMo c3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKIHsKLQltaWdodF9sb2NrKCZvYmotPm1t LmxvY2spOwotCiAJaWYgKGF0b21pY19pbmNfbm90X3plcm8oJm9iai0+bW0ucGFnZXNfcGluX2Nv dW50KSkKIAkJcmV0dXJuIDA7CiAKKwlhc3NlcnRfb2JqZWN0X2hlbGQob2JqKTsKKwogCXJldHVy biBfX2k5MTVfZ2VtX29iamVjdF9nZXRfcGFnZXMob2JqKTsKIH0KIApAQCAtMzk2LDcgKzM5Niw2 IEBAIGk5MTVfZ2VtX29iamVjdF91bnBpbl9wYWdlcyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVj dCAqb2JqKQogfQogCiBpbnQgX19pOTE1X2dlbV9vYmplY3RfcHV0X3BhZ2VzKHN0cnVjdCBkcm1f aTkxNV9nZW1fb2JqZWN0ICpvYmopOwotaW50IF9faTkxNV9nZW1fb2JqZWN0X3B1dF9wYWdlc19s b2NrZWQoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaik7CiB2b2lkIGk5MTVfZ2VtX29i amVjdF90cnVuY2F0ZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKTsKIHZvaWQgaTkx NV9nZW1fb2JqZWN0X3dyaXRlYmFjayhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKTsK IApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVjdF90 eXBlcy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVjdF90eXBlcy5o CmluZGV4IDUyMzRjMWVkNjJkNC4uYjE3MmU4Y2M1M2FiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fb2JqZWN0X3R5cGVzLmgKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVjdF90eXBlcy5oCkBAIC0yMDksNyArMjA5LDYgQEAg c3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgewogCQkgKiBQcm90ZWN0cyB0aGUgcGFnZXMgYW5k IHRoZWlyIHVzZS4gRG8gbm90IHVzZSBkaXJlY3RseSwgYnV0CiAJCSAqIGluc3RlYWQgZ28gdGhy b3VnaCB0aGUgcGluL3VucGluIGludGVyZmFjZXMuCiAJCSAqLwotCQlzdHJ1Y3QgbXV0ZXggbG9j azsKIAkJYXRvbWljX3QgcGFnZXNfcGluX2NvdW50OwogCQlhdG9taWNfdCBzaHJpbmtfcGluOwog CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fcGFnZXMuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9wYWdlcy5jCmluZGV4IDc5MzM2NzM1 YTZlNC4uNGE4YmU3NTk4MzJiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0v aTkxNV9nZW1fcGFnZXMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1f cGFnZXMuYwpAQCAtNjcsNyArNjcsNyBAQCB2b2lkIF9faTkxNV9nZW1fb2JqZWN0X3NldF9wYWdl cyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAogCQlzdHJ1Y3QgbGlzdF9oZWFkICps aXN0OwogCQl1bnNpZ25lZCBsb25nIGZsYWdzOwogCi0JCWxvY2tkZXBfYXNzZXJ0X2hlbGQoJm9i ai0+bW0ubG9jayk7CisJCWFzc2VydF9vYmplY3RfaGVsZChvYmopOwogCQlzcGluX2xvY2tfaXJx c2F2ZSgmaTkxNS0+bW0ub2JqX2xvY2ssIGZsYWdzKTsKIAogCQlpOTE1LT5tbS5zaHJpbmtfY291 bnQrKzsKQEAgLTExNCw5ICsxMTQsNyBAQCBpbnQgX19pOTE1X2dlbV9vYmplY3RfZ2V0X3BhZ2Vz KHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCiB7CiAJaW50IGVycjsKIAotCWVyciA9 IG11dGV4X2xvY2tfaW50ZXJydXB0aWJsZSgmb2JqLT5tbS5sb2NrKTsKLQlpZiAoZXJyKQotCQly ZXR1cm4gZXJyOworCWFzc2VydF9vYmplY3RfaGVsZChvYmopOwogCiAJYXNzZXJ0X29iamVjdF9o ZWxkX3NoYXJlZChvYmopOwogCkBAIC0xMjUsMTUgKzEyMywxMyBAQCBpbnQgX19pOTE1X2dlbV9v YmplY3RfZ2V0X3BhZ2VzKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCiAKIAkJZXJy ID0gX19fX2k5MTVfZ2VtX29iamVjdF9nZXRfcGFnZXMob2JqKTsKIAkJaWYgKGVycikKLQkJCWdv dG8gdW5sb2NrOworCQkJcmV0dXJuIGVycjsKIAogCQlzbXBfbWJfX2JlZm9yZV9hdG9taWMoKTsK IAl9CiAJYXRvbWljX2luYygmb2JqLT5tbS5wYWdlc19waW5fY291bnQpOwogCi11bmxvY2s6Ci0J bXV0ZXhfdW5sb2NrKCZvYmotPm1tLmxvY2spOwotCXJldHVybiBlcnI7CisJcmV0dXJuIDA7CiB9 CiAKIGludCBpOTE1X2dlbV9vYmplY3RfcGluX3BhZ2VzX3VubG9ja2VkKHN0cnVjdCBkcm1faTkx NV9nZW1fb2JqZWN0ICpvYmopCkBAIC0yMjAsNyArMjE2LDcgQEAgX19pOTE1X2dlbV9vYmplY3Rf dW5zZXRfcGFnZXMoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKIAlyZXR1cm4gcGFn ZXM7CiB9CiAKLWludCBfX2k5MTVfZ2VtX29iamVjdF9wdXRfcGFnZXNfbG9ja2VkKHN0cnVjdCBk cm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCitpbnQgX19pOTE1X2dlbV9vYmplY3RfcHV0X3BhZ2Vz KHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCiB7CiAJc3RydWN0IHNnX3RhYmxlICpw YWdlczsKIApAQCAtMjUxLDIxICsyNDcsNiBAQCBpbnQgX19pOTE1X2dlbV9vYmplY3RfcHV0X3Bh Z2VzX2xvY2tlZChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQogCXJldHVybiAwOwog fQogCi1pbnQgX19pOTE1X2dlbV9vYmplY3RfcHV0X3BhZ2VzKHN0cnVjdCBkcm1faTkxNV9nZW1f b2JqZWN0ICpvYmopCi17Ci0JaW50IGVycjsKLQotCWlmIChpOTE1X2dlbV9vYmplY3RfaGFzX3Bp bm5lZF9wYWdlcyhvYmopKQotCQlyZXR1cm4gLUVCVVNZOwotCi0JLyogTWF5IGJlIGNhbGxlZCBi eSBzaHJpbmtlciBmcm9tIHdpdGhpbiBnZXRfcGFnZXMoKSAob24gYW5vdGhlciBibykgKi8KLQlt dXRleF9sb2NrKCZvYmotPm1tLmxvY2spOwotCWVyciA9IF9faTkxNV9nZW1fb2JqZWN0X3B1dF9w YWdlc19sb2NrZWQob2JqKTsKLQltdXRleF91bmxvY2soJm9iai0+bW0ubG9jayk7Ci0KLQlyZXR1 cm4gZXJyOwotfQotCiAvKiBUaGUgJ21hcHBpbmcnIHBhcnQgb2YgaTkxNV9nZW1fb2JqZWN0X3Bp bl9tYXAoKSBiZWxvdyAqLwogc3RhdGljIHZvaWQgKmk5MTVfZ2VtX29iamVjdF9tYXBfcGFnZShz dHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAogCQllbnVtIGk5MTVfbWFwX3R5cGUgdHlw ZSkKQEAgLTM2Niw5ICszNDcsNyBAQCB2b2lkICppOTE1X2dlbV9vYmplY3RfcGluX21hcChzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAogCSAgICAhaTkxNV9nZW1fb2JqZWN0X3R5cGVf aGFzKG9iaiwgSTkxNV9HRU1fT0JKRUNUX0hBU19JT01FTSkpCiAJCXJldHVybiBFUlJfUFRSKC1F TlhJTyk7CiAKLQllcnIgPSBtdXRleF9sb2NrX2ludGVycnVwdGlibGUoJm9iai0+bW0ubG9jayk7 Ci0JaWYgKGVycikKLQkJcmV0dXJuIEVSUl9QVFIoZXJyKTsKKwlhc3NlcnRfb2JqZWN0X2hlbGQo b2JqKTsKIAogCXBpbm5lZCA9ICEodHlwZSAmIEk5MTVfTUFQX09WRVJSSURFKTsKIAl0eXBlICY9 IH5JOTE1X01BUF9PVkVSUklERTsKQEAgLTQxNiwxNSArMzk1LDEyIEBAIHZvaWQgKmk5MTVfZ2Vt X29iamVjdF9waW5fbWFwKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCiAJCW9iai0+ bW0ubWFwcGluZyA9IHBhZ2VfcGFja19iaXRzKHB0ciwgdHlwZSk7CiAJfQogCi1vdXRfdW5sb2Nr OgotCW11dGV4X3VubG9jaygmb2JqLT5tbS5sb2NrKTsKIAlyZXR1cm4gcHRyOwogCiBlcnJfdW5w aW46CiAJYXRvbWljX2RlYygmb2JqLT5tbS5wYWdlc19waW5fY291bnQpOwogZXJyX3VubG9jazoK LQlwdHIgPSBFUlJfUFRSKGVycik7Ci0JZ290byBvdXRfdW5sb2NrOworCXJldHVybiBFUlJfUFRS KGVycik7CiB9CiAKIHZvaWQgKmk5MTVfZ2VtX29iamVjdF9waW5fbWFwX3VubG9ja2VkKHN0cnVj dCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9nZW0vaTkxNV9nZW1fcGh5cy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVf Z2VtX3BoeXMuYwppbmRleCBmMzE3YmU1ZjVlMzQuLjQzNWMzYjU0Y2YxNCAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3BoeXMuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fcGh5cy5jCkBAIC0yMzQsNDAgKzIzNCwyMiBAQCBpbnQg aTkxNV9nZW1fb2JqZWN0X2F0dGFjaF9waHlzKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpv YmosIGludCBhbGlnbikKIAlpZiAoZXJyKQogCQlyZXR1cm4gZXJyOwogCi0JZXJyID0gbXV0ZXhf bG9ja19pbnRlcnJ1cHRpYmxlKCZvYmotPm1tLmxvY2spOwotCWlmIChlcnIpCi0JCXJldHVybiBl cnI7Ci0KLQlpZiAodW5saWtlbHkoIWk5MTVfZ2VtX29iamVjdF9oYXNfc3RydWN0X3BhZ2Uob2Jq KSkpCi0JCWdvdG8gb3V0OwotCi0JaWYgKG9iai0+bW0ubWFkdiAhPSBJOTE1X01BRFZfV0lMTE5F RUQpIHsKLQkJZXJyID0gLUVGQVVMVDsKLQkJZ290byBvdXQ7Ci0JfQorCWlmIChvYmotPm1tLm1h ZHYgIT0gSTkxNV9NQURWX1dJTExORUVEKQorCQlyZXR1cm4gLUVGQVVMVDsKIAotCWlmIChvYmot Pm1tLnF1aXJrZWQpIHsKLQkJZXJyID0gLUVGQVVMVDsKLQkJZ290byBvdXQ7Ci0JfQorCWlmIChv YmotPm1tLnF1aXJrZWQpCisJCXJldHVybiAtRUZBVUxUOwogCi0JaWYgKG9iai0+bW0ubWFwcGlu ZyB8fCBpOTE1X2dlbV9vYmplY3RfaGFzX3Bpbm5lZF9wYWdlcyhvYmopKSB7Ci0JCWVyciA9IC1F QlVTWTsKLQkJZ290byBvdXQ7Ci0JfQorCWlmIChvYmotPm1tLm1hcHBpbmcgfHwgaTkxNV9nZW1f b2JqZWN0X2hhc19waW5uZWRfcGFnZXMob2JqKSkKKwkJcmV0dXJuIC1FQlVTWTsKIAogCWlmICh1 bmxpa2VseShvYmotPm1tLm1hZHYgIT0gSTkxNV9NQURWX1dJTExORUVEKSkgewogCQlkcm1fZGJn KG9iai0+YmFzZS5kZXYsCiAJCQkiQXR0ZW1wdGluZyB0byBvYnRhaW4gYSBwdXJnZWFibGUgb2Jq ZWN0XG4iKTsKLQkJZXJyID0gLUVGQVVMVDsKLQkJZ290byBvdXQ7CisJCXJldHVybiAtRUZBVUxU OwogCX0KIAotCWVyciA9IGk5MTVfZ2VtX29iamVjdF9zaG1lbV90b19waHlzKG9iaik7Ci0KLW91 dDoKLQltdXRleF91bmxvY2soJm9iai0+bW0ubG9jayk7Ci0JcmV0dXJuIGVycjsKKwlyZXR1cm4g aTkxNV9nZW1fb2JqZWN0X3NobWVtX3RvX3BoeXMob2JqKTsKIH0KIAogI2lmIElTX0VOQUJMRUQo Q09ORklHX0RSTV9JOTE1X1NFTEZURVNUKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZ2VtL2k5MTVfZ2VtX3NobWVtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9n ZW1fc2htZW0uYwppbmRleCA3YTU5ZmQxZWE0ZTUuLmI0ZGQ3YTcwOTgwMCAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3NobWVtLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3NobWVtLmMKQEAgLTk5LDcgKzk5LDcgQEAgc3RhdGlj IGludCBzaG1lbV9nZXRfcGFnZXMoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKIAkJ CQlnb3RvIGVycl9zZzsKIAkJCX0KIAotCQkJaTkxNV9nZW1fc2hyaW5rKGk5MTUsIDIgKiBwYWdl X2NvdW50LCBOVUxMLCAqcysrKTsKKwkJCWk5MTVfZ2VtX3NocmluayhOVUxMLCBpOTE1LCAyICog cGFnZV9jb3VudCwgTlVMTCwgKnMrKyk7CiAKIAkJCS8qCiAJCQkgKiBXZSd2ZSB0cmllZCBoYXJk IHRvIGFsbG9jYXRlIHRoZSBtZW1vcnkgYnkgcmVhcGluZwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3Nocmlua2VyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9nZW0vaTkxNV9nZW1fc2hyaW5rZXIuYwppbmRleCBhZmM2ZTViNGRjZjEuLmU0MjE5MjgzNGM4 OCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3Nocmlua2Vy LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3Nocmlua2VyLmMKQEAg LTkzLDcgKzkzLDggQEAgc3RhdGljIHZvaWQgdHJ5X3RvX3dyaXRlYmFjayhzdHJ1Y3QgZHJtX2k5 MTVfZ2VtX29iamVjdCAqb2JqLAogICogVGhlIG51bWJlciBvZiBwYWdlcyBvZiBiYWNraW5nIHN0 b3JhZ2UgYWN0dWFsbHkgcmVsZWFzZWQuCiAgKi8KIHVuc2lnbmVkIGxvbmcKLWk5MTVfZ2VtX3No cmluayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKK2k5MTVfZ2VtX3NocmluayhzdHJ1 Y3QgaTkxNV9nZW1fd3dfY3R4ICp3dywKKwkJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUs CiAJCXVuc2lnbmVkIGxvbmcgdGFyZ2V0LAogCQl1bnNpZ25lZCBsb25nICpucl9zY2FubmVkLAog CQl1bnNpZ25lZCBpbnQgc2hyaW5rKQpAQCAtMTEyLDYgKzExMyw3IEBAIGk5MTVfZ2VtX3Nocmlu ayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKIAlpbnRlbF93YWtlcmVmX3Qgd2FrZXJl ZiA9IDA7CiAJdW5zaWduZWQgbG9uZyBjb3VudCA9IDA7CiAJdW5zaWduZWQgbG9uZyBzY2FubmVk ID0gMDsKKwlpbnQgZXJyOwogCiAJdHJhY2VfaTkxNV9nZW1fc2hyaW5rKGk5MTUsIHRhcmdldCwg c2hyaW5rKTsKIApAQCAtMTk5LDIzICsyMDEsMzggQEAgaTkxNV9nZW1fc2hyaW5rKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICppOTE1LAogCiAJCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpOTE1 LT5tbS5vYmpfbG9jaywgZmxhZ3MpOwogCi0JCQlpZiAodW5zYWZlX2Ryb3BfcGFnZXMob2JqLCBz aHJpbmspICYmCi0JCQkgICAgbXV0ZXhfdHJ5bG9jaygmb2JqLT5tbS5sb2NrKSkgeworCQkJZXJy ID0gMDsKKwkJCWlmICh1bnNhZmVfZHJvcF9wYWdlcyhvYmosIHNocmluaykpIHsKIAkJCQkvKiBN YXkgYXJyaXZlIGZyb20gZ2V0X3BhZ2VzIG9uIGFub3RoZXIgYm8gKi8KLQkJCQlpZiAoIV9faTkx NV9nZW1fb2JqZWN0X3B1dF9wYWdlc19sb2NrZWQob2JqKSkgeworCQkJCWlmICghd3cpIHsKKwkJ CQkJaWYgKCFpOTE1X2dlbV9vYmplY3RfdHJ5bG9jayhvYmopKQorCQkJCQkJZ290byBza2lwOwor CQkJCX0gZWxzZSB7CisJCQkJCWVyciA9IGk5MTVfZ2VtX29iamVjdF9sb2NrKG9iaiwgd3cpOwor CQkJCQlpZiAoZXJyKQorCQkJCQkJZ290byBza2lwOworCQkJCX0KKworCQkJCWlmICghX19pOTE1 X2dlbV9vYmplY3RfcHV0X3BhZ2VzKG9iaikpIHsKIAkJCQkJdHJ5X3RvX3dyaXRlYmFjayhvYmos IHNocmluayk7CiAJCQkJCWNvdW50ICs9IG9iai0+YmFzZS5zaXplID4+IFBBR0VfU0hJRlQ7CiAJ CQkJfQotCQkJCW11dGV4X3VubG9jaygmb2JqLT5tbS5sb2NrKTsKKwkJCQlpZiAoIXd3KQorCQkJ CQlpOTE1X2dlbV9vYmplY3RfdW5sb2NrKG9iaik7CiAJCQl9CiAKIAkJCXNjYW5uZWQgKz0gb2Jq LT5iYXNlLnNpemUgPj4gUEFHRV9TSElGVDsKK3NraXA6CiAJCQlpOTE1X2dlbV9vYmplY3RfcHV0 KG9iaik7CiAKIAkJCXNwaW5fbG9ja19pcnFzYXZlKCZpOTE1LT5tbS5vYmpfbG9jaywgZmxhZ3Mp OworCQkJaWYgKGVycikKKwkJCQlicmVhazsKIAkJfQogCQlsaXN0X3NwbGljZV90YWlsKCZzdGls bF9pbl9saXN0LCBwaGFzZS0+bGlzdCk7CiAJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmk5MTUt Pm1tLm9ial9sb2NrLCBmbGFncyk7CisJCWlmIChlcnIpCisJCQlyZXR1cm4gZXJyOwogCX0KIAog CWlmIChzaHJpbmsgJiBJOTE1X1NIUklOS19CT1VORCkKQEAgLTI0Niw3ICsyNjMsNyBAQCB1bnNp Z25lZCBsb25nIGk5MTVfZ2VtX3Nocmlua19hbGwoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5 MTUpCiAJdW5zaWduZWQgbG9uZyBmcmVlZCA9IDA7CiAKIAl3aXRoX2ludGVsX3J1bnRpbWVfcG0o Jmk5MTUtPnJ1bnRpbWVfcG0sIHdha2VyZWYpIHsKLQkJZnJlZWQgPSBpOTE1X2dlbV9zaHJpbmso aTkxNSwgLTFVTCwgTlVMTCwKKwkJZnJlZWQgPSBpOTE1X2dlbV9zaHJpbmsoTlVMTCwgaTkxNSwg LTFVTCwgTlVMTCwKIAkJCQkJSTkxNV9TSFJJTktfQk9VTkQgfAogCQkJCQlJOTE1X1NIUklOS19V TkJPVU5EKTsKIAl9CkBAIC0yOTIsNyArMzA5LDcgQEAgaTkxNV9nZW1fc2hyaW5rZXJfc2Nhbihz dHJ1Y3Qgc2hyaW5rZXIgKnNocmlua2VyLCBzdHJ1Y3Qgc2hyaW5rX2NvbnRyb2wgKnNjKQogCiAJ c2MtPm5yX3NjYW5uZWQgPSAwOwogCi0JZnJlZWQgPSBpOTE1X2dlbV9zaHJpbmsoaTkxNSwKKwlm cmVlZCA9IGk5MTVfZ2VtX3NocmluayhOVUxMLCBpOTE1LAogCQkJCXNjLT5ucl90b19zY2FuLAog CQkJCSZzYy0+bnJfc2Nhbm5lZCwKIAkJCQlJOTE1X1NIUklOS19CT1VORCB8CkBAIC0zMDEsNyAr MzE4LDcgQEAgaTkxNV9nZW1fc2hyaW5rZXJfc2NhbihzdHJ1Y3Qgc2hyaW5rZXIgKnNocmlua2Vy LCBzdHJ1Y3Qgc2hyaW5rX2NvbnRyb2wgKnNjKQogCQlpbnRlbF93YWtlcmVmX3Qgd2FrZXJlZjsK IAogCQl3aXRoX2ludGVsX3J1bnRpbWVfcG0oJmk5MTUtPnJ1bnRpbWVfcG0sIHdha2VyZWYpIHsK LQkJCWZyZWVkICs9IGk5MTVfZ2VtX3NocmluayhpOTE1LAorCQkJZnJlZWQgKz0gaTkxNV9nZW1f c2hyaW5rKE5VTEwsIGk5MTUsCiAJCQkJCQkgc2MtPm5yX3RvX3NjYW4gLSBzYy0+bnJfc2Nhbm5l ZCwKIAkJCQkJCSAmc2MtPm5yX3NjYW5uZWQsCiAJCQkJCQkgSTkxNV9TSFJJTktfQUNUSVZFIHwK QEAgLTMyNiw3ICszNDMsNyBAQCBpOTE1X2dlbV9zaHJpbmtlcl9vb20oc3RydWN0IG5vdGlmaWVy X2Jsb2NrICpuYiwgdW5zaWduZWQgbG9uZyBldmVudCwgdm9pZCAqcHRyKQogCiAJZnJlZWRfcGFn ZXMgPSAwOwogCXdpdGhfaW50ZWxfcnVudGltZV9wbSgmaTkxNS0+cnVudGltZV9wbSwgd2FrZXJl ZikKLQkJZnJlZWRfcGFnZXMgKz0gaTkxNV9nZW1fc2hyaW5rKGk5MTUsIC0xVUwsIE5VTEwsCisJ CWZyZWVkX3BhZ2VzICs9IGk5MTVfZ2VtX3NocmluayhOVUxMLCBpOTE1LCAtMVVMLCBOVUxMLAog CQkJCQkgICAgICAgSTkxNV9TSFJJTktfQk9VTkQgfAogCQkJCQkgICAgICAgSTkxNV9TSFJJTktf VU5CT1VORCB8CiAJCQkJCSAgICAgICBJOTE1X1NIUklOS19XUklURUJBQ0spOwpAQCAtMzY0LDcg KzM4MSw3IEBAIGk5MTVfZ2VtX3Nocmlua2VyX3ZtYXAoc3RydWN0IG5vdGlmaWVyX2Jsb2NrICpu YiwgdW5zaWduZWQgbG9uZyBldmVudCwgdm9pZCAqcHRyCiAJaW50ZWxfd2FrZXJlZl90IHdha2Vy ZWY7CiAKIAl3aXRoX2ludGVsX3J1bnRpbWVfcG0oJmk5MTUtPnJ1bnRpbWVfcG0sIHdha2VyZWYp Ci0JCWZyZWVkX3BhZ2VzICs9IGk5MTVfZ2VtX3NocmluayhpOTE1LCAtMVVMLCBOVUxMLAorCQlm cmVlZF9wYWdlcyArPSBpOTE1X2dlbV9zaHJpbmsoTlVMTCwgaTkxNSwgLTFVTCwgTlVMTCwKIAkJ CQkJICAgICAgIEk5MTVfU0hSSU5LX0JPVU5EIHwKIAkJCQkJICAgICAgIEk5MTVfU0hSSU5LX1VO Qk9VTkQgfAogCQkJCQkgICAgICAgSTkxNV9TSFJJTktfVk1BUFMpOwpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3Nocmlua2VyLmggYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9nZW0vaTkxNV9nZW1fc2hyaW5rZXIuaAppbmRleCBiMzk3ZDc3ODU3ODkuLjg1MTI0 NzBmNmZkNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3No cmlua2VyLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3Nocmlua2Vy LmgKQEAgLTksMTAgKzksMTIgQEAKICNpbmNsdWRlIDxsaW51eC9iaXRzLmg+CiAKIHN0cnVjdCBk cm1faTkxNV9wcml2YXRlOworc3RydWN0IGk5MTVfZ2VtX3d3X2N0eDsKIHN0cnVjdCBtdXRleDsK IAogLyogaTkxNV9nZW1fc2hyaW5rZXIuYyAqLwotdW5zaWduZWQgbG9uZyBpOTE1X2dlbV9zaHJp bmsoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsCit1bnNpZ25lZCBsb25nIGk5MTVfZ2Vt X3NocmluayhzdHJ1Y3QgaTkxNV9nZW1fd3dfY3R4ICp3dywKKwkJCSAgICAgIHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICppOTE1LAogCQkJICAgICAgdW5zaWduZWQgbG9uZyB0YXJnZXQsCiAJCQkg ICAgICB1bnNpZ25lZCBsb25nICpucl9zY2FubmVkLAogCQkJICAgICAgdW5zaWduZWQgZmxhZ3Mp OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3RpbGluZy5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3RpbGluZy5jCmluZGV4IGZmY2Fl ZTc0YTI0OS4uNDUyM2ExNGRiODZlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9n ZW0vaTkxNV9nZW1fdGlsaW5nLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVf Z2VtX3RpbGluZy5jCkBAIC0yNjUsNyArMjY1LDYgQEAgaTkxNV9nZW1fb2JqZWN0X3NldF90aWxp bmcoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKIAkgKiBwYWdlcyB0byBwcmV2ZW50 IHRoZW0gYmVpbmcgc3dhcHBlZCBvdXQgYW5kIGNhdXNpbmcgY29ycnVwdGlvbgogCSAqIGR1ZSB0 byB0aGUgY2hhbmdlIGluIHN3aXp6bGluZy4KIAkgKi8KLQltdXRleF9sb2NrKCZvYmotPm1tLmxv Y2spOwogCWlmIChpOTE1X2dlbV9vYmplY3RfaGFzX3BhZ2VzKG9iaikgJiYKIAkgICAgb2JqLT5t bS5tYWR2ID09IEk5MTVfTUFEVl9XSUxMTkVFRCAmJgogCSAgICBpOTE1LT5xdWlya3MgJiBRVUlS S19QSU5fU1dJWlpMRURfUEFHRVMpIHsKQEAgLTI4MCw3ICsyNzksNiBAQCBpOTE1X2dlbV9vYmpl Y3Rfc2V0X3RpbGluZyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAogCQkJb2JqLT5t bS5xdWlya2VkID0gdHJ1ZTsKIAkJfQogCX0KLQltdXRleF91bmxvY2soJm9iai0+bW0ubG9jayk7 CiAKIAlzcGluX2xvY2soJm9iai0+dm1hLmxvY2spOwogCWZvcl9lYWNoX2dndHRfdm1hKHZtYSwg b2JqKSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fdXNl cnB0ci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3VzZXJwdHIuYwppbmRl eCAwY2FiOWRhNjY2OWUuLmZiNGJjMzBmYmQ5YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvZ2VtL2k5MTVfZ2VtX3VzZXJwdHIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9n ZW0vaTkxNV9nZW1fdXNlcnB0ci5jCkBAIC0yNDcsNyArMjQ3LDcgQEAgc3RhdGljIGludCBpOTE1 X2dlbV9vYmplY3RfdXNlcnB0cl91bmJpbmQoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9i aiwgYm9vbAogCWlmIChHRU1fV0FSTl9PTihpOTE1X2dlbV9vYmplY3RfaGFzX3Bpbm5lZF9wYWdl cyhvYmopKSkKIAkJcmV0dXJuIC1FQlVTWTsKIAotCW11dGV4X2xvY2soJm9iai0+bW0ubG9jayk7 CisJYXNzZXJ0X29iamVjdF9oZWxkKG9iaik7CiAKIAlwYWdlcyA9IF9faTkxNV9nZW1fb2JqZWN0 X3Vuc2V0X3BhZ2VzKG9iaik7CiAJaWYgKCFJU19FUlJfT1JfTlVMTChwYWdlcykpCkBAIC0yNTUs NyArMjU1LDYgQEAgc3RhdGljIGludCBpOTE1X2dlbV9vYmplY3RfdXNlcnB0cl91bmJpbmQoc3Ry dWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwgYm9vbAogCiAJaWYgKGdldF9wYWdlcykKIAkJ ZXJyID0gX19fX2k5MTVfZ2VtX29iamVjdF9nZXRfcGFnZXMob2JqKTsKLQltdXRleF91bmxvY2so Jm9iai0+bW0ubG9jayk7CiAKIAlyZXR1cm4gZXJyOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rl YnVnZnMuYwppbmRleCAyNjMwNzRjMmMwOTcuLjZkMTQ4MmM4MjY5NCAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kZWJ1Z2ZzLmMKQEAgLTE1MTAsMTAgKzE1MTAsMTAgQEAgaTkxNV9kcm9wX2NhY2hl c19zZXQodm9pZCAqZGF0YSwgdTY0IHZhbCkKIAogCWZzX3JlY2xhaW1fYWNxdWlyZShHRlBfS0VS TkVMKTsKIAlpZiAodmFsICYgRFJPUF9CT1VORCkKLQkJaTkxNV9nZW1fc2hyaW5rKGk5MTUsIExP TkdfTUFYLCBOVUxMLCBJOTE1X1NIUklOS19CT1VORCk7CisJCWk5MTVfZ2VtX3NocmluayhOVUxM LCBpOTE1LCBMT05HX01BWCwgTlVMTCwgSTkxNV9TSFJJTktfQk9VTkQpOwogCiAJaWYgKHZhbCAm IERST1BfVU5CT1VORCkKLQkJaTkxNV9nZW1fc2hyaW5rKGk5MTUsIExPTkdfTUFYLCBOVUxMLCBJ OTE1X1NIUklOS19VTkJPVU5EKTsKKwkJaTkxNV9nZW1fc2hyaW5rKE5VTEwsIGk5MTUsIExPTkdf TUFYLCBOVUxMLCBJOTE1X1NIUklOS19VTkJPVU5EKTsKIAogCWlmICh2YWwgJiBEUk9QX1NIUklO S19BTEwpCiAJCWk5MTVfZ2VtX3Nocmlua19hbGwoaTkxNSk7CmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0u YwppbmRleCBiODFmYmQ5MDc3NzUuLmVmNjZjMDkyNmFmNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9nZW0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dl bS5jCkBAIC0xMDYzLDEwICsxMDYzLDYgQEAgaTkxNV9nZW1fbWFkdmlzZV9pb2N0bChzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAogCWlmIChlcnIpCiAJCWdvdG8gb3V0OwogCi0J ZXJyID0gbXV0ZXhfbG9ja19pbnRlcnJ1cHRpYmxlKCZvYmotPm1tLmxvY2spOwotCWlmIChlcnIp Ci0JCWdvdG8gb3V0X3d3OwotCiAJaWYgKGk5MTVfZ2VtX29iamVjdF9oYXNfcGFnZXMob2JqKSAm JgogCSAgICBpOTE1X2dlbV9vYmplY3RfaXNfdGlsZWQob2JqKSAmJgogCSAgICBpOTE1LT5xdWly a3MgJiBRVUlSS19QSU5fU1dJWlpMRURfUEFHRVMpIHsKQEAgLTExMDksOSArMTEwNSw3IEBAIGk5 MTVfZ2VtX21hZHZpc2VfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwK IAkJaTkxNV9nZW1fb2JqZWN0X3RydW5jYXRlKG9iaik7CiAKIAlhcmdzLT5yZXRhaW5lZCA9IG9i ai0+bW0ubWFkdiAhPSBfX0k5MTVfTUFEVl9QVVJHRUQ7Ci0JbXV0ZXhfdW5sb2NrKCZvYmotPm1t LmxvY2spOwogCi1vdXRfd3c6CiAJaTkxNV9nZW1fb2JqZWN0X3VubG9jayhvYmopOwogb3V0Ogog CWk5MTVfZ2VtX29iamVjdF9wdXQob2JqKTsKQEAgLTEyOTIsNyArMTI4Niw3IEBAIGludCBpOTE1 X2dlbV9mcmVlemVfbGF0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKIAogCXdha2Vy ZWYgPSBpbnRlbF9ydW50aW1lX3BtX2dldCgmaTkxNS0+cnVudGltZV9wbSk7CiAKLQlpOTE1X2dl bV9zaHJpbmsoaTkxNSwgLTFVTCwgTlVMTCwgfjApOworCWk5MTVfZ2VtX3NocmluayhOVUxMLCBp OTE1LCAtMVVMLCBOVUxMLCB+MCk7CiAJaTkxNV9nZW1fZHJhaW5fZnJlZWRfb2JqZWN0cyhpOTE1 KTsKIAogCWxpc3RfZm9yX2VhY2hfZW50cnkob2JqLCAmaTkxNS0+bW0uc2hyaW5rX2xpc3QsIG1t LmxpbmspIHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMKaW5kZXggYzVlZTE1NjdmM2Qx Li43MjkwNzRlZTMzZDQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt X2d0dC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCkBAIC00NCw3 ICs0NCw3IEBAIGludCBpOTE1X2dlbV9ndHRfcHJlcGFyZV9wYWdlcyhzdHJ1Y3QgZHJtX2k5MTVf Z2VtX29iamVjdCAqb2JqLAogCQkgKiB0aGUgRE1BIHJlbWFwcGVyLCBpOTE1X2dlbV9zaHJpbmsg d2lsbCByZXR1cm4gMC4KIAkJICovCiAJCUdFTV9CVUdfT04ob2JqLT5tbS5wYWdlcyA9PSBwYWdl cyk7Ci0JfSB3aGlsZSAoaTkxNV9nZW1fc2hyaW5rKHRvX2k5MTUob2JqLT5iYXNlLmRldiksCisJ fSB3aGlsZSAoaTkxNV9nZW1fc2hyaW5rKE5VTEwsIHRvX2k5MTUob2JqLT5iYXNlLmRldiksCiAJ CQkJIG9iai0+YmFzZS5zaXplID4+IFBBR0VfU0hJRlQsIE5VTEwsCiAJCQkJIEk5MTVfU0hSSU5L X0JPVU5EIHwKIAkJCQkgSTkxNV9TSFJJTktfVU5CT1VORCkpOwotLSAKMi4yNi4yCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGlu ZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK