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 35BCAC433FE for ; Thu, 10 Nov 2022 15:26:48 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231340AbiKJP0o (ORCPT ); Thu, 10 Nov 2022 10:26:44 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41376 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231614AbiKJP0U (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 65A9F3E080; Thu, 10 Nov 2022 07:26:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417; t=1668093945; bh=3KlLEQb7IWTC+S751hHd5VTkqMQyRRQZBkiQMbL6Rjc=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; b=gmyFgNjDriHqVPT4KLgTD+F/ig5VEqBJHAgVJx+Tq5aHtNYj9ri/wetSH3DiAXkiX goKHhPTpTiSO1ymAVJbdSVarM2lCEn21lXU48RJz7Tgg31F3XxeQAAoiAaQsVx/4l4 w6uoaf46KknggE2HDkPWuWKcpRCb4I1pExKlod+Nbmg8dvOKGu1Vyor9M2SC0yNqzO hhXl+rAUCU/+Cj0oERKEIG7ALloN56Uh2olLew/eUyaFdf//xaDKfs9ZQjNEeT6Uuk fkJvhgKE3XmPxTuYU0NbJFwP75RyzAKJpIsDLlEdsT3ZywPGjuS53axwvukxofk4Kv ORLhooYdY2fIA== 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 1MeU4y-1pRNj31YKi-00aZJR; Thu, 10 Nov 2022 16:25:45 +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 08/12] tpm, tpm: Implement usage counter for locality Date: Thu, 10 Nov 2022 16:25:29 +0100 Message-Id: <20221110152533.24243-9-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:TVTk0VgrwhN591otFJ9HqLORi9Da94m3kLRXwxfV8hnXxT8NjwS hrptZSUJRDHt3ftVOCF5mnodhgHY///HjyuTruamk44wCEHaH5yAK4gSoOZqN4mCylcZzJz iuhNJjbm2bDeOiGfEZOZzlH+HBsjEXQE0eg4JQmxoyAkxf0WUtP/mfAsHz3b2UzZwse2nJp ayc9YAuuNpotKEJZTLzcQ== UI-OutboundReport: notjunk:1;M01:P0:6Xy56185HPY=;Nnn/ICEXtr9XICdfhGGsCmBWmAJ zrYU52YGvBjihIVMRkXNwTB5CsQdbnja8ywNxCrRIFeyUshAkPxnqO49RAjqx+44cozD3dVKz ka4tBbSXSaBeRQp3mFYbNzxwCA+vEhrA4MZ51JlzkJlDiUogHI9R8DYRrO5+Jx/An8UnC1NWB r3ncEGyJYDA6GyVss3aFXqrYpH/QdwCatamBL27b2Z9llKlolgVBi34rBcaikn5RIdoODpaQK 233t+nI8Ewb9S882oD7Sov8DP7TNyfGdlqVMVP+9h7u/JmD3MOnBscBctAC2qVPohgwOC8pRK /ItyeEfxOpbDgfOIdJY75rAxh/hTWen14Dlw7PPehCGKvKhrAwPh/SbbXQGWZsv3oxGarEN3C jfkzdzccf1HP5aZP3Z7ZBC3sr7l044JP36FLRqvWgm5241koArQNcHHlxyrXHwu42ilGg5dmG BJWbrz617t37TCj/jAoKClWHQ59RMCCk+drB0CAEFMO8DYwPK2kmU3ltdcBqa3TZDFS+h2JUT WcAnTyHEHhSulkJ34cIw+dsKnfW8syQNN3EJ4i/zrzOHkfn5HhqiEpbfdRTX/si/EQDFXlV3R dVvna6qfN/ZYLAVcRl105rbSLDAlRC3yMQqkb2OH3JXJyQavPj4R3iXzs0LYtiBb+nmicoirt grQLy0Ik+PxE2rumWTGoUsDHPIazswPaxp/cepTIdIFrIgN63HrIlVVEUKC1oQscwbM4CMAlH hcu3HM7XeIWksqRh+X4E+3KmE40JSQfyTddPJs/Vw/+MoflFaKCsMyaQNx890zSa+oHgOYUvj PcIKIHUUNAganRixL6iA2k99cC8GxiTZinvLhBgVeDdXILG5pXgXUA4hzOzqJUO0w8lKaH1cf JGNaH5vGE8OA66ovG9YNXISt4AOwKS6pmwkNwTtCaBE6K53AcYqa1OHK+c0ZGXa4tdf2J2VRw uBW0038w2T/PRBl9HFp3N+96h9c= Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org RnJvbTogTGlubyBTYW5maWxpcHBvIDxsLnNhbmZpbGlwcG9Aa3VuYnVzLmNvbT4KCkltcGxlbWVu dCBhIHVzYWdlIGNvdW50ZXIgZm9yIHRoZSAoZGVmYXVsdCkgbG9jYWxpdHkgdXNlZCBieSB0aGUg VFBNIFRJUwpkcml2ZXI6ClJlcXVlc3QgdGhlIGxvY2FsaXR5IGZyb20gdGhlIFRQTSBpZiBpdCBo YXMgbm90IGJlZW4gY2xhaW1lZCB5ZXQsIG90aGVyd2lzZQpvbmx5IGluY3JlbWVudCB0aGUgY291 bnRlci4gQWxzbyByZWxlYXNlIHRoZSBsb2NhbGl0eSBpZiB0aGUgY291bnRlciBpcyAwCm90aGVy d2lzZSBvbmx5IGRlY3JlbWVudCB0aGUgY291bnRlci4gU2luY2UgaW4gY2FzZSBvZiBTUEkgdGhl IHJlZ2lzdGVyCmFjY2Vzc2VzIGFyZSBsb2NrZWQgYnkgbWVhbnMgb2YgdGhlIFNQSSBidXMgbXV0 ZXggdXNlIGEgc2xlZXBhYmxlIGxvY2sKKGkuZS4gYWxzbyBhIG11dGV4KSB0byBlbnN1cmUgdGhy ZWFkLXNhZmV0eSBvZiB0aGUgY291bnRlciB3aGljaCBtYXkgYmUKYWNjZXNzZWQgYnkgYm90aCBh IHVzZXJzcGFjZSB0aHJlYWQgYW5kIHRoZSBpbnRlcnJ1cHQgaGFuZGxlci4KCkJ5IGRvaW5nIHRo aXMgcmVmYWN0b3IgdGhlIG5hbWVzIG9mIHRoZSBhbWVuZGVkIGZ1bmN0aW9ucyB0byB1c2UgYSBt b3JlCmFwcHJvcHJpYXRlIHByZWZpeC4KClNpZ25lZC1vZmYtYnk6IExpbm8gU2FuZmlsaXBwbyA8 bC5zYW5maWxpcHBvQGt1bmJ1cy5jb20+ClRlc3RlZC1ieTogTWljaGFlbCBOaWV3w7ZobmVyIDxs aW51eEBtbmlld29laG5lci5kZT4KLS0tCiBkcml2ZXJzL2NoYXIvdHBtL3RwbV90aXNfY29yZS5j IHwgNzUgKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tCiBkcml2ZXJzL2NoYXIvdHBt L3RwbV90aXNfY29yZS5oIHwgIDIgKwogMiBmaWxlcyBjaGFuZ2VkLCA1MyBpbnNlcnRpb25zKCsp LCAyNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvdHBtL3RwbV90aXNf Y29yZS5jIGIvZHJpdmVycy9jaGFyL3RwbS90cG1fdGlzX2NvcmUuYwppbmRleCA0MzM2ZjdlYThj MmIuLmVjZGU2ODRhOGY4MCAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL3RwbS90cG1fdGlzX2Nv cmUuYworKysgYi9kcml2ZXJzL2NoYXIvdHBtL3RwbV90aXNfY29yZS5jCkBAIC0xNjUsMTYgKzE2 NSwyNyBAQCBzdGF0aWMgYm9vbCBjaGVja19sb2NhbGl0eShzdHJ1Y3QgdHBtX2NoaXAgKmNoaXAs IGludCBsKQogCXJldHVybiBmYWxzZTsKIH0KIAotc3RhdGljIGludCByZWxlYXNlX2xvY2FsaXR5 KHN0cnVjdCB0cG1fY2hpcCAqY2hpcCwgaW50IGwpCitzdGF0aWMgaW50IF9fdHBtX3Rpc19yZWxp bnF1aXNoX2xvY2FsaXR5KHN0cnVjdCB0cG1fdGlzX2RhdGEgKnByaXYsIGludCBsKQoreworCXRw bV90aXNfd3JpdGU4KHByaXYsIFRQTV9BQ0NFU1MobCksIFRQTV9BQ0NFU1NfQUNUSVZFX0xPQ0FM SVRZKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHRwbV90aXNfcmVsaW5xdWlzaF9s b2NhbGl0eShzdHJ1Y3QgdHBtX2NoaXAgKmNoaXAsIGludCBsKQogewogCXN0cnVjdCB0cG1fdGlz X2RhdGEgKnByaXYgPSBkZXZfZ2V0X2RydmRhdGEoJmNoaXAtPmRldik7CiAKLQl0cG1fdGlzX3dy aXRlOChwcml2LCBUUE1fQUNDRVNTKGwpLCBUUE1fQUNDRVNTX0FDVElWRV9MT0NBTElUWSk7CisJ bXV0ZXhfbG9jaygmcHJpdi0+bG9jYWxpdHlfY291bnRfbXV0ZXgpOworCXByaXYtPmxvY2FsaXR5 X2NvdW50LS07CisJaWYgKHByaXYtPmxvY2FsaXR5X2NvdW50ID09IDApCisJCV9fdHBtX3Rpc19y ZWxpbnF1aXNoX2xvY2FsaXR5KHByaXYsIGwpOworCW11dGV4X3VubG9jaygmcHJpdi0+bG9jYWxp dHlfY291bnRfbXV0ZXgpOwogCiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgcmVxdWVzdF9s b2NhbGl0eShzdHJ1Y3QgdHBtX2NoaXAgKmNoaXAsIGludCBsKQorc3RhdGljIGludCBfX3RwbV90 aXNfcmVxdWVzdF9sb2NhbGl0eShzdHJ1Y3QgdHBtX2NoaXAgKmNoaXAsIGludCBsKQogewogCXN0 cnVjdCB0cG1fdGlzX2RhdGEgKnByaXYgPSBkZXZfZ2V0X2RydmRhdGEoJmNoaXAtPmRldik7CiAJ dW5zaWduZWQgbG9uZyBzdG9wLCB0aW1lb3V0OwpAQCAtMjE1LDYgKzIyNiwyMCBAQCBzdGF0aWMg aW50IHJlcXVlc3RfbG9jYWxpdHkoc3RydWN0IHRwbV9jaGlwICpjaGlwLCBpbnQgbCkKIAlyZXR1 cm4gLTE7CiB9CiAKK3N0YXRpYyBpbnQgdHBtX3Rpc19yZXF1ZXN0X2xvY2FsaXR5KHN0cnVjdCB0 cG1fY2hpcCAqY2hpcCwgaW50IGwpCit7CisJc3RydWN0IHRwbV90aXNfZGF0YSAqcHJpdiA9IGRl dl9nZXRfZHJ2ZGF0YSgmY2hpcC0+ZGV2KTsKKwlpbnQgcmV0ID0gMDsKKworCW11dGV4X2xvY2so JnByaXYtPmxvY2FsaXR5X2NvdW50X211dGV4KTsKKwlpZiAocHJpdi0+bG9jYWxpdHlfY291bnQg PT0gMCkKKwkJcmV0ID0gX190cG1fdGlzX3JlcXVlc3RfbG9jYWxpdHkoY2hpcCwgbCk7CisJaWYg KCFyZXQpCisJCXByaXYtPmxvY2FsaXR5X2NvdW50Kys7CisJbXV0ZXhfdW5sb2NrKCZwcml2LT5s b2NhbGl0eV9jb3VudF9tdXRleCk7CisJcmV0dXJuIHJldDsKK30KKwogc3RhdGljIHU4IHRwbV90 aXNfc3RhdHVzKHN0cnVjdCB0cG1fY2hpcCAqY2hpcCkKIHsKIAlzdHJ1Y3QgdHBtX3Rpc19kYXRh ICpwcml2ID0gZGV2X2dldF9kcnZkYXRhKCZjaGlwLT5kZXYpOwpAQCAtNjgyLDcgKzcwNyw3IEBA IHN0YXRpYyBpbnQgcHJvYmVfaXRwbShzdHJ1Y3QgdHBtX2NoaXAgKmNoaXApCiAJaWYgKHZlbmRv ciAhPSBUUE1fVklEX0lOVEVMKQogCQlyZXR1cm4gMDsKIAotCWlmIChyZXF1ZXN0X2xvY2FsaXR5 KGNoaXAsIDApICE9IDApCisJaWYgKHRwbV90aXNfcmVxdWVzdF9sb2NhbGl0eShjaGlwLCAwKSAh PSAwKQogCQlyZXR1cm4gLUVCVVNZOwogCiAJcmMgPSB0cG1fdGlzX3NlbmRfZGF0YShjaGlwLCBj bWRfZ2V0dGlja3MsIGxlbik7CkBAIC03MDMsNyArNzI4LDcgQEAgc3RhdGljIGludCBwcm9iZV9p dHBtKHN0cnVjdCB0cG1fY2hpcCAqY2hpcCkKIAogb3V0OgogCXRwbV90aXNfcmVhZHkoY2hpcCk7 Ci0JcmVsZWFzZV9sb2NhbGl0eShjaGlwLCBwcml2LT5sb2NhbGl0eSk7CisJdHBtX3Rpc19yZWxp bnF1aXNoX2xvY2FsaXR5KGNoaXAsIHByaXYtPmxvY2FsaXR5KTsKIAogCXJldHVybiByYzsKIH0K QEAgLTc2Miw3ICs3ODcsNyBAQCBzdGF0aWMgaW50IHRwbV90aXNfZ2VuX2ludGVycnVwdChzdHJ1 Y3QgdHBtX2NoaXAgKmNoaXApCiAJY2FwX3QgY2FwOwogCWludCByZXQ7CiAKLQlyZXQgPSByZXF1 ZXN0X2xvY2FsaXR5KGNoaXAsIDApOworCXJldCA9IHRwbV90aXNfcmVxdWVzdF9sb2NhbGl0eShj aGlwLCAwKTsKIAlpZiAocmV0IDwgMCkKIAkJcmV0dXJuIHJldDsKIApAQCAtNzcxLDcgKzc5Niw3 IEBAIHN0YXRpYyBpbnQgdHBtX3Rpc19nZW5faW50ZXJydXB0KHN0cnVjdCB0cG1fY2hpcCAqY2hp cCkKIAllbHNlCiAJCXJldCA9IHRwbTFfZ2V0Y2FwKGNoaXAsIFRQTV9DQVBfUFJPUF9USVNfVElN RU9VVCwgJmNhcCwgZGVzYywgMCk7CiAKLQlyZWxlYXNlX2xvY2FsaXR5KGNoaXAsIDApOworCXRw bV90aXNfcmVsaW5xdWlzaF9sb2NhbGl0eShjaGlwLCAwKTsKIAogCXJldHVybiByZXQ7CiB9CkBA IC03OTYsMzMgKzgyMSwzMyBAQCBzdGF0aWMgaW50IHRwbV90aXNfcHJvYmVfaXJxX3NpbmdsZShz dHJ1Y3QgdHBtX2NoaXAgKmNoaXAsIHUzMiBpbnRtYXNrLAogCX0KIAlwcml2LT5pcnEgPSBpcnE7 CiAKLQlyYyA9IHJlcXVlc3RfbG9jYWxpdHkoY2hpcCwgMCk7CisJcmMgPSB0cG1fdGlzX3JlcXVl c3RfbG9jYWxpdHkoY2hpcCwgMCk7CiAJaWYgKHJjIDwgMCkKIAkJcmV0dXJuIHJjOwogCiAJcmMg PSB0cG1fdGlzX3JlYWQ4KHByaXYsIFRQTV9JTlRfVkVDVE9SKHByaXYtPmxvY2FsaXR5KSwKIAkJ CSAgICZvcmlnaW5hbF9pbnRfdmVjKTsKIAlpZiAocmMgPCAwKSB7Ci0JCXJlbGVhc2VfbG9jYWxp dHkoY2hpcCwgcHJpdi0+bG9jYWxpdHkpOworCQl0cG1fdGlzX3JlbGlucXVpc2hfbG9jYWxpdHko Y2hpcCwgcHJpdi0+bG9jYWxpdHkpOwogCQlyZXR1cm4gcmM7CiAJfQogCiAJcmMgPSB0cG1fdGlz X3dyaXRlOChwcml2LCBUUE1fSU5UX1ZFQ1RPUihwcml2LT5sb2NhbGl0eSksIGlycSk7CiAJaWYg KHJjIDwgMCkgewotCQlyZWxlYXNlX2xvY2FsaXR5KGNoaXAsIHByaXYtPmxvY2FsaXR5KTsKKwkJ dHBtX3Rpc19yZWxpbnF1aXNoX2xvY2FsaXR5KGNoaXAsIHByaXYtPmxvY2FsaXR5KTsKIAkJcmV0 dXJuIHJjOwogCX0KIAogCXJjID0gdHBtX3Rpc19yZWFkMzIocHJpdiwgVFBNX0lOVF9TVEFUVVMo cHJpdi0+bG9jYWxpdHkpLCAmaW50X3N0YXR1cyk7CiAJaWYgKHJjIDwgMCkgewotCQlyZWxlYXNl X2xvY2FsaXR5KGNoaXAsIHByaXYtPmxvY2FsaXR5KTsKKwkJdHBtX3Rpc19yZWxpbnF1aXNoX2xv Y2FsaXR5KGNoaXAsIHByaXYtPmxvY2FsaXR5KTsKIAkJcmV0dXJuIHJjOwogCX0KIAogCS8qIENs ZWFyIGFsbCBleGlzdGluZyAqLwogCXJjID0gdHBtX3Rpc193cml0ZTMyKHByaXYsIFRQTV9JTlRf U1RBVFVTKHByaXYtPmxvY2FsaXR5KSwgaW50X3N0YXR1cyk7CiAJaWYgKHJjIDwgMCkgewotCQly ZWxlYXNlX2xvY2FsaXR5KGNoaXAsIHByaXYtPmxvY2FsaXR5KTsKKwkJdHBtX3Rpc19yZWxpbnF1 aXNoX2xvY2FsaXR5KGNoaXAsIHByaXYtPmxvY2FsaXR5KTsKIAkJcmV0dXJuIHJjOwogCX0KIApA QCAtODMwLDExICs4NTUsMTEgQEAgc3RhdGljIGludCB0cG1fdGlzX3Byb2JlX2lycV9zaW5nbGUo c3RydWN0IHRwbV9jaGlwICpjaGlwLCB1MzIgaW50bWFzaywKIAlyYyA9IHRwbV90aXNfd3JpdGUz Mihwcml2LCBUUE1fSU5UX0VOQUJMRShwcml2LT5sb2NhbGl0eSksCiAJCQkgICAgIGludG1hc2sg fCBUUE1fR0xPQkFMX0lOVF9FTkFCTEUpOwogCWlmIChyYyA8IDApIHsKLQkJcmVsZWFzZV9sb2Nh bGl0eShjaGlwLCBwcml2LT5sb2NhbGl0eSk7CisJCXRwbV90aXNfcmVsaW5xdWlzaF9sb2NhbGl0 eShjaGlwLCBwcml2LT5sb2NhbGl0eSk7CiAJCXJldHVybiByYzsKIAl9CiAKLQlyZWxlYXNlX2xv Y2FsaXR5KGNoaXAsIHByaXYtPmxvY2FsaXR5KTsKKwl0cG1fdGlzX3JlbGlucXVpc2hfbG9jYWxp dHkoY2hpcCwgcHJpdi0+bG9jYWxpdHkpOwogCWNsZWFyX2JpdChUUE1fVElTX0lSUV9URVNURUQs ICZwcml2LT5mbGFncyk7CiAKIAkvKiBHZW5lcmF0ZSBhbiBpbnRlcnJ1cHQgYnkgaGF2aW5nIHRo ZSBjb3JlIGNhbGwgdGhyb3VnaCB0bwpAQCAtOTcwLDggKzk5NSw4IEBAIHN0YXRpYyBjb25zdCBz dHJ1Y3QgdHBtX2NsYXNzX29wcyB0cG1fdGlzID0gewogCS5yZXFfY29tcGxldGVfbWFzayA9IFRQ TV9TVFNfREFUQV9BVkFJTCB8IFRQTV9TVFNfVkFMSUQsCiAJLnJlcV9jb21wbGV0ZV92YWwgPSBU UE1fU1RTX0RBVEFfQVZBSUwgfCBUUE1fU1RTX1ZBTElELAogCS5yZXFfY2FuY2VsZWQgPSB0cG1f dGlzX3JlcV9jYW5jZWxlZCwKLQkucmVxdWVzdF9sb2NhbGl0eSA9IHJlcXVlc3RfbG9jYWxpdHks Ci0JLnJlbGlucXVpc2hfbG9jYWxpdHkgPSByZWxlYXNlX2xvY2FsaXR5LAorCS5yZXF1ZXN0X2xv Y2FsaXR5ID0gdHBtX3Rpc19yZXF1ZXN0X2xvY2FsaXR5LAorCS5yZWxpbnF1aXNoX2xvY2FsaXR5 ID0gdHBtX3Rpc19yZWxpbnF1aXNoX2xvY2FsaXR5LAogCS5jbGtfZW5hYmxlID0gdHBtX3Rpc19j bGtydW5fZW5hYmxlLAogfTsKIApAQCAtMTAwNSw2ICsxMDMwLDggQEAgaW50IHRwbV90aXNfY29y ZV9pbml0KHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IHRwbV90aXNfZGF0YSAqcHJpdiwgaW50 IGlycSwKIAlwcml2LT50aW1lb3V0X21pbiA9IFRQTV9USU1FT1VUX1VTRUNTX01JTjsKIAlwcml2 LT50aW1lb3V0X21heCA9IFRQTV9USU1FT1VUX1VTRUNTX01BWDsKIAlwcml2LT5waHlfb3BzID0g cGh5X29wczsKKwlwcml2LT5sb2NhbGl0eV9jb3VudCA9IDA7CisJbXV0ZXhfaW5pdCgmcHJpdi0+ bG9jYWxpdHlfY291bnRfbXV0ZXgpOwogCiAJZGV2X3NldF9kcnZkYXRhKCZjaGlwLT5kZXYsIHBy aXYpOwogCkBAIC0xMDgzLDE0ICsxMTEwLDE0IEBAIGludCB0cG1fdGlzX2NvcmVfaW5pdChzdHJ1 Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCB0cG1fdGlzX2RhdGEgKnByaXYsIGludCBpcnEsCiAKIAlp bnRtYXNrICY9IH5UUE1fR0xPQkFMX0lOVF9FTkFCTEU7CiAKLQlyYyA9IHJlcXVlc3RfbG9jYWxp dHkoY2hpcCwgMCk7CisJcmMgPSB0cG1fdGlzX3JlcXVlc3RfbG9jYWxpdHkoY2hpcCwgMCk7CiAJ aWYgKHJjIDwgMCkgewogCQlyYyA9IC1FTk9ERVY7CiAJCWdvdG8gb3V0X2VycjsKIAl9CiAKIAl0 cG1fdGlzX3dyaXRlMzIocHJpdiwgVFBNX0lOVF9FTkFCTEUocHJpdi0+bG9jYWxpdHkpLCBpbnRt YXNrKTsKLQlyZWxlYXNlX2xvY2FsaXR5KGNoaXAsIDApOworCXRwbV90aXNfcmVsaW5xdWlzaF9s b2NhbGl0eShjaGlwLCAwKTsKIAogCXJjID0gdHBtX2NoaXBfc3RhcnQoY2hpcCk7CiAJaWYgKHJj KQpAQCAtMTEyNCwxMyArMTE1MSwxMyBAQCBpbnQgdHBtX3Rpc19jb3JlX2luaXQoc3RydWN0IGRl dmljZSAqZGV2LCBzdHJ1Y3QgdHBtX3Rpc19kYXRhICpwcml2LCBpbnQgaXJxLAogCQkgKiBwcm9w ZXIgdGltZW91dHMgZm9yIHRoZSBkcml2ZXIuCiAJCSAqLwogCi0JCXJjID0gcmVxdWVzdF9sb2Nh bGl0eShjaGlwLCAwKTsKKwkJcmMgPSB0cG1fdGlzX3JlcXVlc3RfbG9jYWxpdHkoY2hpcCwgMCk7 CiAJCWlmIChyYyA8IDApCiAJCQlnb3RvIG91dF9lcnI7CiAKIAkJcmMgPSB0cG1fZ2V0X3RpbWVv dXRzKGNoaXApOwogCi0JCXJlbGVhc2VfbG9jYWxpdHkoY2hpcCwgMCk7CisJCXRwbV90aXNfcmVs aW5xdWlzaF9sb2NhbGl0eShjaGlwLCAwKTsKIAogCQlpZiAocmMpIHsKIAkJCWRldl9lcnIoZGV2 LCAiQ291bGQgbm90IGdldCBUUE0gdGltZW91dHMgYW5kIGR1cmF0aW9uc1xuIik7CkBAIC0xMTUw LDExICsxMTc3LDExIEBAIGludCB0cG1fdGlzX2NvcmVfaW5pdChzdHJ1Y3QgZGV2aWNlICpkZXYs IHN0cnVjdCB0cG1fdGlzX2RhdGEgKnByaXYsIGludCBpcnEsCiAJCQlkZXZfZXJyKCZjaGlwLT5k ZXYsIEZXX0JVRwogCQkJCQkiVFBNIGludGVycnVwdCBub3Qgd29ya2luZywgcG9sbGluZyBpbnN0 ZWFkXG4iKTsKIAotCQkJcmMgPSByZXF1ZXN0X2xvY2FsaXR5KGNoaXAsIDApOworCQkJcmMgPSB0 cG1fdGlzX3JlcXVlc3RfbG9jYWxpdHkoY2hpcCwgMCk7CiAJCQlpZiAocmMgPCAwKQogCQkJCWdv dG8gb3V0X2VycjsKIAkJCWRpc2FibGVfaW50ZXJydXB0cyhjaGlwKTsKLQkJCXJlbGVhc2VfbG9j YWxpdHkoY2hpcCwgMCk7CisJCQl0cG1fdGlzX3JlbGlucXVpc2hfbG9jYWxpdHkoY2hpcCwgMCk7 CiAJCX0KIAl9CiAKQEAgLTEyMjEsMTMgKzEyNDgsMTMgQEAgaW50IHRwbV90aXNfcmVzdW1lKHN0 cnVjdCBkZXZpY2UgKmRldikKIAkgKiBhbiBlcnJvciBjb2RlIGJ1dCBmb3IgdW5rbm93biByZWFz b24gaXQgaXNuJ3QgaGFuZGxlZC4KIAkgKi8KIAlpZiAoIShjaGlwLT5mbGFncyAmIFRQTV9DSElQ X0ZMQUdfVFBNMikpIHsKLQkJcmV0ID0gcmVxdWVzdF9sb2NhbGl0eShjaGlwLCAwKTsKKwkJcmV0 ID0gdHBtX3Rpc19yZXF1ZXN0X2xvY2FsaXR5KGNoaXAsIDApOwogCQlpZiAocmV0IDwgMCkKIAkJ CXJldHVybiByZXQ7CiAKIAkJdHBtMV9kb19zZWxmdGVzdChjaGlwKTsKIAotCQlyZWxlYXNlX2xv Y2FsaXR5KGNoaXAsIDApOworCQl0cG1fdGlzX3JlbGlucXVpc2hfbG9jYWxpdHkoY2hpcCwgMCk7 CiAJfQogCiAJcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvdHBtL3RwbV90aXNf Y29yZS5oIGIvZHJpdmVycy9jaGFyL3RwbS90cG1fdGlzX2NvcmUuaAppbmRleCAyZGVlZjExYzg4 ZGIuLjEzYmRjZjM4ZTU2ZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL3RwbS90cG1fdGlzX2Nv cmUuaAorKysgYi9kcml2ZXJzL2NoYXIvdHBtL3RwbV90aXNfY29yZS5oCkBAIC05MSw2ICs5MSw4 IEBAIGVudW0gdHBtX3Rpc19mbGFncyB7CiAKIHN0cnVjdCB0cG1fdGlzX2RhdGEgewogCXUxNiBt YW51ZmFjdHVyZXJfaWQ7CisJc3RydWN0IG11dGV4IGxvY2FsaXR5X2NvdW50X211dGV4OworCXVu c2lnbmVkIGludCBsb2NhbGl0eV9jb3VudDsKIAlpbnQgbG9jYWxpdHk7CiAJaW50IGlycTsKIAl1 bnNpZ25lZCBpbnQgaW50X21hc2s7Ci0tIAoyLjM2LjEKCg==