Received: by 2002:a05:6358:d09b:b0:dc:cd0c:909e with SMTP id jc27csp854532rwb; Thu, 10 Nov 2022 08:10:40 -0800 (PST) X-Google-Smtp-Source: AMsMyM4lFhorGJYT0T0xOiEFwnLwGFyuZ9a8uWeDB/8K1wIEwXwh/hTbPLSJtdFl2JPhgsTq9/Kg X-Received: by 2002:a17:906:9b87:b0:733:1795:2855 with SMTP id dd7-20020a1709069b8700b0073317952855mr60370658ejc.156.1668096640105; Thu, 10 Nov 2022 08:10:40 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1668096640; cv=none; d=google.com; s=arc-20160816; b=J/WqHSGPkFumlGhY9BuPT6D36Bl7PudhPmHGOz0AdUti9hhtRnh9S8OQzOwOveHDnz 7/Fdgv2dJ4Bp1TetopAiWxAyfOYbHILz5R3LRPBBscH0T/nPD9rn91EZp48MZRSnTJHT 742hpRCLwMRa0c50jO3HCk1L9gmaiNEGoQE6I3p1NfFHcZAkOP8bhGul/PZHCnJqPjKg vy993oOf7t1dAQSwwfFCkHhVcljGmY6Zm039W8JP3jcFF+h6Rdc2jv2sZH2o9e/maQCK nFIGTxD+n+GaRpim+J/2tEbX2+DNvdfjtZkNL9AsdRvkHDX3Vw5AIk5YmQ8QXZ2XgJ4z hbmA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:ui-outboundreport:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=3KlLEQb7IWTC+S751hHd5VTkqMQyRRQZBkiQMbL6Rjc=; b=VO2t4mkGoX8ODgMVDQM3q9AXiwc0p7o2MXvg2iLZ7omEuyRLBRnjnumo1Y8YDCibFV Lw/jz9P8UG4KaAa0VV+cTQNgew4afgqU4SjN3Bmn2I3uRknSPsIYZqiakgJEyG3AOJ6T JwnZrUl9H/dzZ61JIYcWtzGSx6/9IvNhhY/5HA2TrVYc+ZU1YfLkmMe0M26JvfI1OhFe 83LERb6KatxptWV9pmHuRmYFVdT2yZZ40+/rNWGS2vavxOJuK8tvOdwB+8vEjrlF9pnv Y/NV0eDqw6nvLLQgQQ54Al5I8P1/0UT2nxMH4dvtRsTlgKZ7OZDcgY9OFpWAJAURoZ1f 1nVw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmx.de header.s=s31663417 header.b=gmyFgNjD; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gmx.de Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id k7-20020a170906054700b0078def5c29e3si13163527eja.596.2022.11.10.08.10.11; Thu, 10 Nov 2022 08:10:40 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@gmx.de header.s=s31663417 header.b=gmyFgNjD; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gmx.de Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230252AbiKJP0o (ORCPT + 92 others); 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= X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net 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==