From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1EBA3C433DB for ; Tue, 5 Jan 2021 15:46:31 +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 D481822BF5 for ; Tue, 5 Jan 2021 15:46:30 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D481822BF5 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 5B0CE6E197; Tue, 5 Jan 2021 15:46:04 +0000 (UTC) Received: from mblankhorst.nl (mblankhorst.nl [IPv6:2a02:2308::216:3eff:fe92:dfa3]) by gabe.freedesktop.org (Postfix) with ESMTPS id D60CE6E161 for ; Tue, 5 Jan 2021 15:45:41 +0000 (UTC) From: Maarten Lankhorst To: intel-gfx@lists.freedesktop.org Date: Tue, 5 Jan 2021 16:35:55 +0100 Message-Id: <20210105153558.134272-62-maarten.lankhorst@linux.intel.com> X-Mailer: git-send-email 2.30.0.rc1 In-Reply-To: <20210105153558.134272-1-maarten.lankhorst@linux.intel.com> References: <20210105153558.134272-1-maarten.lankhorst@linux.intel.com> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH v6 61/64] 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 bV9zaG1lbS5jICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1f c2hyaW5rZXIuYyAgfCAzNyArKysrKysrKysrKy0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9n ZW0vaTkxNV9nZW1fc2hyaW5rZXIuaCAgfCAgNCArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2Vt L2k5MTVfZ2VtX3RpbGluZy5jICAgIHwgIDIgLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5 MTVfZ2VtX3VzZXJwdHIuYyAgIHwgIDMgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVi dWdmcy5jICAgICAgICAgICB8ICA0ICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5j ICAgICAgICAgICAgICAgfCAgOCArLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9n dHQuYyAgICAgICAgICAgfCAgMiArLQogMTMgZmlsZXMgY2hhbmdlZCwgNTUgaW5zZXJ0aW9ucygr KSwgOTIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2Vt L2k5MTVfZ2VtX29iamVjdC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29i amVjdC5jCmluZGV4IDAyOGE1NTZhYjFhNS4uMDhkODA2YmJmNDhlIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fb2JqZWN0LmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVjdC5jCkBAIC02Miw4ICs2Miw2IEBAIHZvaWQgaTkx NV9nZW1fb2JqZWN0X2luaXQoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKIAkJCSAg Y29uc3Qgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3Rfb3BzICpvcHMsCiAJCQkgIHN0cnVjdCBs b2NrX2NsYXNzX2tleSAqa2V5LCB1bnNpZ25lZCBmbGFncykKIHsKLQltdXRleF9pbml0KCZvYmot Pm1tLmxvY2spOwotCiAJc3Bpbl9sb2NrX2luaXQoJm9iai0+dm1hLmxvY2spOwogCUlOSVRfTElT VF9IRUFEKCZvYmotPnZtYS5saXN0KTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZ2VtL2k5MTVfZ2VtX29iamVjdC5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVf Z2VtX29iamVjdC5oCmluZGV4IDNmZTQxMTgwY2M4MS4uNzQ4YjAzYWViM2M2IDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fb2JqZWN0LmgKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVjdC5oCkBAIC0xMjksNyArMTI5LDcgQEAg c3RhdGljIGlubGluZSB2b2lkIGFzc2VydF9vYmplY3RfaGVsZF9zaGFyZWQoc3RydWN0IGRybV9p OTE1X2dlbV9vYmplY3QgKm9iaikKIAkgKi8KIAlpZiAoSVNfRU5BQkxFRChDT05GSUdfTE9DS0RF UCkgJiYKIAkgICAga3JlZl9yZWFkKCZvYmotPmJhc2UucmVmY291bnQpID4gMCkKLQkJbG9ja2Rl cF9hc3NlcnRfaGVsZCgmb2JqLT5tbS5sb2NrKTsKKwkJYXNzZXJ0X29iamVjdF9oZWxkKG9iaik7 CiB9CiAKIHN0YXRpYyBpbmxpbmUgaW50IF9faTkxNV9nZW1fb2JqZWN0X2xvY2soc3RydWN0IGRy bV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKQEAgLTMzNCw3ICszMzQsNyBAQCBpbnQgX19pOTE1X2dl bV9vYmplY3RfZ2V0X3BhZ2VzKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopOwogc3Rh dGljIGlubGluZSBpbnQgX19tdXN0X2NoZWNrCiBpOTE1X2dlbV9vYmplY3RfcGluX3BhZ2VzKHN0 cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCiB7Ci0JbWlnaHRfbG9jaygmb2JqLT5tbS5s b2NrKTsKKwlhc3NlcnRfb2JqZWN0X2hlbGQob2JqKTsKIAogCWlmIChhdG9taWNfaW5jX25vdF96 ZXJvKCZvYmotPm1tLnBhZ2VzX3Bpbl9jb3VudCkpCiAJCXJldHVybiAwOwpAQCAtMzgwLDcgKzM4 MCw2IEBAIGk5MTVfZ2VtX29iamVjdF91bnBpbl9wYWdlcyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29i amVjdCAqb2JqKQogfQogCiBpbnQgX19pOTE1X2dlbV9vYmplY3RfcHV0X3BhZ2VzKHN0cnVjdCBk cm1faTkxNV9nZW1fb2JqZWN0ICpvYmopOwotaW50IF9faTkxNV9nZW1fb2JqZWN0X3B1dF9wYWdl c19sb2NrZWQoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaik7CiB2b2lkIGk5MTVfZ2Vt X29iamVjdF90cnVuY2F0ZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKTsKIHZvaWQg aTkxNV9nZW1fb2JqZWN0X3dyaXRlYmFjayhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2Jq KTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVj dF90eXBlcy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVjdF90eXBl cy5oCmluZGV4IDUyMzRjMWVkNjJkNC4uYjE3MmU4Y2M1M2FiIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fb2JqZWN0X3R5cGVzLmgKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVjdF90eXBlcy5oCkBAIC0yMDksNyArMjA5LDYg QEAgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgewogCQkgKiBQcm90ZWN0cyB0aGUgcGFnZXMg YW5kIHRoZWlyIHVzZS4gRG8gbm90IHVzZSBkaXJlY3RseSwgYnV0CiAJCSAqIGluc3RlYWQgZ28g dGhyb3VnaCB0aGUgcGluL3VucGluIGludGVyZmFjZXMuCiAJCSAqLwotCQlzdHJ1Y3QgbXV0ZXgg bG9jazsKIAkJYXRvbWljX3QgcGFnZXNfcGluX2NvdW50OwogCQlhdG9taWNfdCBzaHJpbmtfcGlu OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fcGFnZXMu YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9wYWdlcy5jCmluZGV4IDhhNmMw ZGQxYmZkZC4uMjdkNTI2MWFmOTQ5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9n ZW0vaTkxNV9nZW1fcGFnZXMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9n ZW1fcGFnZXMuYwpAQCAtNjcsNyArNjcsNyBAQCB2b2lkIF9faTkxNV9nZW1fb2JqZWN0X3NldF9w YWdlcyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAogCQlzdHJ1Y3QgbGlzdF9oZWFk ICpsaXN0OwogCQl1bnNpZ25lZCBsb25nIGZsYWdzOwogCi0JCWxvY2tkZXBfYXNzZXJ0X2hlbGQo Jm9iai0+bW0ubG9jayk7CisJCWFzc2VydF9vYmplY3RfaGVsZChvYmopOwogCQlzcGluX2xvY2tf aXJxc2F2ZSgmaTkxNS0+bW0ub2JqX2xvY2ssIGZsYWdzKTsKIAogCQlpOTE1LT5tbS5zaHJpbmtf Y291bnQrKzsKQEAgLTExNCw5ICsxMTQsNyBAQCBpbnQgX19pOTE1X2dlbV9vYmplY3RfZ2V0X3Bh Z2VzKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCiB7CiAJaW50IGVycjsKIAotCWVy ciA9IG11dGV4X2xvY2tfaW50ZXJydXB0aWJsZSgmb2JqLT5tbS5sb2NrKTsKLQlpZiAoZXJyKQot CQlyZXR1cm4gZXJyOworCWFzc2VydF9vYmplY3RfaGVsZChvYmopOwogCiAJYXNzZXJ0X29iamVj dF9oZWxkX3NoYXJlZChvYmopOwogCkBAIC0xMjUsMTUgKzEyMywxMyBAQCBpbnQgX19pOTE1X2dl bV9vYmplY3RfZ2V0X3BhZ2VzKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCiAKIAkJ ZXJyID0gX19fX2k5MTVfZ2VtX29iamVjdF9nZXRfcGFnZXMob2JqKTsKIAkJaWYgKGVycikKLQkJ CWdvdG8gdW5sb2NrOworCQkJcmV0dXJuIGVycjsKIAogCQlzbXBfbWJfX2JlZm9yZV9hdG9taWMo KTsKIAl9CiAJYXRvbWljX2luYygmb2JqLT5tbS5wYWdlc19waW5fY291bnQpOwogCi11bmxvY2s6 Ci0JbXV0ZXhfdW5sb2NrKCZvYmotPm1tLmxvY2spOwotCXJldHVybiBlcnI7CisJcmV0dXJuIDA7 CiB9CiAKIGludCBpOTE1X2dlbV9vYmplY3RfcGluX3BhZ2VzX3VubG9ja2VkKHN0cnVjdCBkcm1f aTkxNV9nZW1fb2JqZWN0ICpvYmopCkBAIC0yMjAsNyArMjE2LDcgQEAgX19pOTE1X2dlbV9vYmpl Y3RfdW5zZXRfcGFnZXMoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKIAlyZXR1cm4g cGFnZXM7CiB9CiAKLWludCBfX2k5MTVfZ2VtX29iamVjdF9wdXRfcGFnZXNfbG9ja2VkKHN0cnVj dCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCitpbnQgX19pOTE1X2dlbV9vYmplY3RfcHV0X3Bh Z2VzKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCiB7CiAJc3RydWN0IHNnX3RhYmxl ICpwYWdlczsKIApAQCAtMjUxLDIxICsyNDcsNiBAQCBpbnQgX19pOTE1X2dlbV9vYmplY3RfcHV0 X3BhZ2VzX2xvY2tlZChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQogCXJldHVybiAw OwogfQogCi1pbnQgX19pOTE1X2dlbV9vYmplY3RfcHV0X3BhZ2VzKHN0cnVjdCBkcm1faTkxNV9n ZW1fb2JqZWN0ICpvYmopCi17Ci0JaW50IGVycjsKLQotCWlmIChpOTE1X2dlbV9vYmplY3RfaGFz X3Bpbm5lZF9wYWdlcyhvYmopKQotCQlyZXR1cm4gLUVCVVNZOwotCi0JLyogTWF5IGJlIGNhbGxl ZCBieSBzaHJpbmtlciBmcm9tIHdpdGhpbiBnZXRfcGFnZXMoKSAob24gYW5vdGhlciBibykgKi8K LQltdXRleF9sb2NrKCZvYmotPm1tLmxvY2spOwotCWVyciA9IF9faTkxNV9nZW1fb2JqZWN0X3B1 dF9wYWdlc19sb2NrZWQob2JqKTsKLQltdXRleF91bmxvY2soJm9iai0+bW0ubG9jayk7Ci0KLQly ZXR1cm4gZXJyOwotfQotCiAvKiBUaGUgJ21hcHBpbmcnIHBhcnQgb2YgaTkxNV9nZW1fb2JqZWN0 X3Bpbl9tYXAoKSBiZWxvdyAqLwogc3RhdGljIHZvaWQgKmk5MTVfZ2VtX29iamVjdF9tYXBfcGFn ZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAogCQkJCSAgICAgIGVudW0gaTkxNV9t YXBfdHlwZSB0eXBlKQpAQCAtMzY4LDkgKzM0OSw3IEBAIHZvaWQgKmk5MTVfZ2VtX29iamVjdF9w aW5fbWFwKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCiAJICAgICFpOTE1X2dlbV9v YmplY3RfdHlwZV9oYXMob2JqLCBJOTE1X0dFTV9PQkpFQ1RfSEFTX0lPTUVNKSkKIAkJcmV0dXJu IEVSUl9QVFIoLUVOWElPKTsKIAotCWVyciA9IG11dGV4X2xvY2tfaW50ZXJydXB0aWJsZSgmb2Jq LT5tbS5sb2NrKTsKLQlpZiAoZXJyKQotCQlyZXR1cm4gRVJSX1BUUihlcnIpOworCWFzc2VydF9v YmplY3RfaGVsZChvYmopOwogCiAJcGlubmVkID0gISh0eXBlICYgSTkxNV9NQVBfT1ZFUlJJREUp OwogCXR5cGUgJj0gfkk5MTVfTUFQX09WRVJSSURFOwpAQCAtMzgwLDEwICszNTksOCBAQCB2b2lk ICppOTE1X2dlbV9vYmplY3RfcGluX21hcChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2Jq LAogCQkJR0VNX0JVR19PTihpOTE1X2dlbV9vYmplY3RfaGFzX3Bpbm5lZF9wYWdlcyhvYmopKTsK IAogCQkJZXJyID0gX19fX2k5MTVfZ2VtX29iamVjdF9nZXRfcGFnZXMob2JqKTsKLQkJCWlmIChl cnIpIHsKLQkJCQlwdHIgPSBFUlJfUFRSKGVycik7Ci0JCQkJZ290byBvdXRfdW5sb2NrOwotCQkJ fQorCQkJaWYgKGVycikKKwkJCQlyZXR1cm4gRVJSX1BUUihlcnIpOwogCiAJCQlzbXBfbWJfX2Jl Zm9yZV9hdG9taWMoKTsKIAkJfQpAQCAtNDE4LDEzICszOTUsMTEgQEAgdm9pZCAqaTkxNV9nZW1f b2JqZWN0X3Bpbl9tYXAoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKIAkJb2JqLT5t bS5tYXBwaW5nID0gcGFnZV9wYWNrX2JpdHMocHRyLCB0eXBlKTsKIAl9CiAKLW91dF91bmxvY2s6 Ci0JbXV0ZXhfdW5sb2NrKCZvYmotPm1tLmxvY2spOwogCXJldHVybiBwdHI7CiAKIGVycl91bnBp bjoKIAlhdG9taWNfZGVjKCZvYmotPm1tLnBhZ2VzX3Bpbl9jb3VudCk7Ci0JZ290byBvdXRfdW5s b2NrOworCXJldHVybiBwdHI7CiB9CiAKIHZvaWQgKmk5MTVfZ2VtX29iamVjdF9waW5fbWFwX3Vu bG9ja2VkKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fcGh5cy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZ2VtL2k5MTVfZ2VtX3BoeXMuYwppbmRleCBmMzE3YmU1ZjVlMzQuLjQzNWMzYjU0Y2YxNCAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3BoeXMuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fcGh5cy5jCkBAIC0yMzQsNDAgKzIz NCwyMiBAQCBpbnQgaTkxNV9nZW1fb2JqZWN0X2F0dGFjaF9waHlzKHN0cnVjdCBkcm1faTkxNV9n ZW1fb2JqZWN0ICpvYmosIGludCBhbGlnbikKIAlpZiAoZXJyKQogCQlyZXR1cm4gZXJyOwogCi0J ZXJyID0gbXV0ZXhfbG9ja19pbnRlcnJ1cHRpYmxlKCZvYmotPm1tLmxvY2spOwotCWlmIChlcnIp Ci0JCXJldHVybiBlcnI7Ci0KLQlpZiAodW5saWtlbHkoIWk5MTVfZ2VtX29iamVjdF9oYXNfc3Ry dWN0X3BhZ2Uob2JqKSkpCi0JCWdvdG8gb3V0OwotCi0JaWYgKG9iai0+bW0ubWFkdiAhPSBJOTE1 X01BRFZfV0lMTE5FRUQpIHsKLQkJZXJyID0gLUVGQVVMVDsKLQkJZ290byBvdXQ7Ci0JfQorCWlm IChvYmotPm1tLm1hZHYgIT0gSTkxNV9NQURWX1dJTExORUVEKQorCQlyZXR1cm4gLUVGQVVMVDsK IAotCWlmIChvYmotPm1tLnF1aXJrZWQpIHsKLQkJZXJyID0gLUVGQVVMVDsKLQkJZ290byBvdXQ7 Ci0JfQorCWlmIChvYmotPm1tLnF1aXJrZWQpCisJCXJldHVybiAtRUZBVUxUOwogCi0JaWYgKG9i ai0+bW0ubWFwcGluZyB8fCBpOTE1X2dlbV9vYmplY3RfaGFzX3Bpbm5lZF9wYWdlcyhvYmopKSB7 Ci0JCWVyciA9IC1FQlVTWTsKLQkJZ290byBvdXQ7Ci0JfQorCWlmIChvYmotPm1tLm1hcHBpbmcg fHwgaTkxNV9nZW1fb2JqZWN0X2hhc19waW5uZWRfcGFnZXMob2JqKSkKKwkJcmV0dXJuIC1FQlVT WTsKIAogCWlmICh1bmxpa2VseShvYmotPm1tLm1hZHYgIT0gSTkxNV9NQURWX1dJTExORUVEKSkg ewogCQlkcm1fZGJnKG9iai0+YmFzZS5kZXYsCiAJCQkiQXR0ZW1wdGluZyB0byBvYnRhaW4gYSBw dXJnZWFibGUgb2JqZWN0XG4iKTsKLQkJZXJyID0gLUVGQVVMVDsKLQkJZ290byBvdXQ7CisJCXJl dHVybiAtRUZBVUxUOwogCX0KIAotCWVyciA9IGk5MTVfZ2VtX29iamVjdF9zaG1lbV90b19waHlz KG9iaik7Ci0KLW91dDoKLQltdXRleF91bmxvY2soJm9iai0+bW0ubG9jayk7Ci0JcmV0dXJuIGVy cjsKKwlyZXR1cm4gaTkxNV9nZW1fb2JqZWN0X3NobWVtX3RvX3BoeXMob2JqKTsKIH0KIAogI2lm IElTX0VOQUJMRUQoQ09ORklHX0RSTV9JOTE1X1NFTEZURVNUKQpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3NobWVtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9nZW0vaTkxNV9nZW1fc2htZW0uYwppbmRleCA3YTU5ZmQxZWE0ZTUuLmI0ZGQ3YTcwOTgwMCAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3NobWVtLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3NobWVtLmMKQEAgLTk5LDcgKzk5 LDcgQEAgc3RhdGljIGludCBzaG1lbV9nZXRfcGFnZXMoc3RydWN0IGRybV9pOTE1X2dlbV9vYmpl Y3QgKm9iaikKIAkJCQlnb3RvIGVycl9zZzsKIAkJCX0KIAotCQkJaTkxNV9nZW1fc2hyaW5rKGk5 MTUsIDIgKiBwYWdlX2NvdW50LCBOVUxMLCAqcysrKTsKKwkJCWk5MTVfZ2VtX3NocmluayhOVUxM LCBpOTE1LCAyICogcGFnZV9jb3VudCwgTlVMTCwgKnMrKyk7CiAKIAkJCS8qCiAJCQkgKiBXZSd2 ZSB0cmllZCBoYXJkIHRvIGFsbG9jYXRlIHRoZSBtZW1vcnkgYnkgcmVhcGluZwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3Nocmlua2VyLmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fc2hyaW5rZXIuYwppbmRleCAxMWI4ZDRlNjlmYzcu LjNlMjQ4ZDNiZDg2OSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVf Z2VtX3Nocmlua2VyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3No cmlua2VyLmMKQEAgLTk0LDcgKzk0LDggQEAgc3RhdGljIHZvaWQgdHJ5X3RvX3dyaXRlYmFjayhz dHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAogICogVGhlIG51bWJlciBvZiBwYWdlcyBv ZiBiYWNraW5nIHN0b3JhZ2UgYWN0dWFsbHkgcmVsZWFzZWQuCiAgKi8KIHVuc2lnbmVkIGxvbmcK LWk5MTVfZ2VtX3NocmluayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKK2k5MTVfZ2Vt X3NocmluayhzdHJ1Y3QgaTkxNV9nZW1fd3dfY3R4ICp3dywKKwkJc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmk5MTUsCiAJCXVuc2lnbmVkIGxvbmcgdGFyZ2V0LAogCQl1bnNpZ25lZCBsb25nICpu cl9zY2FubmVkLAogCQl1bnNpZ25lZCBpbnQgc2hyaW5rKQpAQCAtMTEzLDYgKzExNCw3IEBAIGk5 MTVfZ2VtX3NocmluayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKIAlpbnRlbF93YWtl cmVmX3Qgd2FrZXJlZiA9IDA7CiAJdW5zaWduZWQgbG9uZyBjb3VudCA9IDA7CiAJdW5zaWduZWQg bG9uZyBzY2FubmVkID0gMDsKKwlpbnQgZXJyOwogCiAJdHJhY2VfaTkxNV9nZW1fc2hyaW5rKGk5 MTUsIHRhcmdldCwgc2hyaW5rKTsKIApAQCAtMjAwLDI1ICsyMDIsNDAgQEAgaTkxNV9nZW1fc2hy aW5rKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LAogCiAJCQlzcGluX3VubG9ja19pcnFy ZXN0b3JlKCZpOTE1LT5tbS5vYmpfbG9jaywgZmxhZ3MpOwogCi0JCQlpZiAodW5zYWZlX2Ryb3Bf cGFnZXMob2JqLCBzaHJpbmspICYmCi0JCQkgICAgbXV0ZXhfdHJ5bG9jaygmb2JqLT5tbS5sb2Nr KSkgeworCQkJZXJyID0gMDsKKwkJCWlmICh1bnNhZmVfZHJvcF9wYWdlcyhvYmosIHNocmluaykp IHsKIAkJCQkvKiBNYXkgYXJyaXZlIGZyb20gZ2V0X3BhZ2VzIG9uIGFub3RoZXIgYm8gKi8KLQkJ CQlpZiAoIV9faTkxNV9nZW1fb2JqZWN0X3B1dF9wYWdlc19sb2NrZWQob2JqKSkgeworCQkJCWlm ICghd3cpIHsKKwkJCQkJaWYgKCFpOTE1X2dlbV9vYmplY3RfdHJ5bG9jayhvYmopKQorCQkJCQkJ Z290byBza2lwOworCQkJCX0gZWxzZSB7CisJCQkJCWVyciA9IGk5MTVfZ2VtX29iamVjdF9sb2Nr KG9iaiwgd3cpOworCQkJCQlpZiAoZXJyKQorCQkJCQkJZ290byBza2lwOworCQkJCX0KKworCQkJ CWlmICghX19pOTE1X2dlbV9vYmplY3RfcHV0X3BhZ2VzKG9iaikpIHsKIAkJCQkJdHJ5X3RvX3dy aXRlYmFjayhvYmosIHNocmluayk7CiAJCQkJCWNvdW50ICs9IG9iai0+YmFzZS5zaXplID4+IFBB R0VfU0hJRlQ7CiAJCQkJfQotCQkJCW11dGV4X3VubG9jaygmb2JqLT5tbS5sb2NrKTsKKwkJCQlp ZiAoIXd3KQorCQkJCQlpOTE1X2dlbV9vYmplY3RfdW5sb2NrKG9iaik7CiAJCQl9CiAKIAkJCWRt YV9yZXN2X3BydW5lKG9iai0+YmFzZS5yZXN2KTsKIAogCQkJc2Nhbm5lZCArPSBvYmotPmJhc2Uu c2l6ZSA+PiBQQUdFX1NISUZUOworc2tpcDoKIAkJCWk5MTVfZ2VtX29iamVjdF9wdXQob2JqKTsK IAogCQkJc3Bpbl9sb2NrX2lycXNhdmUoJmk5MTUtPm1tLm9ial9sb2NrLCBmbGFncyk7CisJCQlp ZiAoZXJyKQorCQkJCWJyZWFrOwogCQl9CiAJCWxpc3Rfc3BsaWNlX3RhaWwoJnN0aWxsX2luX2xp c3QsIHBoYXNlLT5saXN0KTsKIAkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmaTkxNS0+bW0ub2Jq X2xvY2ssIGZsYWdzKTsKKwkJaWYgKGVycikKKwkJCXJldHVybiBlcnI7CiAJfQogCiAJaWYgKHNo cmluayAmIEk5MTVfU0hSSU5LX0JPVU5EKQpAQCAtMjQ5LDcgKzI2Niw3IEBAIHVuc2lnbmVkIGxv bmcgaTkxNV9nZW1fc2hyaW5rX2FsbChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKIAl1 bnNpZ25lZCBsb25nIGZyZWVkID0gMDsKIAogCXdpdGhfaW50ZWxfcnVudGltZV9wbSgmaTkxNS0+ cnVudGltZV9wbSwgd2FrZXJlZikgewotCQlmcmVlZCA9IGk5MTVfZ2VtX3NocmluayhpOTE1LCAt MVVMLCBOVUxMLAorCQlmcmVlZCA9IGk5MTVfZ2VtX3NocmluayhOVUxMLCBpOTE1LCAtMVVMLCBO VUxMLAogCQkJCQlJOTE1X1NIUklOS19CT1VORCB8CiAJCQkJCUk5MTVfU0hSSU5LX1VOQk9VTkQp OwogCX0KQEAgLTI5NSw3ICszMTIsNyBAQCBpOTE1X2dlbV9zaHJpbmtlcl9zY2FuKHN0cnVjdCBz aHJpbmtlciAqc2hyaW5rZXIsIHN0cnVjdCBzaHJpbmtfY29udHJvbCAqc2MpCiAKIAlzYy0+bnJf c2Nhbm5lZCA9IDA7CiAKLQlmcmVlZCA9IGk5MTVfZ2VtX3NocmluayhpOTE1LAorCWZyZWVkID0g aTkxNV9nZW1fc2hyaW5rKE5VTEwsIGk5MTUsCiAJCQkJc2MtPm5yX3RvX3NjYW4sCiAJCQkJJnNj LT5ucl9zY2FubmVkLAogCQkJCUk5MTVfU0hSSU5LX0JPVU5EIHwKQEAgLTMwNCw3ICszMjEsNyBA QCBpOTE1X2dlbV9zaHJpbmtlcl9zY2FuKHN0cnVjdCBzaHJpbmtlciAqc2hyaW5rZXIsIHN0cnVj dCBzaHJpbmtfY29udHJvbCAqc2MpCiAJCWludGVsX3dha2VyZWZfdCB3YWtlcmVmOwogCiAJCXdp dGhfaW50ZWxfcnVudGltZV9wbSgmaTkxNS0+cnVudGltZV9wbSwgd2FrZXJlZikgewotCQkJZnJl ZWQgKz0gaTkxNV9nZW1fc2hyaW5rKGk5MTUsCisJCQlmcmVlZCArPSBpOTE1X2dlbV9zaHJpbmso TlVMTCwgaTkxNSwKIAkJCQkJCSBzYy0+bnJfdG9fc2NhbiAtIHNjLT5ucl9zY2FubmVkLAogCQkJ CQkJICZzYy0+bnJfc2Nhbm5lZCwKIAkJCQkJCSBJOTE1X1NIUklOS19BQ1RJVkUgfApAQCAtMzI5 LDcgKzM0Niw3IEBAIGk5MTVfZ2VtX3Nocmlua2VyX29vbShzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sg Km5iLCB1bnNpZ25lZCBsb25nIGV2ZW50LCB2b2lkICpwdHIpCiAKIAlmcmVlZF9wYWdlcyA9IDA7 CiAJd2l0aF9pbnRlbF9ydW50aW1lX3BtKCZpOTE1LT5ydW50aW1lX3BtLCB3YWtlcmVmKQotCQlm cmVlZF9wYWdlcyArPSBpOTE1X2dlbV9zaHJpbmsoaTkxNSwgLTFVTCwgTlVMTCwKKwkJZnJlZWRf cGFnZXMgKz0gaTkxNV9nZW1fc2hyaW5rKE5VTEwsIGk5MTUsIC0xVUwsIE5VTEwsCiAJCQkJCSAg ICAgICBJOTE1X1NIUklOS19CT1VORCB8CiAJCQkJCSAgICAgICBJOTE1X1NIUklOS19VTkJPVU5E IHwKIAkJCQkJICAgICAgIEk5MTVfU0hSSU5LX1dSSVRFQkFDSyk7CkBAIC0zNjcsNyArMzg0LDcg QEAgaTkxNV9nZW1fc2hyaW5rZXJfdm1hcChzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgKm5iLCB1bnNp Z25lZCBsb25nIGV2ZW50LCB2b2lkICpwdHIKIAlpbnRlbF93YWtlcmVmX3Qgd2FrZXJlZjsKIAog CXdpdGhfaW50ZWxfcnVudGltZV9wbSgmaTkxNS0+cnVudGltZV9wbSwgd2FrZXJlZikKLQkJZnJl ZWRfcGFnZXMgKz0gaTkxNV9nZW1fc2hyaW5rKGk5MTUsIC0xVUwsIE5VTEwsCisJCWZyZWVkX3Bh Z2VzICs9IGk5MTVfZ2VtX3NocmluayhOVUxMLCBpOTE1LCAtMVVMLCBOVUxMLAogCQkJCQkgICAg ICAgSTkxNV9TSFJJTktfQk9VTkQgfAogCQkJCQkgICAgICAgSTkxNV9TSFJJTktfVU5CT1VORCB8 CiAJCQkJCSAgICAgICBJOTE1X1NIUklOS19WTUFQUyk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fc2hyaW5rZXIuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2dlbS9pOTE1X2dlbV9zaHJpbmtlci5oCmluZGV4IGIzOTdkNzc4NTc4OS4uODUxMjQ3MGY2ZmQ2 IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fc2hyaW5rZXIu aAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fc2hyaW5rZXIuaApAQCAt OSwxMCArOSwxMiBAQAogI2luY2x1ZGUgPGxpbnV4L2JpdHMuaD4KIAogc3RydWN0IGRybV9pOTE1 X3ByaXZhdGU7CitzdHJ1Y3QgaTkxNV9nZW1fd3dfY3R4Owogc3RydWN0IG11dGV4OwogCiAvKiBp OTE1X2dlbV9zaHJpbmtlci5jICovCi11bnNpZ25lZCBsb25nIGk5MTVfZ2VtX3NocmluayhzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKK3Vuc2lnbmVkIGxvbmcgaTkxNV9nZW1fc2hyaW5r KHN0cnVjdCBpOTE1X2dlbV93d19jdHggKnd3LAorCQkJICAgICAgc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmk5MTUsCiAJCQkgICAgICB1bnNpZ25lZCBsb25nIHRhcmdldCwKIAkJCSAgICAgIHVu c2lnbmVkIGxvbmcgKm5yX3NjYW5uZWQsCiAJCQkgICAgICB1bnNpZ25lZCBmbGFncyk7CmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fdGlsaW5nLmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fdGlsaW5nLmMKaW5kZXggZmZjYWVlNzRhMjQ5 Li40NTIzYTE0ZGI4NmUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1 X2dlbV90aWxpbmcuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fdGls aW5nLmMKQEAgLTI2NSw3ICsyNjUsNiBAQCBpOTE1X2dlbV9vYmplY3Rfc2V0X3RpbGluZyhzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAogCSAqIHBhZ2VzIHRvIHByZXZlbnQgdGhlbSBi ZWluZyBzd2FwcGVkIG91dCBhbmQgY2F1c2luZyBjb3JydXB0aW9uCiAJICogZHVlIHRvIHRoZSBj aGFuZ2UgaW4gc3dpenpsaW5nLgogCSAqLwotCW11dGV4X2xvY2soJm9iai0+bW0ubG9jayk7CiAJ aWYgKGk5MTVfZ2VtX29iamVjdF9oYXNfcGFnZXMob2JqKSAmJgogCSAgICBvYmotPm1tLm1hZHYg PT0gSTkxNV9NQURWX1dJTExORUVEICYmCiAJICAgIGk5MTUtPnF1aXJrcyAmIFFVSVJLX1BJTl9T V0laWkxFRF9QQUdFUykgewpAQCAtMjgwLDcgKzI3OSw2IEBAIGk5MTVfZ2VtX29iamVjdF9zZXRf dGlsaW5nKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCiAJCQlvYmotPm1tLnF1aXJr ZWQgPSB0cnVlOwogCQl9CiAJfQotCW11dGV4X3VubG9jaygmb2JqLT5tbS5sb2NrKTsKIAogCXNw aW5fbG9jaygmb2JqLT52bWEubG9jayk7CiAJZm9yX2VhY2hfZ2d0dF92bWEodm1hLCBvYmopIHsK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV91c2VycHRyLmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fdXNlcnB0ci5jCmluZGV4IGIxYzAz NWM1NTcwOC4uODRjM2U4ZGMxNDkxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9n ZW0vaTkxNV9nZW1fdXNlcnB0ci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1 X2dlbV91c2VycHRyLmMKQEAgLTI0Niw3ICsyNDYsNyBAQCBzdGF0aWMgaW50IGk5MTVfZ2VtX29i amVjdF91c2VycHRyX3VuYmluZChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLCBib29s CiAJaWYgKEdFTV9XQVJOX09OKGk5MTVfZ2VtX29iamVjdF9oYXNfcGlubmVkX3BhZ2VzKG9iaikp KQogCQlyZXR1cm4gLUVCVVNZOwogCi0JbXV0ZXhfbG9jaygmb2JqLT5tbS5sb2NrKTsKKwlhc3Nl cnRfb2JqZWN0X2hlbGQob2JqKTsKIAogCXBhZ2VzID0gX19pOTE1X2dlbV9vYmplY3RfdW5zZXRf cGFnZXMob2JqKTsKIAlpZiAoIUlTX0VSUl9PUl9OVUxMKHBhZ2VzKSkKQEAgLTI1NCw3ICsyNTQs NiBAQCBzdGF0aWMgaW50IGk5MTVfZ2VtX29iamVjdF91c2VycHRyX3VuYmluZChzdHJ1Y3QgZHJt X2k5MTVfZ2VtX29iamVjdCAqb2JqLCBib29sCiAKIAlpZiAoZ2V0X3BhZ2VzKQogCQllcnIgPSBf X19faTkxNV9nZW1fb2JqZWN0X2dldF9wYWdlcyhvYmopOwotCW11dGV4X3VubG9jaygmb2JqLT5t bS5sb2NrKTsKIAogCXJldHVybiBlcnI7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2RlYnVnZnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5j CmluZGV4IGRlOGUwZTQ0Y2ZiNi4uZGQwMTEyN2NlZDBmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2RlYnVnZnMuYwpAQCAtMTA0NiwxMCArMTA0NiwxMCBAQCBpOTE1X2Ryb3BfY2FjaGVzX3NldCh2 b2lkICpkYXRhLCB1NjQgdmFsKQogCiAJZnNfcmVjbGFpbV9hY3F1aXJlKEdGUF9LRVJORUwpOwog CWlmICh2YWwgJiBEUk9QX0JPVU5EKQotCQlpOTE1X2dlbV9zaHJpbmsoaTkxNSwgTE9OR19NQVgs IE5VTEwsIEk5MTVfU0hSSU5LX0JPVU5EKTsKKwkJaTkxNV9nZW1fc2hyaW5rKE5VTEwsIGk5MTUs IExPTkdfTUFYLCBOVUxMLCBJOTE1X1NIUklOS19CT1VORCk7CiAKIAlpZiAodmFsICYgRFJPUF9V TkJPVU5EKQotCQlpOTE1X2dlbV9zaHJpbmsoaTkxNSwgTE9OR19NQVgsIE5VTEwsIEk5MTVfU0hS SU5LX1VOQk9VTkQpOworCQlpOTE1X2dlbV9zaHJpbmsoTlVMTCwgaTkxNSwgTE9OR19NQVgsIE5V TEwsIEk5MTVfU0hSSU5LX1VOQk9VTkQpOwogCiAJaWYgKHZhbCAmIERST1BfU0hSSU5LX0FMTCkK IAkJaTkxNV9nZW1fc2hyaW5rX2FsbChpOTE1KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCmluZGV4 IGRkODExZDBmOTZmMi4uNDI2NjhhMWJjNGM0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKQEAg LTEwNjgsMTAgKzEwNjgsNiBAQCBpOTE1X2dlbV9tYWR2aXNlX2lvY3RsKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsIHZvaWQgKmRhdGEsCiAJaWYgKGVycikKIAkJZ290byBvdXQ7CiAKLQllcnIgPSBt dXRleF9sb2NrX2ludGVycnVwdGlibGUoJm9iai0+bW0ubG9jayk7Ci0JaWYgKGVycikKLQkJZ290 byBvdXRfd3c7Ci0KIAlpZiAoaTkxNV9nZW1fb2JqZWN0X2hhc19wYWdlcyhvYmopICYmCiAJICAg IGk5MTVfZ2VtX29iamVjdF9pc190aWxlZChvYmopICYmCiAJICAgIGk5MTUtPnF1aXJrcyAmIFFV SVJLX1BJTl9TV0laWkxFRF9QQUdFUykgewpAQCAtMTExNCw5ICsxMTEwLDcgQEAgaTkxNV9nZW1f bWFkdmlzZV9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAogCQlpOTE1 X2dlbV9vYmplY3RfdHJ1bmNhdGUob2JqKTsKIAogCWFyZ3MtPnJldGFpbmVkID0gb2JqLT5tbS5t YWR2ICE9IF9fSTkxNV9NQURWX1BVUkdFRDsKLQltdXRleF91bmxvY2soJm9iai0+bW0ubG9jayk7 CiAKLW91dF93dzoKIAlpOTE1X2dlbV9vYmplY3RfdW5sb2NrKG9iaik7CiBvdXQ6CiAJaTkxNV9n ZW1fb2JqZWN0X3B1dChvYmopOwpAQCAtMTI5NSw3ICsxMjg5LDcgQEAgaW50IGk5MTVfZ2VtX2Zy ZWV6ZV9sYXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQogCiAJd2FrZXJlZiA9IGlu dGVsX3J1bnRpbWVfcG1fZ2V0KCZpOTE1LT5ydW50aW1lX3BtKTsKIAotCWk5MTVfZ2VtX3Nocmlu ayhpOTE1LCAtMVVMLCBOVUxMLCB+MCk7CisJaTkxNV9nZW1fc2hyaW5rKE5VTEwsIGk5MTUsIC0x VUwsIE5VTEwsIH4wKTsKIAlpOTE1X2dlbV9kcmFpbl9mcmVlZF9vYmplY3RzKGk5MTUpOwogCiAJ bGlzdF9mb3JfZWFjaF9lbnRyeShvYmosICZpOTE1LT5tbS5zaHJpbmtfbGlzdCwgbW0ubGluaykg ewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYwppbmRleCAzZWUyZjY4MmVmZjYuLjFjZjkw ZDUwNmVlMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMKQEAgLTQ0LDcgKzQ0LDcg QEAgaW50IGk5MTVfZ2VtX2d0dF9wcmVwYXJlX3BhZ2VzKHN0cnVjdCBkcm1faTkxNV9nZW1fb2Jq ZWN0ICpvYmosCiAJCSAqIHRoZSBETUEgcmVtYXBwZXIsIGk5MTVfZ2VtX3NocmluayB3aWxsIHJl dHVybiAwLgogCQkgKi8KIAkJR0VNX0JVR19PTihvYmotPm1tLnBhZ2VzID09IHBhZ2VzKTsKLQl9 IHdoaWxlIChpOTE1X2dlbV9zaHJpbmsodG9faTkxNShvYmotPmJhc2UuZGV2KSwKKwl9IHdoaWxl IChpOTE1X2dlbV9zaHJpbmsoTlVMTCwgdG9faTkxNShvYmotPmJhc2UuZGV2KSwKIAkJCQkgb2Jq LT5iYXNlLnNpemUgPj4gUEFHRV9TSElGVCwgTlVMTCwKIAkJCQkgSTkxNV9TSFJJTktfQk9VTkQg fAogCQkJCSBJOTE1X1NIUklOS19VTkJPVU5EKSk7Ci0tIAoyLjMwLjAucmMxCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBs aXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK