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=-8.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, HK_RANDOM_FROM,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,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 34A3BC2BA83 for ; Fri, 7 Feb 2020 16:13:37 +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 137E721775 for ; Fri, 7 Feb 2020 16:13:37 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 137E721775 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 8B86F6E902; Fri, 7 Feb 2020 16:13:36 +0000 (UTC) Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id F12486E902 for ; Fri, 7 Feb 2020 16:13:35 +0000 (UTC) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga104.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 07 Feb 2020 08:13:35 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.70,414,1574150400"; d="scan'208";a="226515293" Received: from aabader-mobl1.ccr.corp.intel.com (HELO localhost.localdomain) ([10.252.21.249]) by fmsmga008.fm.intel.com with ESMTP; 07 Feb 2020 08:13:34 -0800 From: Tvrtko Ursulin To: Intel-gfx@lists.freedesktop.org Date: Fri, 7 Feb 2020 16:13:26 +0000 Message-Id: <20200207161331.23447-2-tvrtko.ursulin@linux.intel.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200207161331.23447-1-tvrtko.ursulin@linux.intel.com> References: <20200207161331.23447-1-tvrtko.ursulin@linux.intel.com> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH 1/6] drm/i915: Expose list of clients in sysfs 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: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCkV4cG9zZSBh IGxpc3Qgb2YgY2xpZW50cyB3aXRoIG9wZW4gZmlsZSBoYW5kbGVzIGluIHN5c2ZzLgoKVGhpcyB3 aWxsIGJlIGEgYmFzaXMgZm9yIGEgdG9wLWxpa2UgdXRpbGl0eSBzaG93aW5nIHBlci1jbGllbnQg YW5kIHBlci0KZW5naW5lIEdQVSBsb2FkLgoKQ3VycmVudGx5IHdlIG9ubHkgZXhwb3NlIGVhY2gg Y2xpZW50J3MgcGlkIGFuZCBuYW1lIHVuZGVyIG9wYXF1ZSBudW1iZXJlZApkaXJlY3RvcmllcyBp biAvc3lzL2NsYXNzL2RybS9jYXJkMC9jbGllbnRzLy4KCkZvciBpbnN0YW5jZToKCi9zeXMvY2xh c3MvZHJtL2NhcmQwL2NsaWVudHMvMy9uYW1lOiBYb3JnCi9zeXMvY2xhc3MvZHJtL2NhcmQwL2Ns aWVudHMvMy9waWQ6IDU2NjQKCnYyOgogQ2hyaXMgV2lsc29uOgogKiBFbmNsb3NlIG5ldyBtZW1i ZXJzIGludG8gZGVkaWNhdGVkIHN0cnVjdHMuCiAqIFByb3RlY3QgYWdhaW5zdCBmYWlsZWQgc3lz ZnMgcmVnaXN0cmF0aW9uLgoKdjM6CiAqIHN5c2ZzX2F0dHJfaW5pdC4KCnY0OgogKiBGaXggZm9y IGludGVybmFsIGNsaWVudHMuCgp2NToKICogVXNlIGN5Y2xpYyBpZGEgZm9yIGNsaWVudCBpZC4g KENocmlzKQogKiBEbyBub3QgbGVhayBwaWQgcmVmZXJlbmNlLiAoQ2hyaXMpCiAqIFRpZHkgY29k ZSB3aXRoIHNvbWUgbG9jYWxzLgoKdjY6CiAqIFVzZSB4YV9hbGxvY19jeWNsaWMgdG8gc2ltcGxp ZnkgbG9ja2luZy4gKENocmlzKQogKiBObyBuZWVkIHRvIHVucmVnaXN0ZXIgaW5kaXZpZGlhbCBz eXNmcyBmaWxlcy4gKENocmlzKQogKiBSZWJhc2Ugb24gdG9wIG9mIGZwcml2IGtyZWYuCiAqIFRy YWNrIGNsaWVudCBjbG9zZWQgc3RhdHVzIGFuZCByZWZsZWN0IGluIHN5c2ZzLgoKdjc6CiAqIE1h a2UgZHJtX2NsaWVudCBtb3JlIHN0YW5kYWxvbmUgY29uY2VwdC4KCnY4OgogKiBTaW1wbGlmeSBz eXNmcyBzaG93LiAoQ2hyaXMpCiAqIEFsd2F5cyB0cmFjayBuYW1lIGFuZCBwaWQuCgpTaWduZWQt b2ZmLWJ5OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgotLS0KIGRy aXZlcnMvZ3B1L2RybS9pOTE1L01ha2VmaWxlICAgICAgICAgIHwgICAzICstCiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2RybV9jbGllbnQuYyB8IDE1MiArKysrKysrKysrKysrKysrKysrKysr KysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RybV9jbGllbnQuaCB8ICA2MSArKysrKysr KysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgICB8ICAgNSArCiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jICAgICAgICB8ICAzNSArKysrLS0KIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfc3lzZnMuYyAgICAgIHwgICA4ICsrCiA2IGZpbGVzIGNoYW5nZWQs IDI1NiBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGRy aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJtX2NsaWVudC5jCiBjcmVhdGUgbW9kZSAxMDA2NDQg ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcm1fY2xpZW50LmgKCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmlsZSBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2VmaWxl CmluZGV4IDQ5ZWVkNTBlZjBhNC4uZWNhNjJjMjcyY2EyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9NYWtlZmlsZQorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmlsZQpA QCAtMzYsNyArMzYsOCBAQCBzdWJkaXItY2NmbGFncy15ICs9IC1JJChzcmN0cmVlKS8kKHNyYykK ICMgUGxlYXNlIGtlZXAgdGhlc2UgYnVpbGQgbGlzdHMgc29ydGVkIQogCiAjIGNvcmUgZHJpdmVy IGNvZGUKLWk5MTUteSArPSBpOTE1X2Rydi5vIFwKK2k5MTUteSArPSBpOTE1X2RybV9jbGllbnQu byBcCisJICBpOTE1X2Rydi5vIFwKIAkgIGk5MTVfaXJxLm8gXAogCSAgaTkxNV9nZXRwYXJhbS5v IFwKIAkgIGk5MTVfcGFyYW1zLm8gXApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kcm1fY2xpZW50LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RybV9jbGllbnQu YwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmY5Nzk4OTMyOWRmNQot LS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJtX2NsaWVudC5j CkBAIC0wLDAgKzEsMTUyIEBACisvKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVAor ICoKKyAqIENvcHlyaWdodCDCqSAyMDIwIEludGVsIENvcnBvcmF0aW9uCisgKi8KKworI2luY2x1 ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KKyNpbmNsdWRlIDxs aW51eC90eXBlcy5oPgorCisjaW5jbHVkZSAiaTkxNV9kcm1fY2xpZW50LmgiCisjaW5jbHVkZSAi aTkxNV9nZW0uaCIKKyNpbmNsdWRlICJpOTE1X3V0aWxzLmgiCisKK3N0YXRpYyBzc2l6ZV90Citz aG93X2NsaWVudF9uYW1lKHN0cnVjdCBkZXZpY2UgKmtkZXYsIHN0cnVjdCBkZXZpY2VfYXR0cmli dXRlICphdHRyLCBjaGFyICpidWYpCit7CisJc3RydWN0IGk5MTVfZHJtX2NsaWVudCAqY2xpZW50 ID0KKwkJY29udGFpbmVyX29mKGF0dHIsIHR5cGVvZigqY2xpZW50KSwgYXR0ci5uYW1lKTsKKwor CXJldHVybiBzbnByaW50ZihidWYsIFBBR0VfU0laRSwKKwkJCWNsaWVudC0+Y2xvc2VkID8gIjwl cz4iIDogIiVzIiwKKwkJCWNsaWVudC0+bmFtZSk7Cit9CisKK3N0YXRpYyBzc2l6ZV90CitzaG93 X2NsaWVudF9waWQoc3RydWN0IGRldmljZSAqa2Rldiwgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUg KmF0dHIsIGNoYXIgKmJ1ZikKK3sKKwlzdHJ1Y3QgaTkxNV9kcm1fY2xpZW50ICpjbGllbnQgPQor CQljb250YWluZXJfb2YoYXR0ciwgdHlwZW9mKCpjbGllbnQpLCBhdHRyLnBpZCk7CisKKwlyZXR1 cm4gc25wcmludGYoYnVmLCBQQUdFX1NJWkUsCisJCQljbGllbnQtPmNsb3NlZCA/ICI8JXU+IiA6 ICIldSIsCisJCQlwaWRfbnIoY2xpZW50LT5waWQpKTsKK30KKworc3RhdGljIGludAorX19pOTE1 X2RybV9jbGllbnRfcmVnaXN0ZXIoc3RydWN0IGk5MTVfZHJtX2NsaWVudCAqY2xpZW50LAorCQkJ ICAgc3RydWN0IHRhc2tfc3RydWN0ICp0YXNrKQoreworCXN0cnVjdCBpOTE1X2RybV9jbGllbnRz ICpjbGllbnRzID0gY2xpZW50LT5jbGllbnRzOworCXN0cnVjdCBkZXZpY2VfYXR0cmlidXRlICph dHRyOworCWludCByZXQgPSAtRU5PTUVNOworCWNoYXIgaWRzdHJbMzJdOworCisJY2xpZW50LT5w aWQgPSBnZXRfdGFza19waWQodGFzaywgUElEVFlQRV9QSUQpOworCisJY2xpZW50LT5uYW1lID0g a3N0cmR1cCh0YXNrLT5jb21tLCBHRlBfS0VSTkVMKTsKKwlpZiAoIWNsaWVudC0+bmFtZSkKKwkJ Z290byBlcnJfbmFtZTsKKworCWlmICghY2xpZW50cy0+cm9vdCkKKwkJcmV0dXJuIDA7IC8qIGlu dGVsX2ZiZGV2X2luaXQgcmVnaXN0ZXJzIGEgY2xpZW50IGJlZm9yZSBzeXNmcyAqLworCisJc25w cmludGYoaWRzdHIsIHNpemVvZihpZHN0ciksICIldSIsIGNsaWVudC0+aWQpOworCWNsaWVudC0+ cm9vdCA9IGtvYmplY3RfY3JlYXRlX2FuZF9hZGQoaWRzdHIsIGNsaWVudHMtPnJvb3QpOworCWlm ICghY2xpZW50LT5yb290KQorCQlnb3RvIGVycl9jbGllbnQ7CisKKwlhdHRyID0gJmNsaWVudC0+ YXR0ci5uYW1lOworCXN5c2ZzX2F0dHJfaW5pdCgmYXR0ci0+YXR0cik7CisJYXR0ci0+YXR0ci5u YW1lID0gIm5hbWUiOworCWF0dHItPmF0dHIubW9kZSA9IDA0NDQ7CisJYXR0ci0+c2hvdyA9IHNo b3dfY2xpZW50X25hbWU7CisKKwlyZXQgPSBzeXNmc19jcmVhdGVfZmlsZShjbGllbnQtPnJvb3Qs IChzdHJ1Y3QgYXR0cmlidXRlICopYXR0cik7CisJaWYgKHJldCkKKwkJZ290byBlcnJfYXR0cjsK KworCWF0dHIgPSAmY2xpZW50LT5hdHRyLnBpZDsKKwlzeXNmc19hdHRyX2luaXQoJmF0dHItPmF0 dHIpOworCWF0dHItPmF0dHIubmFtZSA9ICJwaWQiOworCWF0dHItPmF0dHIubW9kZSA9IDA0NDQ7 CisJYXR0ci0+c2hvdyA9IHNob3dfY2xpZW50X3BpZDsKKworCXJldCA9IHN5c2ZzX2NyZWF0ZV9m aWxlKGNsaWVudC0+cm9vdCwgKHN0cnVjdCBhdHRyaWJ1dGUgKilhdHRyKTsKKwlpZiAocmV0KQor CQlnb3RvIGVycl9hdHRyOworCisJcmV0dXJuIDA7CisKK2Vycl9hdHRyOgorCWtvYmplY3RfcHV0 KGNsaWVudC0+cm9vdCk7CitlcnJfY2xpZW50OgorCWtmcmVlKGNsaWVudC0+bmFtZSk7CitlcnJf bmFtZToKKwlwdXRfcGlkKGNsaWVudC0+cGlkKTsKKworCXJldHVybiByZXQ7Cit9CisKK3N0YXRp YyB2b2lkCitfX2k5MTVfZHJtX2NsaWVudF91bnJlZ2lzdGVyKHN0cnVjdCBpOTE1X2RybV9jbGll bnQgKmNsaWVudCkKK3sKKwlwdXRfcGlkKGZldGNoX2FuZF96ZXJvKCZjbGllbnQtPnBpZCkpOwor CWtmcmVlKGZldGNoX2FuZF96ZXJvKCZjbGllbnQtPm5hbWUpKTsKKworCWlmICghY2xpZW50LT5y b290KQorCQlyZXR1cm47IC8qIGZiZGV2IGNsaWVudCBvciBlcnJvciBkdXJpbmcgZHJtIG9wZW4g Ki8KKworCWtvYmplY3RfcHV0KGZldGNoX2FuZF96ZXJvKCZjbGllbnQtPnJvb3QpKTsKK30KKwor c3RydWN0IGk5MTVfZHJtX2NsaWVudCAqCitpOTE1X2RybV9jbGllbnRfYWRkKHN0cnVjdCBpOTE1 X2RybV9jbGllbnRzICpjbGllbnRzLCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhc2spCit7CisJc3Ry dWN0IGk5MTVfZHJtX2NsaWVudCAqY2xpZW50OworCXUzMiBuZXh0ID0gMDsKKwlpbnQgcmV0Owor CisJY2xpZW50ID0ga3phbGxvYyhzaXplb2YoKmNsaWVudCksIEdGUF9LRVJORUwpOworCWlmICgh Y2xpZW50KQorCQlyZXR1cm4gRVJSX1BUUigtRU5PTUVNKTsKKworCWtyZWZfaW5pdCgmY2xpZW50 LT5rcmVmKTsKKwljbGllbnQtPmNsaWVudHMgPSBjbGllbnRzOworCisJcmV0ID0geGFfYWxsb2Nf Y3ljbGljKCZjbGllbnRzLT54YXJyYXksICZjbGllbnQtPmlkLCBjbGllbnQsCisJCQkgICAgICB4 YV9saW1pdF8zMmIsICZuZXh0LCBHRlBfS0VSTkVMKTsKKwlpZiAocmV0KQorCQlnb3RvIGVycl9p ZDsKKworCXJldCA9IF9faTkxNV9kcm1fY2xpZW50X3JlZ2lzdGVyKGNsaWVudCwgdGFzayk7CisJ aWYgKHJldCkKKwkJZ290byBlcnJfcmVnaXN0ZXI7CisKKwlyZXR1cm4gY2xpZW50OworCitlcnJf cmVnaXN0ZXI6CisJeGFfZXJhc2UoJmNsaWVudHMtPnhhcnJheSwgY2xpZW50LT5pZCk7CitlcnJf aWQ6CisJa2ZyZWUoY2xpZW50KTsKKworCXJldHVybiBFUlJfUFRSKHJldCk7Cit9CisKK3ZvaWQg X19pOTE1X2RybV9jbGllbnRfZnJlZShzdHJ1Y3Qga3JlZiAqa3JlZikKK3sKKwlzdHJ1Y3QgaTkx NV9kcm1fY2xpZW50ICpjbGllbnQgPQorCQljb250YWluZXJfb2Yoa3JlZiwgdHlwZW9mKCpjbGll bnQpLCBrcmVmKTsKKworCV9faTkxNV9kcm1fY2xpZW50X3VucmVnaXN0ZXIoY2xpZW50KTsKKwl4 YV9lcmFzZSgmY2xpZW50LT5jbGllbnRzLT54YXJyYXksIGNsaWVudC0+aWQpOworCWtmcmVlX3Jj dShjbGllbnQsIHJjdSk7Cit9CisKK3ZvaWQgaTkxNV9kcm1fY2xpZW50X2Nsb3NlKHN0cnVjdCBp OTE1X2RybV9jbGllbnQgKmNsaWVudCkKK3sKKwlHRU1fQlVHX09OKGNsaWVudC0+Y2xvc2VkKTsK KwljbGllbnQtPmNsb3NlZCA9IHRydWU7CisJaTkxNV9kcm1fY2xpZW50X3B1dChjbGllbnQpOwor fQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcm1fY2xpZW50LmggYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RybV9jbGllbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwMDAwMDAuLjhiMjYxZGM0YTFmMwotLS0gL2Rldi9udWxsCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJtX2NsaWVudC5oCkBAIC0wLDAgKzEsNjEgQEAKKy8q CisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUCisgKgorICogQ29weXJpZ2h0IMKpIDIw MjAgSW50ZWwgQ29ycG9yYXRpb24KKyAqLworCisjaWZuZGVmIF9fSTkxNV9EUk1fQ0xJRU5UX0hf XworI2RlZmluZSBfX0k5MTVfRFJNX0NMSUVOVF9IX18KKworI2luY2x1ZGUgPGxpbnV4L2Rldmlj ZS5oPgorI2luY2x1ZGUgPGxpbnV4L2tvYmplY3QuaD4KKyNpbmNsdWRlIDxsaW51eC9rcmVmLmg+ CisjaW5jbHVkZSA8bGludXgvcGlkLmg+CisjaW5jbHVkZSA8bGludXgvcmN1cGRhdGUuaD4KKyNp bmNsdWRlIDxsaW51eC9zY2hlZC5oPgorI2luY2x1ZGUgPGxpbnV4L3hhcnJheS5oPgorCitzdHJ1 Y3QgaTkxNV9kcm1fY2xpZW50cyB7CisJc3RydWN0IHhhcnJheSB4YXJyYXk7CisJc3RydWN0IGtv YmplY3QgKnJvb3Q7Cit9OworCitzdHJ1Y3QgaTkxNV9kcm1fY2xpZW50IHsKKwlzdHJ1Y3Qga3Jl ZiBrcmVmOworCisJc3RydWN0IHJjdV9oZWFkIHJjdTsKKworCXVuc2lnbmVkIGludCBpZDsKKwlz dHJ1Y3QgcGlkICpwaWQ7CisJY2hhciAqbmFtZTsKKwlib29sIGNsb3NlZDsKKworCXN0cnVjdCBp OTE1X2RybV9jbGllbnRzICpjbGllbnRzOworCisJc3RydWN0IGtvYmplY3QgKnJvb3Q7CisJc3Ry dWN0IHsKKwkJc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgcGlkOworCQlzdHJ1Y3QgZGV2aWNlX2F0 dHJpYnV0ZSBuYW1lOworCX0gYXR0cjsKK307CisKK3N0YXRpYyBpbmxpbmUgc3RydWN0IGk5MTVf ZHJtX2NsaWVudCAqCitpOTE1X2RybV9jbGllbnRfZ2V0KHN0cnVjdCBpOTE1X2RybV9jbGllbnQg KmNsaWVudCkKK3sKKwlrcmVmX2dldCgmY2xpZW50LT5rcmVmKTsKKwlyZXR1cm4gY2xpZW50Owor fQorCit2b2lkIF9faTkxNV9kcm1fY2xpZW50X2ZyZWUoc3RydWN0IGtyZWYgKmtyZWYpOworCitz dGF0aWMgaW5saW5lIHZvaWQgaTkxNV9kcm1fY2xpZW50X3B1dChzdHJ1Y3QgaTkxNV9kcm1fY2xp ZW50ICpjbGllbnQpCit7CisJa3JlZl9wdXQoJmNsaWVudC0+a3JlZiwgX19pOTE1X2RybV9jbGll bnRfZnJlZSk7Cit9CisKK3ZvaWQgaTkxNV9kcm1fY2xpZW50X2Nsb3NlKHN0cnVjdCBpOTE1X2Ry bV9jbGllbnQgKmNsaWVudCk7CisKK3N0cnVjdCBpOTE1X2RybV9jbGllbnQgKmk5MTVfZHJtX2Ns aWVudF9hZGQoc3RydWN0IGk5MTVfZHJtX2NsaWVudHMgKmNsaWVudHMsCisJCQkJCSAgICBzdHJ1 Y3QgdGFza19zdHJ1Y3QgKnRhc2spOworCisjZW5kaWYgLyogIV9fSTkxNV9EUk1fQ0xJRU5UX0hf XyAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggMzQ1MjkyNmQ3Yjc3Li42ZTc2ODUzMjNj Y2QgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApAQCAtOTIsNiArOTIsNyBAQAogI2luY2x1ZGUg ImludGVsX3dha2VyZWYuaCIKICNpbmNsdWRlICJpbnRlbF93b3BjbS5oIgogCisjaW5jbHVkZSAi aTkxNV9kcm1fY2xpZW50LmgiCiAjaW5jbHVkZSAiaTkxNV9nZW0uaCIKICNpbmNsdWRlICJpOTE1 X2dlbV9mZW5jZV9yZWcuaCIKICNpbmNsdWRlICJpOTE1X2dlbV9ndHQuaCIKQEAgLTIyMyw2ICsy MjQsOCBAQCBzdHJ1Y3QgZHJtX2k5MTVfZmlsZV9wcml2YXRlIHsKIAkvKiogYmFuX3Njb3JlOiBB Y2N1bXVsYXRlZCBzY29yZSBvZiBhbGwgY3R4IGJhbnMgYW5kIGZhc3QgaGFuZ3MuICovCiAJYXRv bWljX3QgYmFuX3Njb3JlOwogCXVuc2lnbmVkIGxvbmcgaGFuZ190aW1lc3RhbXA7CisKKwlzdHJ1 Y3QgaTkxNV9kcm1fY2xpZW50ICpjbGllbnQ7CiB9OwogCiAvKiBJbnRlcmZhY2UgaGlzdG9yeToK QEAgLTEyNjEsNiArMTI2NCw4IEBAIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlIHsKIAogCXN0cnVj dCBpOTE1X3BtdSBwbXU7CiAKKwlzdHJ1Y3QgaTkxNV9kcm1fY2xpZW50cyBjbGllbnRzOworCiAJ c3RydWN0IGk5MTVfaGRjcF9jb21wX21hc3RlciAqaGRjcF9tYXN0ZXI7CiAJYm9vbCBoZGNwX2Nv bXBfYWRkZWQ7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCmluZGV4IGE3MTJlNjBiMDE2YS4uMjU3 MWZmYjllNTY3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKQEAgLTEyMjIsMTIgKzEyMjIsMTQg QEAgc3RhdGljIHZvaWQgaTkxNV9nZW1faW5pdF9fbW0oc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg Kmk5MTUpCiAJaTkxNV9nZW1faW5pdF9fb2JqZWN0cyhpOTE1KTsKIH0KIAotdm9pZCBpOTE1X2dl bV9pbml0X2Vhcmx5KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKK3ZvaWQgaTkx NV9nZW1faW5pdF9lYXJseShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKIHsKLQlpOTE1 X2dlbV9pbml0X19tbShkZXZfcHJpdik7Ci0JaTkxNV9nZW1faW5pdF9fY29udGV4dHMoZGV2X3By aXYpOworCWk5MTVfZ2VtX2luaXRfX21tKGk5MTUpOworCWk5MTVfZ2VtX2luaXRfX2NvbnRleHRz KGk5MTUpOwogCi0Jc3Bpbl9sb2NrX2luaXQoJmRldl9wcml2LT5mYl90cmFja2luZy5sb2NrKTsK KwlzcGluX2xvY2tfaW5pdCgmaTkxNS0+ZmJfdHJhY2tpbmcubG9jayk7CisKKwl4YV9pbml0X2Zs YWdzKCZpOTE1LT5jbGllbnRzLnhhcnJheSwgWEFfRkxBR1NfQUxMT0MpOwogfQogCiB2b2lkIGk5 MTVfZ2VtX2NsZWFudXBfZWFybHkoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQpA QCAtMTIzNiw2ICsxMjM4LDggQEAgdm9pZCBpOTE1X2dlbV9jbGVhbnVwX2Vhcmx5KHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAlHRU1fQlVHX09OKCFsbGlzdF9lbXB0eSgmZGV2 X3ByaXYtPm1tLmZyZWVfbGlzdCkpOwogCUdFTV9CVUdfT04oYXRvbWljX3JlYWQoJmRldl9wcml2 LT5tbS5mcmVlX2NvdW50KSk7CiAJZHJtX1dBUk5fT04oJmRldl9wcml2LT5kcm0sIGRldl9wcml2 LT5tbS5zaHJpbmtfY291bnQpOworCWRybV9XQVJOX09OKCZkZXZfcHJpdi0+ZHJtLCAheGFfZW1w dHkoJmRldl9wcml2LT5jbGllbnRzLnhhcnJheSkpOworCXhhX2Rlc3Ryb3koJmRldl9wcml2LT5j bGllbnRzLnhhcnJheSk7CiB9CiAKIGludCBpOTE1X2dlbV9mcmVlemUoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2KQpAQCAtMTI5MCw2ICsxMjk0LDggQEAgdm9pZCBpOTE1X2dlbV9y ZWxlYXNlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1fZmlsZSAqZmlsZSkKIAlz dHJ1Y3QgZHJtX2k5MTVfZmlsZV9wcml2YXRlICpmaWxlX3ByaXYgPSBmaWxlLT5kcml2ZXJfcHJp djsKIAlzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpyZXF1ZXN0OwogCisJaTkxNV9kcm1fY2xpZW50X2Ns b3NlKGZpbGVfcHJpdi0+Y2xpZW50KTsKKwogCS8qIENsZWFuIHVwIG91ciByZXF1ZXN0IGxpc3Qg d2hlbiB0aGUgY2xpZW50IGlzIGdvaW5nIGF3YXksIHNvIHRoYXQKIAkgKiBsYXRlciByZXRpcmVf cmVxdWVzdHMgd29uJ3QgZGVyZWZlcmVuY2Ugb3VyIHNvb24tdG8tYmUtZ29uZQogCSAqIGZpbGVf cHJpdi4KQEAgLTEzMDMsMTcgKzEzMDksMjUgQEAgdm9pZCBpOTE1X2dlbV9yZWxlYXNlKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1fZmlsZSAqZmlsZSkKIGludCBpOTE1X2dlbV9v cGVuKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUp CiB7CiAJc3RydWN0IGRybV9pOTE1X2ZpbGVfcHJpdmF0ZSAqZmlsZV9wcml2OwotCWludCByZXQ7 CisJc3RydWN0IGk5MTVfZHJtX2NsaWVudCAqY2xpZW50OworCWludCByZXQgPSAtRU5PTUVNOwog CiAJRFJNX0RFQlVHKCJcbiIpOwogCiAJZmlsZV9wcml2ID0ga3phbGxvYyhzaXplb2YoKmZpbGVf cHJpdiksIEdGUF9LRVJORUwpOwogCWlmICghZmlsZV9wcml2KQotCQlyZXR1cm4gLUVOT01FTTsK KwkJZ290byBlcnJfYWxsb2M7CisKKwljbGllbnQgPSBpOTE1X2RybV9jbGllbnRfYWRkKCZpOTE1 LT5jbGllbnRzLCBjdXJyZW50KTsKKwlpZiAoSVNfRVJSKGNsaWVudCkpIHsKKwkJcmV0ID0gUFRS X0VSUihjbGllbnQpOworCQlnb3RvIGVycl9jbGllbnQ7CisJfQogCiAJZmlsZS0+ZHJpdmVyX3By aXYgPSBmaWxlX3ByaXY7CiAJZmlsZV9wcml2LT5kZXZfcHJpdiA9IGk5MTU7CiAJZmlsZV9wcml2 LT5maWxlID0gZmlsZTsKKwlmaWxlX3ByaXYtPmNsaWVudCA9IGNsaWVudDsKIAogCXNwaW5fbG9j a19pbml0KCZmaWxlX3ByaXYtPm1tLmxvY2spOwogCUlOSVRfTElTVF9IRUFEKCZmaWxlX3ByaXYt Pm1tLnJlcXVlc3RfbGlzdCk7CkBAIC0xMzIzLDggKzEzMzcsMTUgQEAgaW50IGk5MTVfZ2VtX29w ZW4oc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsIHN0cnVjdCBkcm1fZmlsZSAqZmlsZSkK IAogCXJldCA9IGk5MTVfZ2VtX2NvbnRleHRfb3BlbihpOTE1LCBmaWxlKTsKIAlpZiAocmV0KQot CQlrZnJlZShmaWxlX3ByaXYpOworCQlnb3RvIGVycl9jb250ZXh0OworCisJcmV0dXJuIDA7CiAK K2Vycl9jb250ZXh0OgorCWk5MTVfZHJtX2NsaWVudF9jbG9zZShjbGllbnQpOworZXJyX2NsaWVu dDoKKwlrZnJlZShmaWxlX3ByaXYpOworZXJyX2FsbG9jOgogCXJldHVybiByZXQ7CiB9CiAKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfc3lzZnMuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfc3lzZnMuYwppbmRleCBjMTRkNzYyYmQ2NTIuLjQ3NmVmNjU2MTc2OSAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zeXNmcy5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfc3lzZnMuYwpAQCAtNTU5LDYgKzU1OSwxMSBAQCB2b2lkIGk5 MTVfc2V0dXBfc3lzZnMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCXN0cnVj dCBkZXZpY2UgKmtkZXYgPSBkZXZfcHJpdi0+ZHJtLnByaW1hcnktPmtkZXY7CiAJaW50IHJldDsK IAorCWRldl9wcml2LT5jbGllbnRzLnJvb3QgPQorCQlrb2JqZWN0X2NyZWF0ZV9hbmRfYWRkKCJj bGllbnRzIiwgJmtkZXYtPmtvYmopOworCWlmICghZGV2X3ByaXYtPmNsaWVudHMucm9vdCkKKwkJ RFJNX0VSUk9SKCJQZXItY2xpZW50IHN5c2ZzIHNldHVwIGZhaWxlZFxuIik7CisKICNpZmRlZiBD T05GSUdfUE0KIAlpZiAoSEFTX1JDNihkZXZfcHJpdikpIHsKIAkJcmV0ID0gc3lzZnNfbWVyZ2Vf Z3JvdXAoJmtkZXYtPmtvYmosCkBAIC02MjQsNCArNjI5LDcgQEAgdm9pZCBpOTE1X3RlYXJkb3du X3N5c2ZzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAlzeXNmc191bm1lcmdl X2dyb3VwKCZrZGV2LT5rb2JqLCAmcmM2X2F0dHJfZ3JvdXApOwogCXN5c2ZzX3VubWVyZ2VfZ3Jv dXAoJmtkZXYtPmtvYmosICZyYzZwX2F0dHJfZ3JvdXApOwogI2VuZGlmCisKKwlpZiAoZGV2X3By aXYtPmNsaWVudHMucm9vdCkKKwkJa29iamVjdF9wdXQoZGV2X3ByaXYtPmNsaWVudHMucm9vdCk7 CiB9Ci0tIAoyLjIwLjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVs LWdmeAo=