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 4A9E0C3A59F for ; Thu, 10 Nov 2022 15:26:43 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230263AbiKJP0m (ORCPT ); Thu, 10 Nov 2022 10:26:42 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41882 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231553AbiKJP0U (ORCPT ); Thu, 10 Nov 2022 10:26:20 -0500 Received: from mout.gmx.net (mout.gmx.net [212.227.17.21]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C382541996; Thu, 10 Nov 2022 07:26:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417; t=1668093944; bh=aGoHsAcDuhhqSpkLQAxXzsC5Nh/HzN5f5Q02AEnI5+I=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; b=S2cFlFG/Vry7WOQUPqyVgasb/4wtaHhK2q575cfcpu8TzoVE0FUXbDo6++eFPJwx0 xOJ9NRpHo8NTXzKZf7jDzHGZuj4219vjpRbja1CoacSGHQl00E4DYT325sFGVwNPBf 5hWbkpv3aRmWpS41Hdqpok65v1L2VyybPNlhBqBanry8yS/DVpCFD7BCvdpxHYoJuF esAhZFMBFbWIDbsLpYFXoTrYN8IvD4pyHFXdgr1THYiVC8s8cqH0sA9qK2aKVTZHGg siAKaSeUA9E1/ubCMUn0NMfGTHgfNRYR0ZNR0yqxHWXUbJmPKUgG9zZG0zxw2vrorn BRc6kFc21QC4Q== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from Venus.speedport.ip ([84.162.7.17]) by mail.gmx.net (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1Mkpap-1pGhGx1qrH-00mLoQ; Thu, 10 Nov 2022 16:25:44 +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 v9 05/12] tpm, tpm_tis: Only handle supported interrupts Date: Thu, 10 Nov 2022 16:25:26 +0100 Message-Id: <20221110152533.24243-6-LinoSanfilippo@gmx.de> X-Mailer: git-send-email 2.36.1 In-Reply-To: <20221110152533.24243-1-LinoSanfilippo@gmx.de> References: <20221110152533.24243-1-LinoSanfilippo@gmx.de> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: base64 X-Provags-ID: V03:K1:U1FzkFHh+FaUFGJXtii0Y4f3oa8x6w1Azv0oAQk/rio/DK+5uZw vmpFKaWO/0yM4DSJkm2RspI9zgM2YzSsDAJc4LSYg/8nHF1uY2AEQbU4SEhz/UyxE2ZxCsF Rp1hLQiFN+Spvw5B6+qrsp16nQZGYoOQryGXTHKEAptzGJp6ChAcUPweKTs+PiCjvxcK8iN sE2WY1cV85ZP6oB1+s4yw== UI-OutboundReport: notjunk:1;M01:P0:+pT9Oktr0qw=;PZlJcadiBgNgxC8Ja21Zi8ysFHJ snDU4eBrgTvaze41E4ddqmMBD5oEr2i8SAllwGYQNQTgmZU25zH6eMdi20bo+9Y6ybkpRrWfx dOREYR2UafyXTfB8cN3eSbHa8GqkxRQJjDfo6zhJdWDVhL6DMDELQM3nNzIPd2YL5XHbIg9XD BMwKUHrz6GTMEZvpmU3WiwDZKnn0gxFZz/bcS8lQAGyPPqlBW3uL+njbSrYvODYNsV23p6FUs gdMo8Qa1NdJSJRzuCUJJqwGElhtSJLMy2lAyjTWiprrtLqQQ7OUXzdEXm6ixvQByPEhNyuIfw 3lUCG9bYq27/w8pYKn/NWg39ohw/WXaPxHEJAQZnbymaGUfh+U3lSM5N9P05GoGuV9QHploK9 FXwnRzXoNXLJwBhrfgYvOywO9F5Wr9IwGKpLVuCZAoWlvOoIJeAxnrHd03LKTaTAtdSSATGMw iVyvVzeF582SM+IhYqvBLUlKxjzrJ3MIhHl06edC1wsXtkvkMVWGMHzPHni+nfwhXSPYNXdsz tHGpEuJP0sI8eSpGj51oxXucvi3s+4E+DpTwPb2gAALrXkn0NUf4MSKyS348mFV+C2IQ6AVT7 aFQ2ABUcepThAgLDxeVacI38WdRP7ZV5mi+D6OobsDF3EC2pgiRkjnjztpJ2h8vTGfYOQwiGB HPfTnDO10W7bF927TEXLHh7+/UekYfMhg1vd8f6zHvpUhr2QXBAVrQhmbPMgl8KmagiC6/8Jp JAUyE4FwJbh8lqoILQdqaoUGkkkYikNnxHhTCeA6IHHzTnqqLHDWtiPWgguK5SVLr/pmNTlvc FrwFJ/sgjlPoLcFc6FE4L2tf85p8HYyahjsT4aiqhLJgzBv3c8mMDudOUEs3jOfJc5wn1AvnS Ov8t4rQzrXgQYlOcWGsOCKrtQ/T4gODxE2wQNpVQk176WRg78nnlt0bthFiN8NtPEyzxmrydR 1EswIA== Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org RnJvbTogTGlubyBTYW5maWxpcHBvIDxsLnNhbmZpbGlwcG9Aa3VuYnVzLmNvbT4KCkFjY29yZGlu ZyB0byB0aGUgVFBNIEludGVyZmFjZSBTcGVjaWZpY2F0aW9uIChUSVMpIHN1cHBvcnQgZm9yICJz dHNWYWxpZCIKYW5kICJjb21tYW5kUmVhZHkiIGludGVycnVwdHMgaXMgb25seSBvcHRpb25hbC4K VGhpcyBoYXMgdG8gYmUgdGFrZW4gaW50byBhY2NvdW50IHdoZW4gaGFuZGxpbmcgdGhlIGludGVy cnVwdHMgaW4gZnVuY3Rpb25zCmxpa2Ugd2FpdF9mb3JfdHBtX3N0YXQoKS4gVG8gZGV0ZXJtaW5l IHRoZSBzdXBwb3J0ZWQgaW50ZXJydXB0cyB1c2UgdGhlCmNhcGFiaWxpdHkgcXVlcnkuCgpBbHNv IGFkanVzdCB3YWl0X2Zvcl90cG1fc3RhdCgpIHRvIG9ubHkgd2FpdCBmb3IgaW50ZXJydXB0IHJl cG9ydGVkIHN0YXR1cwpjaGFuZ2VzLiBBZnRlciB0aGF0IHByb2Nlc3MgYWxsIHRoZSByZW1haW5p bmcgc3RhdHVzIGNoYW5nZXMgYnkgcG9sbGluZwp0aGUgc3RhdHVzIHJlZ2lzdGVyLgoKU2lnbmVk LW9mZi1ieTogTGlubyBTYW5maWxpcHBvIDxsLnNhbmZpbGlwcG9Aa3VuYnVzLmNvbT4KVGVzdGVk LWJ5OiBNaWNoYWVsIE5pZXfDtmhuZXIgPGxpbnV4QG1uaWV3b2VobmVyLmRlPgpSZXZpZXdlZC1i eTogSmFya2tvIFNha2tpbmVuIDxqYXJra29Aa2VybmVsLm9yZz4KLS0tCiBkcml2ZXJzL2NoYXIv dHBtL3RwbV90aXNfY29yZS5jIHwgMTIwICsrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0t CiBkcml2ZXJzL2NoYXIvdHBtL3RwbV90aXNfY29yZS5oIHwgICAxICsKIDIgZmlsZXMgY2hhbmdl ZCwgNzMgaW5zZXJ0aW9ucygrKSwgNDggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9jaGFyL3RwbS90cG1fdGlzX2NvcmUuYyBiL2RyaXZlcnMvY2hhci90cG0vdHBtX3Rpc19jb3Jl LmMKaW5kZXggNTIyMDVhMWZlZTllLi5kMDdkZWJjMzE4MmMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv 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 KTsKIAlyZXR1cm4gLUVUSU1FOwogfQogCkBAIC0xMDIxLDggKzEwNDMsNDAgQEAgaW50IHRwbV90 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 bG9jYWxpdHkoY2hpcCwgMCk7CkBAIC0xMDU2LDMyICsxMTEwLDYgQEAgaW50IHRwbV90aXNfY29y ZV9pbml0KHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IHRwbV90aXNfZGF0YSAqcHJpdiwgaW50 IGlycSwKIAkJZ290byBvdXRfZXJyOwogCX0KIAotCS8qIEZpZ3VyZSBvdXQgdGhlIGNhcGFiaWxp dGllcyAqLwotCXJjID0gdHBtX3Rpc19yZWFkMzIocHJpdiwgVFBNX0lOVEZfQ0FQUyhwcml2LT5s b2NhbGl0eSksICZpbnRmY2Fwcyk7Ci0JaWYgKHJjIDwgMCkKLQkJZ290byBvdXRfZXJyOwotCi0J ZGV2X2RiZyhkZXYsICJUUE0gaW50ZXJmYWNlIGNhcGFiaWxpdGllcyAoMHgleCk6XG4iLAotCQlp bnRmY2Fwcyk7Ci0JaWYgKGludGZjYXBzICYgVFBNX0lOVEZfQlVSU1RfQ09VTlRfU1RBVElDKQot CQlkZXZfZGJnKGRldiwgIlx0QnVyc3QgQ291bnQgU3RhdGljXG4iKTsKLQlpZiAoaW50ZmNhcHMg JiBUUE1fSU5URl9DTURfUkVBRFlfSU5UKQotCQlkZXZfZGJnKGRldiwgIlx0Q29tbWFuZCBSZWFk eSBJbnQgU3VwcG9ydFxuIik7Ci0JaWYgKGludGZjYXBzICYgVFBNX0lOVEZfSU5UX0VER0VfRkFM TElORykKLQkJZGV2X2RiZyhkZXYsICJcdEludGVycnVwdCBFZGdlIEZhbGxpbmdcbiIpOwotCWlm IChpbnRmY2FwcyAmIFRQTV9JTlRGX0lOVF9FREdFX1JJU0lORykKLQkJZGV2X2RiZyhkZXYsICJc dEludGVycnVwdCBFZGdlIFJpc2luZ1xuIik7Ci0JaWYgKGludGZjYXBzICYgVFBNX0lOVEZfSU5U X0xFVkVMX0xPVykKLQkJZGV2X2RiZyhkZXYsICJcdEludGVycnVwdCBMZXZlbCBMb3dcbiIpOwot CWlmIChpbnRmY2FwcyAmIFRQTV9JTlRGX0lOVF9MRVZFTF9ISUdIKQotCQlkZXZfZGJnKGRldiwg Ilx0SW50ZXJydXB0IExldmVsIEhpZ2hcbiIpOwotCWlmIChpbnRmY2FwcyAmIFRQTV9JTlRGX0xP Q0FMSVRZX0NIQU5HRV9JTlQpCi0JCWRldl9kYmcoZGV2LCAiXHRMb2NhbGl0eSBDaGFuZ2UgSW50 IFN1cHBvcnRcbiIpOwotCWlmIChpbnRmY2FwcyAmIFRQTV9JTlRGX1NUU19WQUxJRF9JTlQpCi0J CWRldl9kYmcoZGV2LCAiXHRTdHMgVmFsaWQgSW50IFN1cHBvcnRcbiIpOwotCWlmIChpbnRmY2Fw cyAmIFRQTV9JTlRGX0RBVEFfQVZBSUxfSU5UKQotCQlkZXZfZGJnKGRldiwgIlx0RGF0YSBBdmFp bCBJbnQgU3VwcG9ydFxuIik7Ci0KIAkvKiBJTlRFUlJVUFQgU2V0dXAgKi8KIAlpbml0X3dhaXRx dWV1ZV9oZWFkKCZwcml2LT5yZWFkX3F1ZXVlKTsKIAlpbml0X3dhaXRxdWV1ZV9oZWFkKCZwcml2 LT5pbnRfcXVldWUpOwpAQCAtMTExMiw3ICsxMTQwLDkgQEAgaW50IHRwbV90aXNfY29yZV9pbml0 KHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IHRwbV90aXNfZGF0YSAqcHJpdiwgaW50IGlycSwK IAkJZWxzZQogCQkJdHBtX3Rpc19wcm9iZV9pcnEoY2hpcCwgaW50bWFzayk7CiAKLQkJaWYgKCEo Y2hpcC0+ZmxhZ3MgJiBUUE1fQ0hJUF9GTEFHX0lSUSkpIHsKKwkJaWYgKGNoaXAtPmZsYWdzICYg VFBNX0NISVBfRkxBR19JUlEpIHsKKwkJCXByaXYtPmludF9tYXNrID0gaW50bWFzazsKKwkJfSBl bHNlIHsKIAkJCWRldl9lcnIoJmNoaXAtPmRldiwgRldfQlVHCiAJCQkJCSJUUE0gaW50ZXJydXB0 IG5vdCB3b3JraW5nLCBwb2xsaW5nIGluc3RlYWRcbiIpOwogCkBAIC0xMTU5LDEzICsxMTg5LDcg QEAgc3RhdGljIHZvaWQgdHBtX3Rpc19yZWVuYWJsZV9pbnRlcnJ1cHRzKHN0cnVjdCB0cG1fY2hp cCAqY2hpcCkKIAlpZiAocmMgPCAwKQogCQlnb3RvIG91dDsKIAotCXJjID0gdHBtX3Rpc19yZWFk MzIocHJpdiwgVFBNX0lOVF9FTkFCTEUocHJpdi0+bG9jYWxpdHkpLCAmaW50bWFzayk7Ci0JaWYg KHJjIDwgMCkKLQkJZ290byBvdXQ7Ci0KLQlpbnRtYXNrIHw9IFRQTV9JTlRGX0NNRF9SRUFEWV9J TlQKLQkgICAgfCBUUE1fSU5URl9MT0NBTElUWV9DSEFOR0VfSU5UIHwgVFBNX0lOVEZfREFUQV9B VkFJTF9JTlQKLQkgICAgfCBUUE1fSU5URl9TVFNfVkFMSURfSU5UIHwgVFBNX0dMT0JBTF9JTlRf RU5BQkxFOworCWludG1hc2sgPSBwcml2LT5pbnRfbWFzayB8IFRQTV9HTE9CQUxfSU5UX0VOQUJM RTsKIAogCXRwbV90aXNfd3JpdGUzMihwcml2LCBUUE1fSU5UX0VOQUJMRShwcml2LT5sb2NhbGl0 eSksIGludG1hc2spOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvdHBtL3RwbV90aXNfY29y ZS5oIGIvZHJpdmVycy9jaGFyL3RwbS90cG1fdGlzX2NvcmUuaAppbmRleCA2OTVhMjUxNmRjZTAu LjJkZWVmMTFjODhkYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL3RwbS90cG1fdGlzX2NvcmUu aAorKysgYi9kcml2ZXJzL2NoYXIvdHBtL3RwbV90aXNfY29yZS5oCkBAIC05Myw2ICs5Myw3IEBA IHN0cnVjdCB0cG1fdGlzX2RhdGEgewogCXUxNiBtYW51ZmFjdHVyZXJfaWQ7CiAJaW50IGxvY2Fs aXR5OwogCWludCBpcnE7CisJdW5zaWduZWQgaW50IGludF9tYXNrOwogCXVuc2lnbmVkIGxvbmcg ZmxhZ3M7CiAJdm9pZCBfX2lvbWVtICppbGJfYmFzZV9hZGRyOwogCXUxNiBjbGtydW5fZW5hYmxl ZDsKLS0gCjIuMzYuMQoK