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 AA1E0C433E6 for ; Thu, 28 Jan 2021 16:26:54 +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 501B364DED for ; Thu, 28 Jan 2021 16:26:54 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 501B364DED 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 057E26E9A4; Thu, 28 Jan 2021 16:26:42 +0000 (UTC) Received: from mblankhorst.nl (mblankhorst.nl [IPv6:2a02:2308::216:3eff:fe92:dfa3]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1A1156E995 for ; Thu, 28 Jan 2021 16:26:30 +0000 (UTC) From: Maarten Lankhorst To: intel-gfx@lists.freedesktop.org Date: Thu, 28 Jan 2021 17:26:10 +0100 Message-Id: <20210128162612.927917-62-maarten.lankhorst@linux.intel.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20210128162612.927917-1-maarten.lankhorst@linux.intel.com> References: <20210128162612.927917-1-maarten.lankhorst@linux.intel.com> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH v7 61/63] drm/i915: Finally remove obj->mm.lock. 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" V2l0aCBhbGwgY2FsbGVycyBhbmQgc2VsZnRlc3RzIGZpeGVkIHRvIHVzZSB3dyBsb2NraW5nLCB3 ZSBjYW4gbm93CmZpbmFsbHkgcmVtb3ZlIHRoaXMgbG9jay4KClNpZ25lZC1vZmYtYnk6IE1hYXJ0 ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+ClJldmlld2Vk LWJ5OiBUaG9tYXMgSGVsbHN0csO2bSA8dGhvbWFzLmhlbGxzdHJvbUBsaW51eC5pbnRlbC5jb20+ Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVjdC5jICAgIHwgIDIg LQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVjdC5oICAgIHwgIDUgKy0t CiAuLi4vZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9vYmplY3RfdHlwZXMuaCAgfCAgMSAtCiBk cml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fcGFnZXMuYyAgICAgfCA0MyArKysrLS0t LS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fcGh5cy5jICAg ICAgfCAzNCArKysrLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dl bV9wbS5jICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1f c2htZW0uYyAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3No cmlua2VyLmMgIHwgMzcgKysrKysrKysrKystLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2Vt L2k5MTVfZ2VtX3Nocmlua2VyLmggIHwgIDQgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9p OTE1X2dlbV90aWxpbmcuYyAgICB8ICAyIC0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1 X2dlbV91c2VycHRyLmMgICB8ICAzICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVn ZnMuYyAgICAgICAgICAgfCAgNCArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyAg ICAgICAgICAgICAgIHwgIDYgLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQu YyAgICAgICAgICAgfCAgMiArLQogMTQgZmlsZXMgY2hhbmdlZCwgNTUgaW5zZXJ0aW9ucygrKSwg OTIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5 MTVfZ2VtX29iamVjdC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVj dC5jCmluZGV4IDgyMWNiNDBmOGQ3My4uZWE3NGNiY2E5NWJlIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fb2JqZWN0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVjdC5jCkBAIC02Miw4ICs2Miw2IEBAIHZvaWQgaTkxNV9n ZW1fb2JqZWN0X2luaXQoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKIAkJCSAgY29u c3Qgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3Rfb3BzICpvcHMsCiAJCQkgIHN0cnVjdCBsb2Nr X2NsYXNzX2tleSAqa2V5LCB1bnNpZ25lZCBmbGFncykKIHsKLQltdXRleF9pbml0KCZvYmotPm1t LmxvY2spOwotCiAJc3Bpbl9sb2NrX2luaXQoJm9iai0+dm1hLmxvY2spOwogCUlOSVRfTElTVF9I RUFEKCZvYmotPnZtYS5saXN0KTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv Z2VtL2k5MTVfZ2VtX29iamVjdC5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2Vt X29iamVjdC5oCmluZGV4IDBhY2RkMDg5MzRkYS4uMzJhNzAxYjkzMjljIDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fb2JqZWN0LmgKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVjdC5oCkBAIC0xNTUsNyArMTU1LDcgQEAgc3Rh dGljIGlubGluZSB2b2lkIGFzc2VydF9vYmplY3RfaGVsZF9zaGFyZWQoc3RydWN0IGRybV9pOTE1 X2dlbV9vYmplY3QgKm9iaikKIAkgKi8KIAlpZiAoSVNfRU5BQkxFRChDT05GSUdfTE9DS0RFUCkg JiYKIAkgICAga3JlZl9yZWFkKCZvYmotPmJhc2UucmVmY291bnQpID4gMCkKLQkJbG9ja2RlcF9h c3NlcnRfaGVsZCgmb2JqLT5tbS5sb2NrKTsKKwkJYXNzZXJ0X29iamVjdF9oZWxkKG9iaik7CiB9 CiAKIHN0YXRpYyBpbmxpbmUgaW50IF9faTkxNV9nZW1fb2JqZWN0X2xvY2soc3RydWN0IGRybV9p OTE1X2dlbV9vYmplY3QgKm9iaiwKQEAgLTM4NCw3ICszODQsNyBAQCBpbnQgX19pOTE1X2dlbV9v YmplY3RfZ2V0X3BhZ2VzKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopOwogc3RhdGlj IGlubGluZSBpbnQgX19tdXN0X2NoZWNrCiBpOTE1X2dlbV9vYmplY3RfcGluX3BhZ2VzKHN0cnVj dCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCiB7Ci0JbWlnaHRfbG9jaygmb2JqLT5tbS5sb2Nr KTsKKwlhc3NlcnRfb2JqZWN0X2hlbGQob2JqKTsKIAogCWlmIChhdG9taWNfaW5jX25vdF96ZXJv KCZvYmotPm1tLnBhZ2VzX3Bpbl9jb3VudCkpCiAJCXJldHVybiAwOwpAQCAtNDMwLDcgKzQzMCw2 IEBAIGk5MTVfZ2VtX29iamVjdF91bnBpbl9wYWdlcyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVj dCAqb2JqKQogfQogCiBpbnQgX19pOTE1X2dlbV9vYmplY3RfcHV0X3BhZ2VzKHN0cnVjdCBkcm1f aTkxNV9nZW1fb2JqZWN0ICpvYmopOwotaW50IF9faTkxNV9nZW1fb2JqZWN0X3B1dF9wYWdlc19s b2NrZWQoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaik7CiB2b2lkIGk5MTVfZ2VtX29i amVjdF90cnVuY2F0ZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKTsKIHZvaWQgaTkx NV9nZW1fb2JqZWN0X3dyaXRlYmFjayhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKTsK IApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVjdF90 eXBlcy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVjdF90eXBlcy5o CmluZGV4IGRiZTEyOTUxZmExYy4uOGU0ODVjYjMzNDNjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fb2JqZWN0X3R5cGVzLmgKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVjdF90eXBlcy5oCkBAIC0yMTYsNyArMjE2LDYgQEAg c3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgewogCQkgKiBQcm90ZWN0cyB0aGUgcGFnZXMgYW5k IHRoZWlyIHVzZS4gRG8gbm90IHVzZSBkaXJlY3RseSwgYnV0CiAJCSAqIGluc3RlYWQgZ28gdGhy b3VnaCB0aGUgcGluL3VucGluIGludGVyZmFjZXMuCiAJCSAqLwotCQlzdHJ1Y3QgbXV0ZXggbG9j azsKIAkJYXRvbWljX3QgcGFnZXNfcGluX2NvdW50OwogCQlhdG9taWNfdCBzaHJpbmtfcGluOwog CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fcGFnZXMuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9wYWdlcy5jCmluZGV4IDViOGFmOGY4 M2VlMy4uYWVkOGEzN2NjZGM5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0v aTkxNV9nZW1fcGFnZXMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1f cGFnZXMuYwpAQCAtNzAsNyArNzAsNyBAQCB2b2lkIF9faTkxNV9nZW1fb2JqZWN0X3NldF9wYWdl cyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAogCQlzdHJ1Y3QgbGlzdF9oZWFkICps aXN0OwogCQl1bnNpZ25lZCBsb25nIGZsYWdzOwogCi0JCWxvY2tkZXBfYXNzZXJ0X2hlbGQoJm9i ai0+bW0ubG9jayk7CisJCWFzc2VydF9vYmplY3RfaGVsZChvYmopOwogCQlzcGluX2xvY2tfaXJx c2F2ZSgmaTkxNS0+bW0ub2JqX2xvY2ssIGZsYWdzKTsKIAogCQlpOTE1LT5tbS5zaHJpbmtfY291 bnQrKzsKQEAgLTExNyw5ICsxMTcsNyBAQCBpbnQgX19pOTE1X2dlbV9vYmplY3RfZ2V0X3BhZ2Vz KHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCiB7CiAJaW50IGVycjsKIAotCWVyciA9 IG11dGV4X2xvY2tfaW50ZXJydXB0aWJsZSgmb2JqLT5tbS5sb2NrKTsKLQlpZiAoZXJyKQotCQly ZXR1cm4gZXJyOworCWFzc2VydF9vYmplY3RfaGVsZChvYmopOwogCiAJYXNzZXJ0X29iamVjdF9o ZWxkX3NoYXJlZChvYmopOwogCkBAIC0xMjgsMTUgKzEyNiwxMyBAQCBpbnQgX19pOTE1X2dlbV9v YmplY3RfZ2V0X3BhZ2VzKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCiAKIAkJZXJy ID0gX19fX2k5MTVfZ2VtX29iamVjdF9nZXRfcGFnZXMob2JqKTsKIAkJaWYgKGVycikKLQkJCWdv dG8gdW5sb2NrOworCQkJcmV0dXJuIGVycjsKIAogCQlzbXBfbWJfX2JlZm9yZV9hdG9taWMoKTsK IAl9CiAJYXRvbWljX2luYygmb2JqLT5tbS5wYWdlc19waW5fY291bnQpOwogCi11bmxvY2s6Ci0J bXV0ZXhfdW5sb2NrKCZvYmotPm1tLmxvY2spOwotCXJldHVybiBlcnI7CisJcmV0dXJuIDA7CiB9 CiAKIGludCBpOTE1X2dlbV9vYmplY3RfcGluX3BhZ2VzX3VubG9ja2VkKHN0cnVjdCBkcm1faTkx NV9nZW1fb2JqZWN0ICpvYmopCkBAIC0yMjMsNyArMjE5LDcgQEAgX19pOTE1X2dlbV9vYmplY3Rf dW5zZXRfcGFnZXMoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKIAlyZXR1cm4gcGFn ZXM7CiB9CiAKLWludCBfX2k5MTVfZ2VtX29iamVjdF9wdXRfcGFnZXNfbG9ja2VkKHN0cnVjdCBk cm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCitpbnQgX19pOTE1X2dlbV9vYmplY3RfcHV0X3BhZ2Vz KHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCiB7CiAJc3RydWN0IHNnX3RhYmxlICpw YWdlczsKIApAQCAtMjU0LDIxICsyNTAsNiBAQCBpbnQgX19pOTE1X2dlbV9vYmplY3RfcHV0X3Bh Z2VzX2xvY2tlZChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQogCXJldHVybiAwOwog fQogCi1pbnQgX19pOTE1X2dlbV9vYmplY3RfcHV0X3BhZ2VzKHN0cnVjdCBkcm1faTkxNV9nZW1f b2JqZWN0ICpvYmopCi17Ci0JaW50IGVycjsKLQotCWlmIChpOTE1X2dlbV9vYmplY3RfaGFzX3Bp bm5lZF9wYWdlcyhvYmopKQotCQlyZXR1cm4gLUVCVVNZOwotCi0JLyogTWF5IGJlIGNhbGxlZCBi eSBzaHJpbmtlciBmcm9tIHdpdGhpbiBnZXRfcGFnZXMoKSAob24gYW5vdGhlciBibykgKi8KLQlt dXRleF9sb2NrKCZvYmotPm1tLmxvY2spOwotCWVyciA9IF9faTkxNV9nZW1fb2JqZWN0X3B1dF9w YWdlc19sb2NrZWQob2JqKTsKLQltdXRleF91bmxvY2soJm9iai0+bW0ubG9jayk7Ci0KLQlyZXR1 cm4gZXJyOwotfQotCiAvKiBUaGUgJ21hcHBpbmcnIHBhcnQgb2YgaTkxNV9nZW1fb2JqZWN0X3Bp bl9tYXAoKSBiZWxvdyAqLwogc3RhdGljIHZvaWQgKmk5MTVfZ2VtX29iamVjdF9tYXBfcGFnZShz dHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAogCQkJCSAgICAgIGVudW0gaTkxNV9tYXBf dHlwZSB0eXBlKQpAQCAtMzcxLDkgKzM1Miw3IEBAIHZvaWQgKmk5MTVfZ2VtX29iamVjdF9waW5f bWFwKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCiAJICAgICFpOTE1X2dlbV9vYmpl Y3RfdHlwZV9oYXMob2JqLCBJOTE1X0dFTV9PQkpFQ1RfSEFTX0lPTUVNKSkKIAkJcmV0dXJuIEVS Ul9QVFIoLUVOWElPKTsKIAotCWVyciA9IG11dGV4X2xvY2tfaW50ZXJydXB0aWJsZSgmb2JqLT5t bS5sb2NrKTsKLQlpZiAoZXJyKQotCQlyZXR1cm4gRVJSX1BUUihlcnIpOworCWFzc2VydF9vYmpl Y3RfaGVsZChvYmopOwogCiAJcGlubmVkID0gISh0eXBlICYgSTkxNV9NQVBfT1ZFUlJJREUpOwog CXR5cGUgJj0gfkk5MTVfTUFQX09WRVJSSURFOwpAQCAtMzgzLDEwICszNjIsOCBAQCB2b2lkICpp OTE1X2dlbV9vYmplY3RfcGluX21hcChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAog CQkJR0VNX0JVR19PTihpOTE1X2dlbV9vYmplY3RfaGFzX3Bpbm5lZF9wYWdlcyhvYmopKTsKIAog CQkJZXJyID0gX19fX2k5MTVfZ2VtX29iamVjdF9nZXRfcGFnZXMob2JqKTsKLQkJCWlmIChlcnIp IHsKLQkJCQlwdHIgPSBFUlJfUFRSKGVycik7Ci0JCQkJZ290byBvdXRfdW5sb2NrOwotCQkJfQor CQkJaWYgKGVycikKKwkJCQlyZXR1cm4gRVJSX1BUUihlcnIpOwogCiAJCQlzbXBfbWJfX2JlZm9y ZV9hdG9taWMoKTsKIAkJfQpAQCAtNDIxLDEzICszOTgsMTEgQEAgdm9pZCAqaTkxNV9nZW1fb2Jq ZWN0X3Bpbl9tYXAoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKIAkJb2JqLT5tbS5t YXBwaW5nID0gcGFnZV9wYWNrX2JpdHMocHRyLCB0eXBlKTsKIAl9CiAKLW91dF91bmxvY2s6Ci0J bXV0ZXhfdW5sb2NrKCZvYmotPm1tLmxvY2spOwogCXJldHVybiBwdHI7CiAKIGVycl91bnBpbjoK IAlhdG9taWNfZGVjKCZvYmotPm1tLnBhZ2VzX3Bpbl9jb3VudCk7Ci0JZ290byBvdXRfdW5sb2Nr OworCXJldHVybiBwdHI7CiB9CiAKIHZvaWQgKmk5MTVfZ2VtX29iamVjdF9waW5fbWFwX3VubG9j a2VkKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fcGh5cy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv Z2VtL2k5MTVfZ2VtX3BoeXMuYwppbmRleCA1OTJmN2FmYzRlOTMuLmIyZGE5MzQ5MGYwNSAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3BoeXMuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fcGh5cy5jCkBAIC0yMzQsNDAgKzIzNCwy MiBAQCBpbnQgaTkxNV9nZW1fb2JqZWN0X2F0dGFjaF9waHlzKHN0cnVjdCBkcm1faTkxNV9nZW1f b2JqZWN0ICpvYmosIGludCBhbGlnbikKIAlpZiAoZXJyKQogCQlyZXR1cm4gZXJyOwogCi0JZXJy ID0gbXV0ZXhfbG9ja19pbnRlcnJ1cHRpYmxlKCZvYmotPm1tLmxvY2spOwotCWlmIChlcnIpCi0J CXJldHVybiBlcnI7Ci0KLQlpZiAodW5saWtlbHkoIWk5MTVfZ2VtX29iamVjdF9oYXNfc3RydWN0 X3BhZ2Uob2JqKSkpCi0JCWdvdG8gb3V0OwotCi0JaWYgKG9iai0+bW0ubWFkdiAhPSBJOTE1X01B RFZfV0lMTE5FRUQpIHsKLQkJZXJyID0gLUVGQVVMVDsKLQkJZ290byBvdXQ7Ci0JfQorCWlmIChv YmotPm1tLm1hZHYgIT0gSTkxNV9NQURWX1dJTExORUVEKQorCQlyZXR1cm4gLUVGQVVMVDsKIAot CWlmIChpOTE1X2dlbV9vYmplY3RfaGFzX3RpbGluZ19xdWlyayhvYmopKSB7Ci0JCWVyciA9IC1F RkFVTFQ7Ci0JCWdvdG8gb3V0OwotCX0KKwlpZiAoaTkxNV9nZW1fb2JqZWN0X2hhc190aWxpbmdf cXVpcmsob2JqKSkKKwkJcmV0dXJuIC1FRkFVTFQ7CiAKLQlpZiAob2JqLT5tbS5tYXBwaW5nIHx8 IGk5MTVfZ2VtX29iamVjdF9oYXNfcGlubmVkX3BhZ2VzKG9iaikpIHsKLQkJZXJyID0gLUVCVVNZ OwotCQlnb3RvIG91dDsKLQl9CisJaWYgKG9iai0+bW0ubWFwcGluZyB8fCBpOTE1X2dlbV9vYmpl Y3RfaGFzX3Bpbm5lZF9wYWdlcyhvYmopKQorCQlyZXR1cm4gLUVCVVNZOwogCiAJaWYgKHVubGlr ZWx5KG9iai0+bW0ubWFkdiAhPSBJOTE1X01BRFZfV0lMTE5FRUQpKSB7CiAJCWRybV9kYmcob2Jq LT5iYXNlLmRldiwKIAkJCSJBdHRlbXB0aW5nIHRvIG9idGFpbiBhIHB1cmdlYWJsZSBvYmplY3Rc biIpOwotCQllcnIgPSAtRUZBVUxUOwotCQlnb3RvIG91dDsKKwkJcmV0dXJuIC1FRkFVTFQ7CiAJ fQogCi0JZXJyID0gaTkxNV9nZW1fb2JqZWN0X3NobWVtX3RvX3BoeXMob2JqKTsKLQotb3V0Ogot CW11dGV4X3VubG9jaygmb2JqLT5tbS5sb2NrKTsKLQlyZXR1cm4gZXJyOworCXJldHVybiBpOTE1 X2dlbV9vYmplY3Rfc2htZW1fdG9fcGh5cyhvYmopOwogfQogCiAjaWYgSVNfRU5BQkxFRChDT05G SUdfRFJNX0k5MTVfU0VMRlRFU1QpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9n ZW0vaTkxNV9nZW1fcG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9wbS5j CmluZGV4IDAwMGUxY2Q4ZTkyMC4uOGI5ZDdkMTRjNGJkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fcG0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9n ZW0vaTkxNV9nZW1fcG0uYwpAQCAtMTE2LDcgKzExNiw3IEBAIGludCBpOTE1X2dlbV9mcmVlemVf bGF0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKIAkgKi8KIAogCXdpdGhfaW50ZWxf cnVudGltZV9wbSgmaTkxNS0+cnVudGltZV9wbSwgd2FrZXJlZikKLQkJaTkxNV9nZW1fc2hyaW5r KGk5MTUsIC0xVUwsIE5VTEwsIH4wKTsKKwkJaTkxNV9nZW1fc2hyaW5rKE5VTEwsIGk5MTUsIC0x VUwsIE5VTEwsIH4wKTsKIAlpOTE1X2dlbV9kcmFpbl9mcmVlZF9vYmplY3RzKGk5MTUpOwogCiAJ d2JpbnZkX29uX2FsbF9jcHVzKCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9n ZW0vaTkxNV9nZW1fc2htZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9z aG1lbS5jCmluZGV4IDlmYTY4N2JlY2QzYy4uY2Y4MjcwZDAyMzc4IDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fc2htZW0uYworKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9nZW0vaTkxNV9nZW1fc2htZW0uYwpAQCAtOTksNyArOTksNyBAQCBzdGF0aWMgaW50 IHNobWVtX2dldF9wYWdlcyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQogCQkJCWdv dG8gZXJyX3NnOwogCQkJfQogCi0JCQlpOTE1X2dlbV9zaHJpbmsoaTkxNSwgMiAqIHBhZ2VfY291 bnQsIE5VTEwsICpzKyspOworCQkJaTkxNV9nZW1fc2hyaW5rKE5VTEwsIGk5MTUsIDIgKiBwYWdl X2NvdW50LCBOVUxMLCAqcysrKTsKIAogCQkJLyoKIAkJCSAqIFdlJ3ZlIHRyaWVkIGhhcmQgdG8g YWxsb2NhdGUgdGhlIG1lbW9yeSBieSByZWFwaW5nCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9nZW0vaTkxNV9nZW1fc2hyaW5rZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dl bS9pOTE1X2dlbV9zaHJpbmtlci5jCmluZGV4IDExYjhkNGU2OWZjNy4uM2UyNDhkM2JkODY5IDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fc2hyaW5rZXIuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fc2hyaW5rZXIuYwpAQCAtOTQs NyArOTQsOCBAQCBzdGF0aWMgdm9pZCB0cnlfdG9fd3JpdGViYWNrKHN0cnVjdCBkcm1faTkxNV9n ZW1fb2JqZWN0ICpvYmosCiAgKiBUaGUgbnVtYmVyIG9mIHBhZ2VzIG9mIGJhY2tpbmcgc3RvcmFn ZSBhY3R1YWxseSByZWxlYXNlZC4KICAqLwogdW5zaWduZWQgbG9uZwotaTkxNV9nZW1fc2hyaW5r KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LAoraTkxNV9nZW1fc2hyaW5rKHN0cnVjdCBp OTE1X2dlbV93d19jdHggKnd3LAorCQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKIAkJ dW5zaWduZWQgbG9uZyB0YXJnZXQsCiAJCXVuc2lnbmVkIGxvbmcgKm5yX3NjYW5uZWQsCiAJCXVu c2lnbmVkIGludCBzaHJpbmspCkBAIC0xMTMsNiArMTE0LDcgQEAgaTkxNV9nZW1fc2hyaW5rKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LAogCWludGVsX3dha2VyZWZfdCB3YWtlcmVmID0g MDsKIAl1bnNpZ25lZCBsb25nIGNvdW50ID0gMDsKIAl1bnNpZ25lZCBsb25nIHNjYW5uZWQgPSAw OworCWludCBlcnI7CiAKIAl0cmFjZV9pOTE1X2dlbV9zaHJpbmsoaTkxNSwgdGFyZ2V0LCBzaHJp bmspOwogCkBAIC0yMDAsMjUgKzIwMiw0MCBAQCBpOTE1X2dlbV9zaHJpbmsoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmk5MTUsCiAKIAkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmk5MTUtPm1t Lm9ial9sb2NrLCBmbGFncyk7CiAKLQkJCWlmICh1bnNhZmVfZHJvcF9wYWdlcyhvYmosIHNocmlu aykgJiYKLQkJCSAgICBtdXRleF90cnlsb2NrKCZvYmotPm1tLmxvY2spKSB7CisJCQllcnIgPSAw OworCQkJaWYgKHVuc2FmZV9kcm9wX3BhZ2VzKG9iaiwgc2hyaW5rKSkgewogCQkJCS8qIE1heSBh cnJpdmUgZnJvbSBnZXRfcGFnZXMgb24gYW5vdGhlciBibyAqLwotCQkJCWlmICghX19pOTE1X2dl bV9vYmplY3RfcHV0X3BhZ2VzX2xvY2tlZChvYmopKSB7CisJCQkJaWYgKCF3dykgeworCQkJCQlp ZiAoIWk5MTVfZ2VtX29iamVjdF90cnlsb2NrKG9iaikpCisJCQkJCQlnb3RvIHNraXA7CisJCQkJ fSBlbHNlIHsKKwkJCQkJZXJyID0gaTkxNV9nZW1fb2JqZWN0X2xvY2sob2JqLCB3dyk7CisJCQkJ CWlmIChlcnIpCisJCQkJCQlnb3RvIHNraXA7CisJCQkJfQorCisJCQkJaWYgKCFfX2k5MTVfZ2Vt X29iamVjdF9wdXRfcGFnZXMob2JqKSkgewogCQkJCQl0cnlfdG9fd3JpdGViYWNrKG9iaiwgc2hy aW5rKTsKIAkJCQkJY291bnQgKz0gb2JqLT5iYXNlLnNpemUgPj4gUEFHRV9TSElGVDsKIAkJCQl9 Ci0JCQkJbXV0ZXhfdW5sb2NrKCZvYmotPm1tLmxvY2spOworCQkJCWlmICghd3cpCisJCQkJCWk5 MTVfZ2VtX29iamVjdF91bmxvY2sob2JqKTsKIAkJCX0KIAogCQkJZG1hX3Jlc3ZfcHJ1bmUob2Jq LT5iYXNlLnJlc3YpOwogCiAJCQlzY2FubmVkICs9IG9iai0+YmFzZS5zaXplID4+IFBBR0VfU0hJ RlQ7Citza2lwOgogCQkJaTkxNV9nZW1fb2JqZWN0X3B1dChvYmopOwogCiAJCQlzcGluX2xvY2tf aXJxc2F2ZSgmaTkxNS0+bW0ub2JqX2xvY2ssIGZsYWdzKTsKKwkJCWlmIChlcnIpCisJCQkJYnJl YWs7CiAJCX0KIAkJbGlzdF9zcGxpY2VfdGFpbCgmc3RpbGxfaW5fbGlzdCwgcGhhc2UtPmxpc3Qp OwogCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpOTE1LT5tbS5vYmpfbG9jaywgZmxhZ3MpOwor CQlpZiAoZXJyKQorCQkJcmV0dXJuIGVycjsKIAl9CiAKIAlpZiAoc2hyaW5rICYgSTkxNV9TSFJJ TktfQk9VTkQpCkBAIC0yNDksNyArMjY2LDcgQEAgdW5zaWduZWQgbG9uZyBpOTE1X2dlbV9zaHJp bmtfYWxsKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQogCXVuc2lnbmVkIGxvbmcgZnJl ZWQgPSAwOwogCiAJd2l0aF9pbnRlbF9ydW50aW1lX3BtKCZpOTE1LT5ydW50aW1lX3BtLCB3YWtl cmVmKSB7Ci0JCWZyZWVkID0gaTkxNV9nZW1fc2hyaW5rKGk5MTUsIC0xVUwsIE5VTEwsCisJCWZy ZWVkID0gaTkxNV9nZW1fc2hyaW5rKE5VTEwsIGk5MTUsIC0xVUwsIE5VTEwsCiAJCQkJCUk5MTVf U0hSSU5LX0JPVU5EIHwKIAkJCQkJSTkxNV9TSFJJTktfVU5CT1VORCk7CiAJfQpAQCAtMjk1LDcg KzMxMiw3IEBAIGk5MTVfZ2VtX3Nocmlua2VyX3NjYW4oc3RydWN0IHNocmlua2VyICpzaHJpbmtl ciwgc3RydWN0IHNocmlua19jb250cm9sICpzYykKIAogCXNjLT5ucl9zY2FubmVkID0gMDsKIAot CWZyZWVkID0gaTkxNV9nZW1fc2hyaW5rKGk5MTUsCisJZnJlZWQgPSBpOTE1X2dlbV9zaHJpbmso TlVMTCwgaTkxNSwKIAkJCQlzYy0+bnJfdG9fc2NhbiwKIAkJCQkmc2MtPm5yX3NjYW5uZWQsCiAJ CQkJSTkxNV9TSFJJTktfQk9VTkQgfApAQCAtMzA0LDcgKzMyMSw3IEBAIGk5MTVfZ2VtX3Nocmlu a2VyX3NjYW4oc3RydWN0IHNocmlua2VyICpzaHJpbmtlciwgc3RydWN0IHNocmlua19jb250cm9s ICpzYykKIAkJaW50ZWxfd2FrZXJlZl90IHdha2VyZWY7CiAKIAkJd2l0aF9pbnRlbF9ydW50aW1l X3BtKCZpOTE1LT5ydW50aW1lX3BtLCB3YWtlcmVmKSB7Ci0JCQlmcmVlZCArPSBpOTE1X2dlbV9z aHJpbmsoaTkxNSwKKwkJCWZyZWVkICs9IGk5MTVfZ2VtX3NocmluayhOVUxMLCBpOTE1LAogCQkJ CQkJIHNjLT5ucl90b19zY2FuIC0gc2MtPm5yX3NjYW5uZWQsCiAJCQkJCQkgJnNjLT5ucl9zY2Fu bmVkLAogCQkJCQkJIEk5MTVfU0hSSU5LX0FDVElWRSB8CkBAIC0zMjksNyArMzQ2LDcgQEAgaTkx NV9nZW1fc2hyaW5rZXJfb29tKHN0cnVjdCBub3RpZmllcl9ibG9jayAqbmIsIHVuc2lnbmVkIGxv bmcgZXZlbnQsIHZvaWQgKnB0cikKIAogCWZyZWVkX3BhZ2VzID0gMDsKIAl3aXRoX2ludGVsX3J1 bnRpbWVfcG0oJmk5MTUtPnJ1bnRpbWVfcG0sIHdha2VyZWYpCi0JCWZyZWVkX3BhZ2VzICs9IGk5 MTVfZ2VtX3NocmluayhpOTE1LCAtMVVMLCBOVUxMLAorCQlmcmVlZF9wYWdlcyArPSBpOTE1X2dl bV9zaHJpbmsoTlVMTCwgaTkxNSwgLTFVTCwgTlVMTCwKIAkJCQkJICAgICAgIEk5MTVfU0hSSU5L X0JPVU5EIHwKIAkJCQkJICAgICAgIEk5MTVfU0hSSU5LX1VOQk9VTkQgfAogCQkJCQkgICAgICAg STkxNV9TSFJJTktfV1JJVEVCQUNLKTsKQEAgLTM2Nyw3ICszODQsNyBAQCBpOTE1X2dlbV9zaHJp bmtlcl92bWFwKHN0cnVjdCBub3RpZmllcl9ibG9jayAqbmIsIHVuc2lnbmVkIGxvbmcgZXZlbnQs IHZvaWQgKnB0cgogCWludGVsX3dha2VyZWZfdCB3YWtlcmVmOwogCiAJd2l0aF9pbnRlbF9ydW50 aW1lX3BtKCZpOTE1LT5ydW50aW1lX3BtLCB3YWtlcmVmKQotCQlmcmVlZF9wYWdlcyArPSBpOTE1 X2dlbV9zaHJpbmsoaTkxNSwgLTFVTCwgTlVMTCwKKwkJZnJlZWRfcGFnZXMgKz0gaTkxNV9nZW1f c2hyaW5rKE5VTEwsIGk5MTUsIC0xVUwsIE5VTEwsCiAJCQkJCSAgICAgICBJOTE1X1NIUklOS19C T1VORCB8CiAJCQkJCSAgICAgICBJOTE1X1NIUklOS19VTkJPVU5EIHwKIAkJCQkJICAgICAgIEk5 MTVfU0hSSU5LX1ZNQVBTKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9p OTE1X2dlbV9zaHJpbmtlci5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3No cmlua2VyLmgKaW5kZXggYjM5N2Q3Nzg1Nzg5Li44NTEyNDcwZjZmZDYgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9zaHJpbmtlci5oCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9zaHJpbmtlci5oCkBAIC05LDEwICs5LDEyIEBACiAj aW5jbHVkZSA8bGludXgvYml0cy5oPgogCiBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZTsKK3N0cnVj dCBpOTE1X2dlbV93d19jdHg7CiBzdHJ1Y3QgbXV0ZXg7CiAKIC8qIGk5MTVfZ2VtX3Nocmlua2Vy LmMgKi8KLXVuc2lnbmVkIGxvbmcgaTkxNV9nZW1fc2hyaW5rKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICppOTE1LAordW5zaWduZWQgbG9uZyBpOTE1X2dlbV9zaHJpbmsoc3RydWN0IGk5MTVfZ2Vt X3d3X2N0eCAqd3csCisJCQkgICAgICBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKIAkJ CSAgICAgIHVuc2lnbmVkIGxvbmcgdGFyZ2V0LAogCQkJICAgICAgdW5zaWduZWQgbG9uZyAqbnJf c2Nhbm5lZCwKIAkJCSAgICAgIHVuc2lnbmVkIGZsYWdzKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV90aWxpbmcuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2dlbS9pOTE1X2dlbV90aWxpbmcuYwppbmRleCBkNTg5ZDNkODEwODUuLjllODk0NTAxMzA5MCAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3RpbGluZy5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV90aWxpbmcuYwpAQCAtMjY1LDcg KzI2NSw2IEBAIGk5MTVfZ2VtX29iamVjdF9zZXRfdGlsaW5nKHN0cnVjdCBkcm1faTkxNV9nZW1f b2JqZWN0ICpvYmosCiAJICogcGFnZXMgdG8gcHJldmVudCB0aGVtIGJlaW5nIHN3YXBwZWQgb3V0 IGFuZCBjYXVzaW5nIGNvcnJ1cHRpb24KIAkgKiBkdWUgdG8gdGhlIGNoYW5nZSBpbiBzd2l6emxp bmcuCiAJICovCi0JbXV0ZXhfbG9jaygmb2JqLT5tbS5sb2NrKTsKIAlpZiAoaTkxNV9nZW1fb2Jq ZWN0X2hhc19wYWdlcyhvYmopICYmCiAJICAgIG9iai0+bW0ubWFkdiA9PSBJOTE1X01BRFZfV0lM TE5FRUQgJiYKIAkgICAgaTkxNS0+cXVpcmtzICYgUVVJUktfUElOX1NXSVpaTEVEX1BBR0VTKSB7 CkBAIC0yODAsNyArMjc5LDYgQEAgaTkxNV9nZW1fb2JqZWN0X3NldF90aWxpbmcoc3RydWN0IGRy bV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKIAkJCWk5MTVfZ2VtX29iamVjdF9zZXRfdGlsaW5nX3F1 aXJrKG9iaik7CiAJCX0KIAl9Ci0JbXV0ZXhfdW5sb2NrKCZvYmotPm1tLmxvY2spOwogCiAJc3Bp bl9sb2NrKCZvYmotPnZtYS5sb2NrKTsKIAlmb3JfZWFjaF9nZ3R0X3ZtYSh2bWEsIG9iaikgewpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3VzZXJwdHIuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV91c2VycHRyLmMKaW5kZXggNmFkZmYx ZjkxOTA2Li5jZDZlZjI5YTE4YTUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dl bS9pOTE1X2dlbV91c2VycHRyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVf Z2VtX3VzZXJwdHIuYwpAQCAtMjUzLDcgKzI1Myw3IEBAIHN0YXRpYyBpbnQgaTkxNV9nZW1fb2Jq ZWN0X3VzZXJwdHJfdW5iaW5kKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosIGJvb2wK IAlpZiAoR0VNX1dBUk5fT04oaTkxNV9nZW1fb2JqZWN0X2hhc19waW5uZWRfcGFnZXMob2JqKSkp CiAJCXJldHVybiAtRUJVU1k7CiAKLQltdXRleF9sb2NrKCZvYmotPm1tLmxvY2spOworCWFzc2Vy dF9vYmplY3RfaGVsZChvYmopOwogCiAJcGFnZXMgPSBfX2k5MTVfZ2VtX29iamVjdF91bnNldF9w YWdlcyhvYmopOwogCWlmICghSVNfRVJSX09SX05VTEwocGFnZXMpKQpAQCAtMjYxLDcgKzI2MSw2 IEBAIHN0YXRpYyBpbnQgaTkxNV9nZW1fb2JqZWN0X3VzZXJwdHJfdW5iaW5kKHN0cnVjdCBkcm1f aTkxNV9nZW1fb2JqZWN0ICpvYmosIGJvb2wKIAogCWlmIChnZXRfcGFnZXMpCiAJCWVyciA9IF9f X19pOTE1X2dlbV9vYmplY3RfZ2V0X3BhZ2VzKG9iaik7Ci0JbXV0ZXhfdW5sb2NrKCZvYmotPm1t LmxvY2spOwogCiAJcmV0dXJuIGVycjsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZGVidWdmcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMK aW5kZXggODgzMzZmZjRiZjA5Li45Y2I5N2IzMDczMGMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZGVidWdmcy5jCkBAIC05MDQsMTAgKzkwNCwxMCBAQCBpOTE1X2Ryb3BfY2FjaGVzX3NldCh2b2lk ICpkYXRhLCB1NjQgdmFsKQogCiAJZnNfcmVjbGFpbV9hY3F1aXJlKEdGUF9LRVJORUwpOwogCWlm ICh2YWwgJiBEUk9QX0JPVU5EKQotCQlpOTE1X2dlbV9zaHJpbmsoaTkxNSwgTE9OR19NQVgsIE5V TEwsIEk5MTVfU0hSSU5LX0JPVU5EKTsKKwkJaTkxNV9nZW1fc2hyaW5rKE5VTEwsIGk5MTUsIExP TkdfTUFYLCBOVUxMLCBJOTE1X1NIUklOS19CT1VORCk7CiAKIAlpZiAodmFsICYgRFJPUF9VTkJP VU5EKQotCQlpOTE1X2dlbV9zaHJpbmsoaTkxNSwgTE9OR19NQVgsIE5VTEwsIEk5MTVfU0hSSU5L X1VOQk9VTkQpOworCQlpOTE1X2dlbV9zaHJpbmsoTlVMTCwgaTkxNSwgTE9OR19NQVgsIE5VTEws IEk5MTVfU0hSSU5LX1VOQk9VTkQpOwogCiAJaWYgKHZhbCAmIERST1BfU0hSSU5LX0FMTCkKIAkJ aTkxNV9nZW1fc2hyaW5rX2FsbChpOTE1KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCmluZGV4IDI5 ZTZjOWRjOTJlMC4uZmFmZmZjMDI3MmM4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKQEAgLTk2 NiwxMCArOTY2LDYgQEAgaTkxNV9nZW1fbWFkdmlzZV9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LCB2b2lkICpkYXRhLAogCWlmIChlcnIpCiAJCWdvdG8gb3V0OwogCi0JZXJyID0gbXV0ZXhf bG9ja19pbnRlcnJ1cHRpYmxlKCZvYmotPm1tLmxvY2spOwotCWlmIChlcnIpCi0JCWdvdG8gb3V0 X3d3OwotCiAJaWYgKGk5MTVfZ2VtX29iamVjdF9oYXNfcGFnZXMob2JqKSAmJgogCSAgICBpOTE1 X2dlbV9vYmplY3RfaXNfdGlsZWQob2JqKSAmJgogCSAgICBpOTE1LT5xdWlya3MgJiBRVUlSS19Q SU5fU1dJWlpMRURfUEFHRVMpIHsKQEAgLTEwMTIsOSArMTAwOCw3IEBAIGk5MTVfZ2VtX21hZHZp c2VfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKIAkJaTkxNV9nZW1f b2JqZWN0X3RydW5jYXRlKG9iaik7CiAKIAlhcmdzLT5yZXRhaW5lZCA9IG9iai0+bW0ubWFkdiAh PSBfX0k5MTVfTUFEVl9QVVJHRUQ7Ci0JbXV0ZXhfdW5sb2NrKCZvYmotPm1tLmxvY2spOwogCi1v dXRfd3c6CiAJaTkxNV9nZW1fb2JqZWN0X3VubG9jayhvYmopOwogb3V0OgogCWk5MTVfZ2VtX29i amVjdF9wdXQob2JqKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt X2d0dC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMKaW5kZXggM2VlMmY2 ODJlZmY2Li4xY2Y5MGQ1MDZlZTIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtX2d0dC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCkBA IC00NCw3ICs0NCw3IEBAIGludCBpOTE1X2dlbV9ndHRfcHJlcGFyZV9wYWdlcyhzdHJ1Y3QgZHJt X2k5MTVfZ2VtX29iamVjdCAqb2JqLAogCQkgKiB0aGUgRE1BIHJlbWFwcGVyLCBpOTE1X2dlbV9z aHJpbmsgd2lsbCByZXR1cm4gMC4KIAkJICovCiAJCUdFTV9CVUdfT04ob2JqLT5tbS5wYWdlcyA9 PSBwYWdlcyk7Ci0JfSB3aGlsZSAoaTkxNV9nZW1fc2hyaW5rKHRvX2k5MTUob2JqLT5iYXNlLmRl diksCisJfSB3aGlsZSAoaTkxNV9nZW1fc2hyaW5rKE5VTEwsIHRvX2k5MTUob2JqLT5iYXNlLmRl diksCiAJCQkJIG9iai0+YmFzZS5zaXplID4+IFBBR0VfU0hJRlQsIE5VTEwsCiAJCQkJIEk5MTVf U0hSSU5LX0JPVU5EIHwKIAkJCQkgSTkxNV9TSFJJTktfVU5CT1VORCkpOwotLSAKMi4zMC4wCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZngg bWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK