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 Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8F57FC433FE for ; Thu, 24 Nov 2022 13:56:40 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230152AbiKXN4k (ORCPT ); Thu, 24 Nov 2022 08:56:40 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49444 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230003AbiKXN4d (ORCPT ); Thu, 24 Nov 2022 08:56:33 -0500 Received: from mout.gmx.net (mout.gmx.net [212.227.15.15]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 934CBF5A1B; Thu, 24 Nov 2022 05:56:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417; t=1669298172; bh=/LIepLLbPWcHWTum88qdQFhReQDSW470FeNeEDgXBaE=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; b=BGJc5p5j+7qHYahYlcBr4a6uozSb9nhA9r/+Los+6iUOxthJE0sW4fFWw6Le/SO47 Z7tq0OWILZrA+TxuS+w+rMlOp+OX31oG6JY4U26sI0e3KnA72zwT7P0eXEcvRs75pe pljZnhRSTCTpsxpcYHJ5eNT4VDbUmBLuKqAQipaJJi0kr38ije+zO0RSHqpxPomkC+ GD9KnnnZ77r1HqOwhPJT84nDcnQr5s1sApqObSG53AtoAJXZP1/t9ZKcnD9dwx8oh5 jPWF43EzAK2gliXbdPQf8EGj7um+QdLDdVDnZm5pcse7dFZFI3wNO0MPoYUYdypkk/ ka5LDy70uVbBw== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from Venus.speedport.ip ([84.162.7.17]) by mail.gmx.net (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MNKm0-1oZNME08sc-00Orb8; Thu, 24 Nov 2022 14:56:12 +0100 From: Lino Sanfilippo To: peterhuewe@gmx.de, jarkko@kernel.org, jgg@ziepe.ca Cc: stefanb@linux.vnet.ibm.com, linux@mniewoehner.de, linux-integrity@vger.kernel.org, linux-kernel@vger.kernel.org, jandryuk@gmail.com, pmenzel@molgen.mpg.de, l.sanfilippo@kunbus.com, LinoSanfilippo@gmx.de, lukas@wunner.de, p.rosenberger@kunbus.com Subject: [PATCH v11 06/14] tpm, tpm_tis: Only handle supported interrupts Date: Thu, 24 Nov 2022 14:55:30 +0100 Message-Id: <20221124135538.31020-7-LinoSanfilippo@gmx.de> X-Mailer: git-send-email 2.36.1 In-Reply-To: <20221124135538.31020-1-LinoSanfilippo@gmx.de> References: <20221124135538.31020-1-LinoSanfilippo@gmx.de> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: base64 X-Provags-ID: V03:K1:67o+5BRMDYtidqREBdNHB+oywrFTm9p0D+fHxBUOOEXWbXOiKO3 P2ExBY73eaQFFm5PkSstT+ezw8gxHLZbmrkgiOfbOVMXS7WFlsNOQufRUjx29141gVbAvwf Nw0FZGM3AXYkIwysp2UrwSoFTBrtsOVPDY0maiVwx5EyhcKBy7q8+w7CSN84LcD36XJCqG7 HlehynnNh7p5NDYU87laQ== UI-OutboundReport: notjunk:1;M01:P0:vpdU4kdjoPI=;8Ksw9yPGaSp+fNnK40CiYbdyZIc biz+cVRG3NvqFlGWCrVg6blB0bu+ocByBpc4jlpRDTBDb5lChp5SmpQc58o+npk1N7i4hlcf9 +T48J734dIW2ed6mY0c2DNjoROvY1IS0USnba5ohw6/Dhnx0FDzECgugkG13j9s1FIUPy8+hg 6c0/gnZO1lFwtQZAyhcetH6rzSIJmwQoRs5EJUcrPkBMFH5F7rO7tQPjxpE7FCgIhxK41r/Cn WeSDVdE+lfki1zd1e+SP2DXQQuxckd1GIoBaygp2PhFq5ymYNVJC+SyMwu73KPWI4zZm3bOO1 vIJDyrvAkXXDoO7H1+bgTmjargfn/zwAatGu7S9yStSoJCkcngjSnu4ajeoZs7ezq6yhbHL9X jdH6KHhxZ7wv135dGdzntQAimz3eBTyETnAElLCy8bewRjFBE7e3I8fdPeIl5PuK3LUGEjEsA JJmUJVNNAzlAyx76j8zDFQN23bnQ5PMuQz8xrKHFOxQieGW0SWgkE8PYhxu4rA09q3x2UAW+m 4rWGEsgWL78J+uCzjl5ETBklNj6LaKbNoZvjF5FANNjnQTQh+uWr8W6iJajBhk67U/7+RQE+v tCEPfAxSLjyQF2TtzakvtEXkOATz1zBY2T8BFN7QtHMhdVbidZhjYj0YlRf69npguFBLaQDhN xmvXkmhzMisDNgxD9HnlQSQfxhFAqbtLpw4bmERPeuu4o+kgl2HPVOXzYCAPqlLwEJfbBMlu/ SeplPkVNuVqT1SCTlurWmMEebqiK6wLuELNE0h5igs5k6vO2o5E7iTJIkBIRsqzgShn3vUGnA uSrVyAr8vg1vvvUOHuQuE0hLe4VRGX25sx7agTajfLWKfJjg1+gffpk+aZGO8iLe0ae/oY7vA FFGmdLDSlKDI1U50WE6usnapllcl8ctp3FVoSHfPIvrJReGWz2RofC1NicC0JCTOph/VIk0x5 NC2AVGCujEpWc/l3K4XxOVgp4ZA= Precedence: bulk List-ID: X-Mailing-List: linux-integrity@vger.kernel.org RnJvbTogTGlubyBTYW5maWxpcHBvIDxsLnNhbmZpbGlwcG9Aa3VuYnVzLmNvbT4KCkFjY29yZGlu ZyB0byB0aGUgVFBNIEludGVyZmFjZSBTcGVjaWZpY2F0aW9uIChUSVMpIHN1cHBvcnQgZm9yICJz dHNWYWxpZCIKYW5kICJjb21tYW5kUmVhZHkiIGludGVycnVwdHMgaXMgb25seSBvcHRpb25hbC4K VGhpcyBoYXMgdG8gYmUgdGFrZW4gaW50byBhY2NvdW50IHdoZW4gaGFuZGxpbmcgdGhlIGludGVy cnVwdHMgaW4gZnVuY3Rpb25zCmxpa2Ugd2FpdF9mb3JfdHBtX3N0YXQoKS4gVG8gZGV0ZXJtaW5l IHRoZSBzdXBwb3J0ZWQgaW50ZXJydXB0cyB1c2UgdGhlCmNhcGFiaWxpdHkgcXVlcnkuCgpBbHNv IGFkanVzdCB3YWl0X2Zvcl90cG1fc3RhdCgpIHRvIG9ubHkgd2FpdCBmb3IgaW50ZXJydXB0IHJl cG9ydGVkIHN0YXR1cwpjaGFuZ2VzLiBBZnRlciB0aGF0IHByb2Nlc3MgYWxsIHRoZSByZW1haW5p bmcgc3RhdHVzIGNoYW5nZXMgYnkgcG9sbGluZwp0aGUgc3RhdHVzIHJlZ2lzdGVyLgoKU2lnbmVk LW9mZi1ieTogTGlubyBTYW5maWxpcHBvIDxsLnNhbmZpbGlwcG9Aa3VuYnVzLmNvbT4KVGVzdGVk LWJ5OiBNaWNoYWVsIE5pZXfDtmhuZXIgPGxpbnV4QG1uaWV3b2VobmVyLmRlPgpSZXZpZXdlZC1i eTogSmFya2tvIFNha2tpbmVuIDxqYXJra29Aa2VybmVsLm9yZz4KLS0tCiBkcml2ZXJzL2NoYXIv dHBtL3RwbV90aXNfY29yZS5jIHwgMTIwICsrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0t CiBkcml2ZXJzL2NoYXIvdHBtL3RwbV90aXNfY29yZS5oIHwgICAxICsKIDIgZmlsZXMgY2hhbmdl ZCwgNzMgaW5zZXJ0aW9ucygrKSwgNDggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9jaGFyL3RwbS90cG1fdGlzX2NvcmUuYyBiL2RyaXZlcnMvY2hhci90cG0vdHBtX3Rpc19jb3Jl LmMKaW5kZXggNDk4NDgyNjhmNTQ3Li4yNjk0YjFiYjc3ZGUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Y2hhci90cG0vdHBtX3Rpc19jb3JlLmMKKysrIGIvZHJpdmVycy9jaGFyL3RwbS90cG1fdGlzX2Nv cmUuYwpAQCAtNTMsNDEgKzUzLDYzIEBAIHN0YXRpYyBpbnQgd2FpdF9mb3JfdHBtX3N0YXQoc3Ry dWN0IHRwbV9jaGlwICpjaGlwLCB1OCBtYXNrLAogCWxvbmcgcmM7CiAJdTggc3RhdHVzOwogCWJv b2wgY2FuY2VsZWQgPSBmYWxzZTsKKwl1OCBzdHNfbWFzayA9IDA7CisJaW50IHJldCA9IDA7CiAK IAkvKiBjaGVjayBjdXJyZW50IHN0YXR1cyAqLwogCXN0YXR1cyA9IGNoaXAtPm9wcy0+c3RhdHVz KGNoaXApOwogCWlmICgoc3RhdHVzICYgbWFzaykgPT0gbWFzaykKIAkJcmV0dXJuIDA7CiAKLQlz dG9wID0gamlmZmllcyArIHRpbWVvdXQ7CisJLyogY2hlY2sgd2hhdCBzdGF0dXMgY2hhbmdlcyBj YW4gYmUgaGFuZGxlZCBieSBpcnFzICovCisJaWYgKHByaXYtPmludF9tYXNrICYgVFBNX0lOVEZf U1RTX1ZBTElEX0lOVCkKKwkJc3RzX21hc2sgfD0gVFBNX1NUU19WQUxJRDsKIAotCWlmIChjaGlw LT5mbGFncyAmIFRQTV9DSElQX0ZMQUdfSVJRKSB7CisJaWYgKHByaXYtPmludF9tYXNrICYgVFBN X0lOVEZfREFUQV9BVkFJTF9JTlQpCisJCXN0c19tYXNrIHw9IFRQTV9TVFNfREFUQV9BVkFJTDsK KworCWlmIChwcml2LT5pbnRfbWFzayAmIFRQTV9JTlRGX0NNRF9SRUFEWV9JTlQpCisJCXN0c19t YXNrIHw9IFRQTV9TVFNfQ09NTUFORF9SRUFEWTsKKworCXN0c19tYXNrICY9IG1hc2s7CisKKwlz dG9wID0gamlmZmllcyArIHRpbWVvdXQ7CisJLyogcHJvY2VzcyBzdGF0dXMgY2hhbmdlcyB3aXRo IGlycSBzdXBwb3J0ICovCisJaWYgKHN0c19tYXNrKSB7CisJCXJldCA9IC1FVElNRTsKIGFnYWlu OgogCQl0aW1lb3V0ID0gc3RvcCAtIGppZmZpZXM7CiAJCWlmICgobG9uZyl0aW1lb3V0IDw9IDAp CiAJCQlyZXR1cm4gLUVUSU1FOwogCQlyYyA9IHdhaXRfZXZlbnRfaW50ZXJydXB0aWJsZV90aW1l b3V0KCpxdWV1ZSwKLQkJCXdhaXRfZm9yX3RwbV9zdGF0X2NvbmQoY2hpcCwgbWFzaywgY2hlY2tf Y2FuY2VsLAorCQkJd2FpdF9mb3JfdHBtX3N0YXRfY29uZChjaGlwLCBzdHNfbWFzaywgY2hlY2tf Y2FuY2VsLAogCQkJCQkgICAgICAgJmNhbmNlbGVkKSwKIAkJCXRpbWVvdXQpOwogCQlpZiAocmMg PiAwKSB7CiAJCQlpZiAoY2FuY2VsZWQpCiAJCQkJcmV0dXJuIC1FQ0FOQ0VMRUQ7Ci0JCQlyZXR1 cm4gMDsKKwkJCXJldCA9IDA7CiAJCX0KIAkJaWYgKHJjID09IC1FUkVTVEFSVFNZUyAmJiBmcmVl emluZyhjdXJyZW50KSkgewogCQkJY2xlYXJfdGhyZWFkX2ZsYWcoVElGX1NJR1BFTkRJTkcpOwog CQkJZ290byBhZ2FpbjsKIAkJfQotCX0gZWxzZSB7Ci0JCWRvIHsKLQkJCXVzbGVlcF9yYW5nZShw cml2LT50aW1lb3V0X21pbiwKLQkJCQkgICAgIHByaXYtPnRpbWVvdXRfbWF4KTsKLQkJCXN0YXR1 cyA9IGNoaXAtPm9wcy0+c3RhdHVzKGNoaXApOwotCQkJaWYgKChzdGF0dXMgJiBtYXNrKSA9PSBt YXNrKQotCQkJCXJldHVybiAwOwotCQl9IHdoaWxlICh0aW1lX2JlZm9yZShqaWZmaWVzLCBzdG9w KSk7CiAJfQorCisJaWYgKHJldCkKKwkJcmV0dXJuIHJldDsKKworCW1hc2sgJj0gfnN0c19tYXNr OworCWlmICghbWFzaykgLyogYWxsIGRvbmUgKi8KKwkJcmV0dXJuIDA7CisJLyogcHJvY2VzcyBz dGF0dXMgY2hhbmdlcyB3aXRob3V0IGlycSBzdXBwb3J0ICovCisJZG8geworCQlzdGF0dXMgPSBj aGlwLT5vcHMtPnN0YXR1cyhjaGlwKTsKKwkJaWYgKChzdGF0dXMgJiBtYXNrKSA9PSBtYXNrKQor CQkJcmV0dXJuIDA7CisJCXVzbGVlcF9yYW5nZShwcml2LT50aW1lb3V0X21pbiwKKwkJCSAgICAg cHJpdi0+dGltZW91dF9tYXgpOworCX0gd2hpbGUgKHRpbWVfYmVmb3JlKGppZmZpZXMsIHN0b3Ap KTsKIAlyZXR1cm4gLUVUSU1FOwogfQogCkBAIC0xMDAxLDggKzEwMjMsNDAgQEAgaW50IHRwbV90 aXNfY29yZV9pbml0KHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IHRwbV90aXNfZGF0YSAqcHJp diwgaW50IGlycSwKIAlpZiAocmMgPCAwKQogCQlnb3RvIG91dF9lcnI7CiAKLQlpbnRtYXNrIHw9 IFRQTV9JTlRGX0NNRF9SRUFEWV9JTlQgfCBUUE1fSU5URl9MT0NBTElUWV9DSEFOR0VfSU5UIHwK LQkJICAgVFBNX0lOVEZfREFUQV9BVkFJTF9JTlQgfCBUUE1fSU5URl9TVFNfVkFMSURfSU5UOwor CS8qIEZpZ3VyZSBvdXQgdGhlIGNhcGFiaWxpdGllcyAqLworCXJjID0gdHBtX3Rpc19yZWFkMzIo cHJpdiwgVFBNX0lOVEZfQ0FQUyhwcml2LT5sb2NhbGl0eSksICZpbnRmY2Fwcyk7CisJaWYgKHJj IDwgMCkKKwkJZ290byBvdXRfZXJyOworCisJZGV2X2RiZyhkZXYsICJUUE0gaW50ZXJmYWNlIGNh cGFiaWxpdGllcyAoMHgleCk6XG4iLAorCQlpbnRmY2Fwcyk7CisJaWYgKGludGZjYXBzICYgVFBN X0lOVEZfQlVSU1RfQ09VTlRfU1RBVElDKQorCQlkZXZfZGJnKGRldiwgIlx0QnVyc3QgQ291bnQg U3RhdGljXG4iKTsKKwlpZiAoaW50ZmNhcHMgJiBUUE1fSU5URl9DTURfUkVBRFlfSU5UKSB7CisJ CWludG1hc2sgfD0gVFBNX0lOVEZfQ01EX1JFQURZX0lOVDsKKwkJZGV2X2RiZyhkZXYsICJcdENv bW1hbmQgUmVhZHkgSW50IFN1cHBvcnRcbiIpOworCX0KKwlpZiAoaW50ZmNhcHMgJiBUUE1fSU5U Rl9JTlRfRURHRV9GQUxMSU5HKQorCQlkZXZfZGJnKGRldiwgIlx0SW50ZXJydXB0IEVkZ2UgRmFs bGluZ1xuIik7CisJaWYgKGludGZjYXBzICYgVFBNX0lOVEZfSU5UX0VER0VfUklTSU5HKQorCQlk ZXZfZGJnKGRldiwgIlx0SW50ZXJydXB0IEVkZ2UgUmlzaW5nXG4iKTsKKwlpZiAoaW50ZmNhcHMg JiBUUE1fSU5URl9JTlRfTEVWRUxfTE9XKQorCQlkZXZfZGJnKGRldiwgIlx0SW50ZXJydXB0IExl dmVsIExvd1xuIik7CisJaWYgKGludGZjYXBzICYgVFBNX0lOVEZfSU5UX0xFVkVMX0hJR0gpCisJ CWRldl9kYmcoZGV2LCAiXHRJbnRlcnJ1cHQgTGV2ZWwgSGlnaFxuIik7CisJaWYgKGludGZjYXBz ICYgVFBNX0lOVEZfTE9DQUxJVFlfQ0hBTkdFX0lOVCkgeworCQlpbnRtYXNrIHw9IFRQTV9JTlRG X0xPQ0FMSVRZX0NIQU5HRV9JTlQ7CisJCWRldl9kYmcoZGV2LCAiXHRMb2NhbGl0eSBDaGFuZ2Ug SW50IFN1cHBvcnRcbiIpOworCX0KKwlpZiAoaW50ZmNhcHMgJiBUUE1fSU5URl9TVFNfVkFMSURf SU5UKSB7CisJCWludG1hc2sgfD0gVFBNX0lOVEZfU1RTX1ZBTElEX0lOVDsKKwkJZGV2X2RiZyhk ZXYsICJcdFN0cyBWYWxpZCBJbnQgU3VwcG9ydFxuIik7CisJfQorCWlmIChpbnRmY2FwcyAmIFRQ TV9JTlRGX0RBVEFfQVZBSUxfSU5UKSB7CisJCWludG1hc2sgfD0gVFBNX0lOVEZfREFUQV9BVkFJ TF9JTlQ7CisJCWRldl9kYmcoZGV2LCAiXHREYXRhIEF2YWlsIEludCBTdXBwb3J0XG4iKTsKKwl9 CisKIAlpbnRtYXNrICY9IH5UUE1fR0xPQkFMX0lOVF9FTkFCTEU7CiAKIAlyYyA9IHJlcXVlc3Rf bG9jYWxpdHkoY2hpcCwgMCk7CkBAIC0xMDM2LDMyICsxMDkwLDYgQEAgaW50IHRwbV90aXNfY29y ZV9pbml0KHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IHRwbV90aXNfZGF0YSAqcHJpdiwgaW50 IGlycSwKIAkJZ290byBvdXRfZXJyOwogCX0KIAotCS8qIEZpZ3VyZSBvdXQgdGhlIGNhcGFiaWxp dGllcyAqLwotCXJjID0gdHBtX3Rpc19yZWFkMzIocHJpdiwgVFBNX0lOVEZfQ0FQUyhwcml2LT5s b2NhbGl0eSksICZpbnRmY2Fwcyk7Ci0JaWYgKHJjIDwgMCkKLQkJZ290byBvdXRfZXJyOwotCi0J ZGV2X2RiZyhkZXYsICJUUE0gaW50ZXJmYWNlIGNhcGFiaWxpdGllcyAoMHgleCk6XG4iLAotCQlp bnRmY2Fwcyk7Ci0JaWYgKGludGZjYXBzICYgVFBNX0lOVEZfQlVSU1RfQ09VTlRfU1RBVElDKQot CQlkZXZfZGJnKGRldiwgIlx0QnVyc3QgQ291bnQgU3RhdGljXG4iKTsKLQlpZiAoaW50ZmNhcHMg JiBUUE1fSU5URl9DTURfUkVBRFlfSU5UKQotCQlkZXZfZGJnKGRldiwgIlx0Q29tbWFuZCBSZWFk eSBJbnQgU3VwcG9ydFxuIik7Ci0JaWYgKGludGZjYXBzICYgVFBNX0lOVEZfSU5UX0VER0VfRkFM TElORykKLQkJZGV2X2RiZyhkZXYsICJcdEludGVycnVwdCBFZGdlIEZhbGxpbmdcbiIpOwotCWlm IChpbnRmY2FwcyAmIFRQTV9JTlRGX0lOVF9FREdFX1JJU0lORykKLQkJZGV2X2RiZyhkZXYsICJc dEludGVycnVwdCBFZGdlIFJpc2luZ1xuIik7Ci0JaWYgKGludGZjYXBzICYgVFBNX0lOVEZfSU5U X0xFVkVMX0xPVykKLQkJZGV2X2RiZyhkZXYsICJcdEludGVycnVwdCBMZXZlbCBMb3dcbiIpOwot CWlmIChpbnRmY2FwcyAmIFRQTV9JTlRGX0lOVF9MRVZFTF9ISUdIKQotCQlkZXZfZGJnKGRldiwg Ilx0SW50ZXJydXB0IExldmVsIEhpZ2hcbiIpOwotCWlmIChpbnRmY2FwcyAmIFRQTV9JTlRGX0xP Q0FMSVRZX0NIQU5HRV9JTlQpCi0JCWRldl9kYmcoZGV2LCAiXHRMb2NhbGl0eSBDaGFuZ2UgSW50 IFN1cHBvcnRcbiIpOwotCWlmIChpbnRmY2FwcyAmIFRQTV9JTlRGX1NUU19WQUxJRF9JTlQpCi0J CWRldl9kYmcoZGV2LCAiXHRTdHMgVmFsaWQgSW50IFN1cHBvcnRcbiIpOwotCWlmIChpbnRmY2Fw cyAmIFRQTV9JTlRGX0RBVEFfQVZBSUxfSU5UKQotCQlkZXZfZGJnKGRldiwgIlx0RGF0YSBBdmFp bCBJbnQgU3VwcG9ydFxuIik7Ci0KIAkvKiBJTlRFUlJVUFQgU2V0dXAgKi8KIAlpbml0X3dhaXRx dWV1ZV9oZWFkKCZwcml2LT5yZWFkX3F1ZXVlKTsKIAlpbml0X3dhaXRxdWV1ZV9oZWFkKCZwcml2 LT5pbnRfcXVldWUpOwpAQCAtMTA5Miw3ICsxMTIwLDkgQEAgaW50IHRwbV90aXNfY29yZV9pbml0 KHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IHRwbV90aXNfZGF0YSAqcHJpdiwgaW50IGlycSwK IAkJZWxzZQogCQkJdHBtX3Rpc19wcm9iZV9pcnEoY2hpcCwgaW50bWFzayk7CiAKLQkJaWYgKCEo Y2hpcC0+ZmxhZ3MgJiBUUE1fQ0hJUF9GTEFHX0lSUSkpIHsKKwkJaWYgKGNoaXAtPmZsYWdzICYg VFBNX0NISVBfRkxBR19JUlEpIHsKKwkJCXByaXYtPmludF9tYXNrID0gaW50bWFzazsKKwkJfSBl bHNlIHsKIAkJCWRldl9lcnIoJmNoaXAtPmRldiwgRldfQlVHCiAJCQkJCSJUUE0gaW50ZXJydXB0 IG5vdCB3b3JraW5nLCBwb2xsaW5nIGluc3RlYWRcbiIpOwogCkBAIC0xMTM5LDEzICsxMTY5LDcg QEAgc3RhdGljIHZvaWQgdHBtX3Rpc19yZWVuYWJsZV9pbnRlcnJ1cHRzKHN0cnVjdCB0cG1fY2hp cCAqY2hpcCkKIAlpZiAocmMgPCAwKQogCQlnb3RvIG91dDsKIAotCXJjID0gdHBtX3Rpc19yZWFk MzIocHJpdiwgVFBNX0lOVF9FTkFCTEUocHJpdi0+bG9jYWxpdHkpLCAmaW50bWFzayk7Ci0JaWYg KHJjIDwgMCkKLQkJZ290byBvdXQ7Ci0KLQlpbnRtYXNrIHw9IFRQTV9JTlRGX0NNRF9SRUFEWV9J TlQKLQkgICAgfCBUUE1fSU5URl9MT0NBTElUWV9DSEFOR0VfSU5UIHwgVFBNX0lOVEZfREFUQV9B VkFJTF9JTlQKLQkgICAgfCBUUE1fSU5URl9TVFNfVkFMSURfSU5UIHwgVFBNX0dMT0JBTF9JTlRf RU5BQkxFOworCWludG1hc2sgPSBwcml2LT5pbnRfbWFzayB8IFRQTV9HTE9CQUxfSU5UX0VOQUJM RTsKIAogCXRwbV90aXNfd3JpdGUzMihwcml2LCBUUE1fSU5UX0VOQUJMRShwcml2LT5sb2NhbGl0 eSksIGludG1hc2spOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvdHBtL3RwbV90aXNfY29y ZS5oIGIvZHJpdmVycy9jaGFyL3RwbS90cG1fdGlzX2NvcmUuaAppbmRleCA2OTVhMjUxNmRjZTAu LjJkZWVmMTFjODhkYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL3RwbS90cG1fdGlzX2NvcmUu aAorKysgYi9kcml2ZXJzL2NoYXIvdHBtL3RwbV90aXNfY29yZS5oCkBAIC05Myw2ICs5Myw3IEBA IHN0cnVjdCB0cG1fdGlzX2RhdGEgewogCXUxNiBtYW51ZmFjdHVyZXJfaWQ7CiAJaW50IGxvY2Fs aXR5OwogCWludCBpcnE7CisJdW5zaWduZWQgaW50IGludF9tYXNrOwogCXVuc2lnbmVkIGxvbmcg ZmxhZ3M7CiAJdm9pZCBfX2lvbWVtICppbGJfYmFzZV9hZGRyOwogCXUxNiBjbGtydW5fZW5hYmxl ZDsKLS0gCjIuMzYuMQoK