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 4A98DCCA47C for ; Wed, 29 Jun 2022 23:28:29 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231727AbiF2X22 (ORCPT ); Wed, 29 Jun 2022 19:28:28 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33356 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231332AbiF2X1j (ORCPT ); Wed, 29 Jun 2022 19:27:39 -0400 Received: from mout.gmx.net (mout.gmx.net [212.227.15.19]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4139D25E96; Wed, 29 Jun 2022 16:27:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1656545246; bh=Ao6e13p1aZ8k0TVF/ZFV/nK4nyhFpQ+3TpXuc/A/kmQ=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; b=BA/nD1dAD/a9sfE4zDBxVN+xL0jWIUEjM40ggzHoJG10+jFR6T5d9yy8NHiOT+4Y0 IIyG54PQnuibvLt1R8LQkGtLXZ5HoHLgutnt+xGB+ksHDxW84wIyvwukSAiCznN6f2 aER39wmGHoXreH5MrPqoreukbPqIiFamvkU+G1HY= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from localhost.localdomain ([46.223.3.23]) by mail.gmx.net (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1M7b6l-1nzEpc3eyD-007yws; Thu, 30 Jun 2022 01:27:25 +0200 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, l.sanfilippo@kunbus.com, LinoSanfilippo@gmx.de, lukas@wunner.de, p.rosenberger@kunbus.com Subject: [PATCH v7 07/10] tmp, tmp_tis: Implement usage counter for locality Date: Thu, 30 Jun 2022 01:26:50 +0200 Message-Id: <20220629232653.1306735-8-LinoSanfilippo@gmx.de> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220629232653.1306735-1-LinoSanfilippo@gmx.de> References: <20220629232653.1306735-1-LinoSanfilippo@gmx.de> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: base64 X-Provags-ID: V03:K1:NojbFqVNT2axLISAEAds6qZ1mjlpRrwCD/UN7O5naID7z3aXeoF +HFwNi9+GP1V/OTCmAzGSKzDu31SFzg7ntHFhWNq8lVhoSMyZKka2qgDji4u462+/leCMcD PPTFPd/IswpKqiF/nZP4PMhjS46SkMfHFmcHJ1UMaav+zqienKDlRh9MMKkmE0w4xRCsgR4 YlHBdPq3akF1ytYZdRD0g== X-UI-Out-Filterresults: notjunk:1;V03:K0:4q+weHVv0J8=:b9Wi+qWZpF6Z6JsNn+2VI1 H5qbuqzr2NdbtuwnnTgF6UxA/HITEAe2tJdlZsgROF+MFS/60aS+tJe7EXkanN0iuvtFDfofr GfHfz6cj3ZsmQc4CqDwc8lxkCk3lvH5WiEm1jj3sBJrrXp+tVJnzQIfKHyvE8KlasH9brRDpx d6TNVcpe/pFAzjcO8ikzBQaIb2rSSesiEDOTupecPT+umam4xFG59aGlqfkJMyRiPzmacFijt sdrxKayc4gEcGj/y1vto85WvaOS21VOggWi02SZaziUDRQGK+NE0D3Q2+LTy6c3CS+Aaz6+4v c7yH9qgrTeNaIUjgv/jJ25uGbXtdsJaCK6FW5zh669tOJ4F9GhHBvDERcEgLsNHflWIZmwJMu WXlj/zKuuJY+swJghUMErjq2PQMZtwsobfYey9wzJfYSRooyXF4BqpmIT7KEU5Cu9rp+4Ub3Q yH6cihhSwXYLT56gbKQUxR/PSoPcoo3HjoDHcn75euXs9Gd9zR2LVA4Z8yA6UWYfbZLdzspRJ 17V8WbYD83VOQRWY2fYTHihXokdeGeaMMVJCVJyAK/oSxeiyLne7/L6z0UQbVcaBKTZ/jdYsC N+vx+4Y0SFYLYPBzOgbaY3OOG8xujdxevJ0D4Mxpokp8VDUkjZG415/eM1qTnORVJexo7WnW2 E9k2nqsX776lWNmaYHAecVGf6NDwfdU2il8mdOVjbKQsaWTPFzOHAY25uu4S2v1/iWCKjYZYh FUPcyGkfSeWISyaw2c1VoQhxw7eOW5i5Nb6Xe0vTOCp7UIBMq5iKXBeKHMULXhT71LZllF5iK Fmzashn2SEtBABhGHEN00NTV20HWeOCSeKYB7L3e8qLdd1LZLmyj+7qTNWppheIpYOdE3/Dqa imtjBoGRd1EO6ObaAd1f9f7OiZi3KMg9OKmqR5ySLzXRQY6QjpC6JrDj+6w0xlypIVnOhsUWk r6tGarDN3+tTr8GfZ/Vb+2IKt8SdHvj46k2Im0mDgVmUs5GqGaUGRF7u350JXAGsH6WLF0JtU 0gE1CHJu9BBgyQC0LzncnEqPkXQLC65L7x280J8pnEez3Qjj3REMQPKIhv+TYjXsZaKiNJjog L9D7yyNwZbzhYooB+BZFZcCfcvUyt1Hknm7KyKk6lQ9YSoVr09tDJh9Bg== Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org RnJvbTogTGlubyBTYW5maWxpcHBvIDxsLnNhbmZpbGlwcG9Aa3VuYnVzLmNvbT4KCkltcGxlbWVu dCBhIHVzYWdlIGNvdW50ZXIgZm9yIHRoZSAoZGVmYXVsdCkgbG9jYWxpdHkgdXNlZCBieSB0aGUg VFBNIFRJUwpkcml2ZXI6ClJlcXVlc3QgdGhlIGxvY2FsaXR5IGZyb20gdGhlIFRQTSBpZiBpdCBo YXMgbm90IGJlZW4gY2xhaW1lZCB5ZXQsIG90aGVyd2lzZQpvbmx5IGluY3JlbWVudCB0aGUgY291 bnRlci4gQWxzbyByZWxlYXNlIHRoZSBsb2NhbGl0eSBpZiB0aGUgY291bnRlciBpcyAwCm90aGVy d2lzZSBvbmx5IGRlY3JlbWVudCB0aGUgY291bnRlci4gRW5zdXJlIHRocmVhZC1zYWZldHkgYnkg cHJvdGVjdGluZwp0aGUgY291bnRlciB3aXRoIGEgbXV0ZXguCgpUaGlzIGFsbG93cyB0byByZXF1 ZXN0IGFuZCByZWxlYXNlIHRoZSBsb2NhbGl0eSBmcm9tIGEgdGhyZWFkIGFuZCB0aGUKaW50ZXJy dXB0IGhhbmRsZXIgYXQgdGhlIHNhbWUgdGltZSB3aXRob3V0IHRoZSBkYW5nZXIgdG8gaW50ZXJm ZXJlIHdpdGgKZWFjaCBvdGhlci4KCkJ5IGRvaW5nIHRoaXMgcmVmYWN0b3IgdGhlIG5hbWVzIG9m IHRoZSBhbWVuZGVkIGZ1bmN0aW9ucyB0byB1c2UgdGhlIHByb3BlcgpwcmVmaXguCgpTaWduZWQt b2ZmLWJ5OiBMaW5vIFNhbmZpbGlwcG8gPGwuc2FuZmlsaXBwb0BrdW5idXMuY29tPgpUZXN0ZWQt Ynk6IE1pY2hhZWwgTmlld8O2aG5lciA8bGludXhAbW5pZXdvZWhuZXIuZGU+Ci0tLQogZHJpdmVy cy9jaGFyL3RwbS90cG1fdGlzX2NvcmUuYyB8IDc1ICsrKysrKysrKysrKysrKysrKysrKystLS0t LS0tLS0tLQogZHJpdmVycy9jaGFyL3RwbS90cG1fdGlzX2NvcmUuaCB8ICAyICsKIDIgZmlsZXMg Y2hhbmdlZCwgNTMgaW5zZXJ0aW9ucygrKSwgMjQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9jaGFyL3RwbS90cG1fdGlzX2NvcmUuYyBiL2RyaXZlcnMvY2hhci90cG0vdHBtX3Rp c19jb3JlLmMKaW5kZXggYmQ0ZWViMGIyMTkyLi5lNTBhMmM3OGRlOWYgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvY2hhci90cG0vdHBtX3Rpc19jb3JlLmMKKysrIGIvZHJpdmVycy9jaGFyL3RwbS90cG1f dGlzX2NvcmUuYwpAQCAtMTY1LDE2ICsxNjUsMjcgQEAgc3RhdGljIGJvb2wgY2hlY2tfbG9jYWxp dHkoc3RydWN0IHRwbV9jaGlwICpjaGlwLCBpbnQgbCkKIAlyZXR1cm4gZmFsc2U7CiB9CiAKLXN0 YXRpYyBpbnQgcmVsZWFzZV9sb2NhbGl0eShzdHJ1Y3QgdHBtX2NoaXAgKmNoaXAsIGludCBsKQor c3RhdGljIGludCB0cG1fdGlzX3JlbGVhc2VfbG9jYWxpdHlfbG9ja2VkKHN0cnVjdCB0cG1fdGlz X2RhdGEgKnByaXYsIGludCBsKQoreworCXRwbV90aXNfd3JpdGU4KHByaXYsIFRQTV9BQ0NFU1Mo bCksIFRQTV9BQ0NFU1NfQUNUSVZFX0xPQ0FMSVRZKTsKKworCXJldHVybiAwOworfQorCitzdGF0 aWMgaW50IHRwbV90aXNfcmVsZWFzZV9sb2NhbGl0eShzdHJ1Y3QgdHBtX2NoaXAgKmNoaXAsIGlu dCBsKQogewogCXN0cnVjdCB0cG1fdGlzX2RhdGEgKnByaXYgPSBkZXZfZ2V0X2RydmRhdGEoJmNo aXAtPmRldik7CiAKLQl0cG1fdGlzX3dyaXRlOChwcml2LCBUUE1fQUNDRVNTKGwpLCBUUE1fQUND RVNTX0FDVElWRV9MT0NBTElUWSk7CisJbXV0ZXhfbG9jaygmcHJpdi0+bG9jYWxpdHlfY291bnRf bXV0ZXgpOworCXByaXYtPmxvY2FsaXR5X2NvdW50LS07CisJaWYgKHByaXYtPmxvY2FsaXR5X2Nv dW50ID09IDApCisJCXRwbV90aXNfcmVsZWFzZV9sb2NhbGl0eV9sb2NrZWQocHJpdiwgbCk7CisJ bXV0ZXhfdW5sb2NrKCZwcml2LT5sb2NhbGl0eV9jb3VudF9tdXRleCk7CiAKIAlyZXR1cm4gMDsK IH0KIAotc3RhdGljIGludCByZXF1ZXN0X2xvY2FsaXR5KHN0cnVjdCB0cG1fY2hpcCAqY2hpcCwg aW50IGwpCitzdGF0aWMgaW50IHRwbV90aXNfcmVxdWVzdF9sb2NhbGl0eV9sb2NrZWQoc3RydWN0 IHRwbV9jaGlwICpjaGlwLCBpbnQgbCkKIHsKIAlzdHJ1Y3QgdHBtX3Rpc19kYXRhICpwcml2ID0g ZGV2X2dldF9kcnZkYXRhKCZjaGlwLT5kZXYpOwogCXVuc2lnbmVkIGxvbmcgc3RvcCwgdGltZW91 dDsKQEAgLTIxNSw2ICsyMjYsMjAgQEAgc3RhdGljIGludCByZXF1ZXN0X2xvY2FsaXR5KHN0cnVj dCB0cG1fY2hpcCAqY2hpcCwgaW50IGwpCiAJcmV0dXJuIC0xOwogfQogCitzdGF0aWMgaW50IHRw bV90aXNfcmVxdWVzdF9sb2NhbGl0eShzdHJ1Y3QgdHBtX2NoaXAgKmNoaXAsIGludCBsKQorewor CXN0cnVjdCB0cG1fdGlzX2RhdGEgKnByaXYgPSBkZXZfZ2V0X2RydmRhdGEoJmNoaXAtPmRldik7 CisJaW50IHJldCA9IDA7CisKKwltdXRleF9sb2NrKCZwcml2LT5sb2NhbGl0eV9jb3VudF9tdXRl eCk7CisJaWYgKHByaXYtPmxvY2FsaXR5X2NvdW50ID09IDApCisJCXJldCA9IHRwbV90aXNfcmVx dWVzdF9sb2NhbGl0eV9sb2NrZWQoY2hpcCwgbCk7CisJaWYgKCFyZXQpCisJCXByaXYtPmxvY2Fs aXR5X2NvdW50Kys7CisJbXV0ZXhfdW5sb2NrKCZwcml2LT5sb2NhbGl0eV9jb3VudF9tdXRleCk7 CisJcmV0dXJuIHJldDsKK30KKwogc3RhdGljIHU4IHRwbV90aXNfc3RhdHVzKHN0cnVjdCB0cG1f Y2hpcCAqY2hpcCkKIHsKIAlzdHJ1Y3QgdHBtX3Rpc19kYXRhICpwcml2ID0gZGV2X2dldF9kcnZk YXRhKCZjaGlwLT5kZXYpOwpAQCAtNjY4LDcgKzY5Myw3IEBAIHN0YXRpYyBpbnQgcHJvYmVfaXRw bShzdHJ1Y3QgdHBtX2NoaXAgKmNoaXApCiAJaWYgKHZlbmRvciAhPSBUUE1fVklEX0lOVEVMKQog CQlyZXR1cm4gMDsKIAotCWlmIChyZXF1ZXN0X2xvY2FsaXR5KGNoaXAsIDApICE9IDApCisJaWYg KHRwbV90aXNfcmVxdWVzdF9sb2NhbGl0eShjaGlwLCAwKSAhPSAwKQogCQlyZXR1cm4gLUVCVVNZ OwogCiAJcmMgPSB0cG1fdGlzX3NlbmRfZGF0YShjaGlwLCBjbWRfZ2V0dGlja3MsIGxlbik7CkBA IC02ODksNyArNzE0LDcgQEAgc3RhdGljIGludCBwcm9iZV9pdHBtKHN0cnVjdCB0cG1fY2hpcCAq Y2hpcCkKIAogb3V0OgogCXRwbV90aXNfcmVhZHkoY2hpcCk7Ci0JcmVsZWFzZV9sb2NhbGl0eShj aGlwLCBwcml2LT5sb2NhbGl0eSk7CisJdHBtX3Rpc19yZWxlYXNlX2xvY2FsaXR5KGNoaXAsIHBy aXYtPmxvY2FsaXR5KTsKIAogCXJldHVybiByYzsKIH0KQEAgLTc1MSw3ICs3NzYsNyBAQCBzdGF0 aWMgaW50IHRwbV90aXNfZ2VuX2ludGVycnVwdChzdHJ1Y3QgdHBtX2NoaXAgKmNoaXApCiAJY2Fw X3QgY2FwOwogCWludCByZXQ7CiAKLQlyZXQgPSByZXF1ZXN0X2xvY2FsaXR5KGNoaXAsIDApOwor CXJldCA9IHRwbV90aXNfcmVxdWVzdF9sb2NhbGl0eShjaGlwLCAwKTsKIAlpZiAocmV0IDwgMCkK IAkJcmV0dXJuIHJldDsKIApAQCAtNzYwLDcgKzc4NSw3IEBAIHN0YXRpYyBpbnQgdHBtX3Rpc19n ZW5faW50ZXJydXB0KHN0cnVjdCB0cG1fY2hpcCAqY2hpcCkKIAllbHNlCiAJCXJldCA9IHRwbTFf Z2V0Y2FwKGNoaXAsIFRQTV9DQVBfUFJPUF9USVNfVElNRU9VVCwgJmNhcCwgZGVzYywgMCk7CiAK LQlyZWxlYXNlX2xvY2FsaXR5KGNoaXAsIDApOworCXRwbV90aXNfcmVsZWFzZV9sb2NhbGl0eShj aGlwLCAwKTsKIAogCXJldHVybiByZXQ7CiB9CkBAIC03ODUsMzMgKzgxMCwzMyBAQCBzdGF0aWMg aW50IHRwbV90aXNfcHJvYmVfaXJxX3NpbmdsZShzdHJ1Y3QgdHBtX2NoaXAgKmNoaXAsIHUzMiBp bnRtYXNrLAogCX0KIAlwcml2LT5pcnEgPSBpcnE7CiAKLQlyYyA9IHJlcXVlc3RfbG9jYWxpdHko Y2hpcCwgMCk7CisJcmMgPSB0cG1fdGlzX3JlcXVlc3RfbG9jYWxpdHkoY2hpcCwgMCk7CiAJaWYg KHJjIDwgMCkKIAkJcmV0dXJuIHJjOwogCiAJcmMgPSB0cG1fdGlzX3JlYWQ4KHByaXYsIFRQTV9J TlRfVkVDVE9SKHByaXYtPmxvY2FsaXR5KSwKIAkJCSAgICZvcmlnaW5hbF9pbnRfdmVjKTsKIAlp ZiAocmMgPCAwKSB7Ci0JCXJlbGVhc2VfbG9jYWxpdHkoY2hpcCwgcHJpdi0+bG9jYWxpdHkpOwor CQl0cG1fdGlzX3JlbGVhc2VfbG9jYWxpdHkoY2hpcCwgcHJpdi0+bG9jYWxpdHkpOwogCQlyZXR1 cm4gcmM7CiAJfQogCiAJcmMgPSB0cG1fdGlzX3dyaXRlOChwcml2LCBUUE1fSU5UX1ZFQ1RPUihw cml2LT5sb2NhbGl0eSksIGlycSk7CiAJaWYgKHJjIDwgMCkgewotCQlyZWxlYXNlX2xvY2FsaXR5 KGNoaXAsIHByaXYtPmxvY2FsaXR5KTsKKwkJdHBtX3Rpc19yZWxlYXNlX2xvY2FsaXR5KGNoaXAs IHByaXYtPmxvY2FsaXR5KTsKIAkJcmV0dXJuIHJjOwogCX0KIAogCXJjID0gdHBtX3Rpc19yZWFk MzIocHJpdiwgVFBNX0lOVF9TVEFUVVMocHJpdi0+bG9jYWxpdHkpLCAmaW50X3N0YXR1cyk7CiAJ aWYgKHJjIDwgMCkgewotCQlyZWxlYXNlX2xvY2FsaXR5KGNoaXAsIHByaXYtPmxvY2FsaXR5KTsK KwkJdHBtX3Rpc19yZWxlYXNlX2xvY2FsaXR5KGNoaXAsIHByaXYtPmxvY2FsaXR5KTsKIAkJcmV0 dXJuIHJjOwogCX0KIAogCS8qIENsZWFyIGFsbCBleGlzdGluZyAqLwogCXJjID0gdHBtX3Rpc193 cml0ZTMyKHByaXYsIFRQTV9JTlRfU1RBVFVTKHByaXYtPmxvY2FsaXR5KSwgaW50X3N0YXR1cyk7 CiAJaWYgKHJjIDwgMCkgewotCQlyZWxlYXNlX2xvY2FsaXR5KGNoaXAsIHByaXYtPmxvY2FsaXR5 KTsKKwkJdHBtX3Rpc19yZWxlYXNlX2xvY2FsaXR5KGNoaXAsIHByaXYtPmxvY2FsaXR5KTsKIAkJ cmV0dXJuIHJjOwogCX0KIApAQCAtODE5LDExICs4NDQsMTEgQEAgc3RhdGljIGludCB0cG1fdGlz X3Byb2JlX2lycV9zaW5nbGUoc3RydWN0IHRwbV9jaGlwICpjaGlwLCB1MzIgaW50bWFzaywKIAly YyA9IHRwbV90aXNfd3JpdGUzMihwcml2LCBUUE1fSU5UX0VOQUJMRShwcml2LT5sb2NhbGl0eSks CiAJCQkgICAgIGludG1hc2sgfCBUUE1fR0xPQkFMX0lOVF9FTkFCTEUpOwogCWlmIChyYyA8IDAp IHsKLQkJcmVsZWFzZV9sb2NhbGl0eShjaGlwLCBwcml2LT5sb2NhbGl0eSk7CisJCXRwbV90aXNf cmVsZWFzZV9sb2NhbGl0eShjaGlwLCBwcml2LT5sb2NhbGl0eSk7CiAJCXJldHVybiByYzsKIAl9 CiAKLQlyZWxlYXNlX2xvY2FsaXR5KGNoaXAsIHByaXYtPmxvY2FsaXR5KTsKKwl0cG1fdGlzX3Jl bGVhc2VfbG9jYWxpdHkoY2hpcCwgcHJpdi0+bG9jYWxpdHkpOwogCWNsZWFyX2JpdChUUE1fVElT X0lSUV9URVNURUQsICZwcml2LT5mbGFncyk7CiAKIAkvKiBHZW5lcmF0ZSBhbiBpbnRlcnJ1cHQg YnkgaGF2aW5nIHRoZSBjb3JlIGNhbGwgdGhyb3VnaCB0bwpAQCAtOTU5LDggKzk4NCw4IEBAIHN0 YXRpYyBjb25zdCBzdHJ1Y3QgdHBtX2NsYXNzX29wcyB0cG1fdGlzID0gewogCS5yZXFfY29tcGxl dGVfbWFzayA9IFRQTV9TVFNfREFUQV9BVkFJTCB8IFRQTV9TVFNfVkFMSUQsCiAJLnJlcV9jb21w bGV0ZV92YWwgPSBUUE1fU1RTX0RBVEFfQVZBSUwgfCBUUE1fU1RTX1ZBTElELAogCS5yZXFfY2Fu Y2VsZWQgPSB0cG1fdGlzX3JlcV9jYW5jZWxlZCwKLQkucmVxdWVzdF9sb2NhbGl0eSA9IHJlcXVl c3RfbG9jYWxpdHksCi0JLnJlbGlucXVpc2hfbG9jYWxpdHkgPSByZWxlYXNlX2xvY2FsaXR5LAor CS5yZXF1ZXN0X2xvY2FsaXR5ID0gdHBtX3Rpc19yZXF1ZXN0X2xvY2FsaXR5LAorCS5yZWxpbnF1 aXNoX2xvY2FsaXR5ID0gdHBtX3Rpc19yZWxlYXNlX2xvY2FsaXR5LAogCS5jbGtfZW5hYmxlID0g dHBtX3Rpc19jbGtydW5fZW5hYmxlLAogfTsKIApAQCAtOTk0LDYgKzEwMTksOCBAQCBpbnQgdHBt X3Rpc19jb3JlX2luaXQoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgdHBtX3Rpc19kYXRhICpw cml2LCBpbnQgaXJxLAogCXByaXYtPnRpbWVvdXRfbWluID0gVFBNX1RJTUVPVVRfVVNFQ1NfTUlO OwogCXByaXYtPnRpbWVvdXRfbWF4ID0gVFBNX1RJTUVPVVRfVVNFQ1NfTUFYOwogCXByaXYtPnBo eV9vcHMgPSBwaHlfb3BzOworCXByaXYtPmxvY2FsaXR5X2NvdW50ID0gMDsKKwltdXRleF9pbml0 KCZwcml2LT5sb2NhbGl0eV9jb3VudF9tdXRleCk7CiAKIAlkZXZfc2V0X2RydmRhdGEoJmNoaXAt PmRldiwgcHJpdik7CiAKQEAgLTEwNzEsMTQgKzEwOTgsMTQgQEAgaW50IHRwbV90aXNfY29yZV9p bml0KHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IHRwbV90aXNfZGF0YSAqcHJpdiwgaW50IGly cSwKIAogCWludG1hc2sgJj0gflRQTV9HTE9CQUxfSU5UX0VOQUJMRTsKIAotCXJjID0gcmVxdWVz dF9sb2NhbGl0eShjaGlwLCAwKTsKKwlyYyA9IHRwbV90aXNfcmVxdWVzdF9sb2NhbGl0eShjaGlw LCAwKTsKIAlpZiAocmMgPCAwKSB7CiAJCXJjID0gLUVOT0RFVjsKIAkJZ290byBvdXRfZXJyOwog CX0KIAogCXRwbV90aXNfd3JpdGUzMihwcml2LCBUUE1fSU5UX0VOQUJMRShwcml2LT5sb2NhbGl0 eSksIGludG1hc2spOwotCXJlbGVhc2VfbG9jYWxpdHkoY2hpcCwgMCk7CisJdHBtX3Rpc19yZWxl YXNlX2xvY2FsaXR5KGNoaXAsIDApOwogCiAJcmMgPSB0cG1fY2hpcF9zdGFydChjaGlwKTsKIAlp ZiAocmMpCkBAIC0xMTEyLDEzICsxMTM5LDEzIEBAIGludCB0cG1fdGlzX2NvcmVfaW5pdChzdHJ1 Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCB0cG1fdGlzX2RhdGEgKnByaXYsIGludCBpcnEsCiAJCSAq IHByb3BlciB0aW1lb3V0cyBmb3IgdGhlIGRyaXZlci4KIAkJICovCiAKLQkJcmMgPSByZXF1ZXN0 X2xvY2FsaXR5KGNoaXAsIDApOworCQlyYyA9IHRwbV90aXNfcmVxdWVzdF9sb2NhbGl0eShjaGlw LCAwKTsKIAkJaWYgKHJjIDwgMCkKIAkJCWdvdG8gb3V0X2VycjsKIAogCQlyYyA9IHRwbV9nZXRf dGltZW91dHMoY2hpcCk7CiAKLQkJcmVsZWFzZV9sb2NhbGl0eShjaGlwLCAwKTsKKwkJdHBtX3Rp c19yZWxlYXNlX2xvY2FsaXR5KGNoaXAsIDApOwogCiAJCWlmIChyYykgewogCQkJZGV2X2Vycihk ZXYsICJDb3VsZCBub3QgZ2V0IFRQTSB0aW1lb3V0cyBhbmQgZHVyYXRpb25zXG4iKTsKQEAgLTEx MzgsMTEgKzExNjUsMTEgQEAgaW50IHRwbV90aXNfY29yZV9pbml0KHN0cnVjdCBkZXZpY2UgKmRl diwgc3RydWN0IHRwbV90aXNfZGF0YSAqcHJpdiwgaW50IGlycSwKIAkJCWRldl9lcnIoJmNoaXAt PmRldiwgRldfQlVHCiAJCQkJCSJUUE0gaW50ZXJydXB0IG5vdCB3b3JraW5nLCBwb2xsaW5nIGlu c3RlYWRcbiIpOwogCi0JCQlyYyA9IHJlcXVlc3RfbG9jYWxpdHkoY2hpcCwgMCk7CisJCQlyYyA9 IHRwbV90aXNfcmVxdWVzdF9sb2NhbGl0eShjaGlwLCAwKTsKIAkJCWlmIChyYyA8IDApCiAJCQkJ Z290byBvdXRfZXJyOwogCQkJZGlzYWJsZV9pbnRlcnJ1cHRzKGNoaXApOwotCQkJcmVsZWFzZV9s b2NhbGl0eShjaGlwLCAwKTsKKwkJCXRwbV90aXNfcmVsZWFzZV9sb2NhbGl0eShjaGlwLCAwKTsK IAkJfQogCX0KIApAQCAtMTIwOSwxMyArMTIzNiwxMyBAQCBpbnQgdHBtX3Rpc19yZXN1bWUoc3Ry dWN0IGRldmljZSAqZGV2KQogCSAqIGFuIGVycm9yIGNvZGUgYnV0IGZvciB1bmtub3duIHJlYXNv biBpdCBpc24ndCBoYW5kbGVkLgogCSAqLwogCWlmICghKGNoaXAtPmZsYWdzICYgVFBNX0NISVBf RkxBR19UUE0yKSkgewotCQlyZXQgPSByZXF1ZXN0X2xvY2FsaXR5KGNoaXAsIDApOworCQlyZXQg PSB0cG1fdGlzX3JlcXVlc3RfbG9jYWxpdHkoY2hpcCwgMCk7CiAJCWlmIChyZXQgPCAwKQogCQkJ cmV0dXJuIHJldDsKIAogCQl0cG0xX2RvX3NlbGZ0ZXN0KGNoaXApOwogCi0JCXJlbGVhc2VfbG9j YWxpdHkoY2hpcCwgMCk7CisJCXRwbV90aXNfcmVsZWFzZV9sb2NhbGl0eShjaGlwLCAwKTsKIAl9 CiAKIAlyZXR1cm4gMDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci90cG0vdHBtX3Rpc19jb3Jl LmggYi9kcml2ZXJzL2NoYXIvdHBtL3RwbV90aXNfY29yZS5oCmluZGV4IGUwMDVlYjk5NDgwZS4u N2M2YzE0NzA3ZTMxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvdHBtL3RwbV90aXNfY29yZS5o CisrKyBiL2RyaXZlcnMvY2hhci90cG0vdHBtX3Rpc19jb3JlLmgKQEAgLTkxLDYgKzkxLDggQEAg ZW51bSB0cG1fdGlzX2ZsYWdzIHsKIAogc3RydWN0IHRwbV90aXNfZGF0YSB7CiAJdTE2IG1hbnVm YWN0dXJlcl9pZDsKKwlzdHJ1Y3QgbXV0ZXggbG9jYWxpdHlfY291bnRfbXV0ZXg7CisJdW5zaWdu ZWQgaW50IGxvY2FsaXR5X2NvdW50OwogCWludCBsb2NhbGl0eTsKIAlpbnQgaXJxOwogCXVuc2ln bmVkIGludCBpbnRfbWFzazsKLS0gCjIuMjUuMQoK