Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp1613298pxb; Thu, 4 Feb 2021 18:36:56 -0800 (PST) X-Google-Smtp-Source: ABdhPJyzxpS66868d388AxQ6kC8glFnXXpHTkQGatmopEyQ+/DWY6upw1qRNeiES9gfLU8qry6z6 X-Received: by 2002:aa7:c6cc:: with SMTP id b12mr1453476eds.67.1612492616027; Thu, 04 Feb 2021 18:36:56 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1612492616; cv=none; d=google.com; s=arc-20160816; b=JZZM5Yv3GIqPjAQ0i7oSE+BlwwqJx3cwLNd4F+DEqq99d5V5DK6eGtOuWLv/Gs6N5x HvAgYbE3XDRnKuq+9JgvwVw1Aqji4O+geMkoxh8GCjz44a4N87D8rk1BUGHmNv/IDrvt VNA6JBxJGoUQfTnduX8CSIrPajSGKkWDE8J+mTA+btOcaAy69yUGVl1wjEMYcu2wKEoi jysFr4PNjuV7rxcS0VAbfLwUW28KRswn1Uv9g8+sXpBJZqoWcK+T+8ihsuSmK5PkjbUO cuRragVOTLApjIRnncGEW/c+T41h1PwYJVgf3xbgS56DmwXUDBebIVmLZvYu6FlAIRAp QfRw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=/dQdgnl91QMwGWsN3AocD1I7jQSldVChIt8irvbVrVs=; b=N09h125AbBV7JTdi+xrzlpShKnLGvuZYMe7HphXJdH3bSbzpY1kmBJfnO2a4GiDy4l 61AuTFLY+wszRx1+eedL5r2ZE79rOhjrcIrZ48A3klQV7zzQScfCzzJU/ANhZrIiLD8c FWfMM9mhhtxXni13WqXu2FxUQfEJXkOXw5ffFTSVp5sSyb2VeMPEZ5puxqugF68brb0Y ljkqcPugg/LWYeNuF3W3xwCVdnBLWYg1zM+mqlTcPD8VjCTJ0CQnM3UOf0Mi4j0rPJOu YmUv65CfNZOKBYRuVRHBAjirhBqs4Gu/eM1aRLH2MqMBhNiEgm/uB/aARSyXbTzOpTBQ SszQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmx.net header.s=badeba3b8450 header.b="UhV/4Hjx"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=gmx.de Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id d15si4242572edx.394.2021.02.04.18.36.01; Thu, 04 Feb 2021 18:36:56 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmx.net header.s=badeba3b8450 header.b="UhV/4Hjx"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=gmx.de Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231347AbhBDXw7 (ORCPT + 99 others); Thu, 4 Feb 2021 18:52:59 -0500 Received: from mout.gmx.net ([212.227.15.19]:41219 "EHLO mout.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230360AbhBDXw4 (ORCPT ); Thu, 4 Feb 2021 18:52:56 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1612482671; bh=/dQdgnl91QMwGWsN3AocD1I7jQSldVChIt8irvbVrVs=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; b=UhV/4HjxKeqOC8ogUDV5RoEFSXG3KUHja28qKNt2h0enjorHMO2ZzSLirRgUNolZ+ IVbtsIthG5fVOIb6yCFuucDQqMewTdKscxtZhDS3BSZFnmNaqfFg7G+gFcdtW5lgYw 5EUDWAzGxAZFlTv9cXMFzPiHhP2ZxO4RmtGvtWc0= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from Venus.fritz.box ([78.42.220.31]) by mail.gmx.net (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1Mqs0R-1llbGI23e5-00munc; Fri, 05 Feb 2021 00:51:11 +0100 From: Lino Sanfilippo To: peterhuewe@gmx.de, jarkko@kernel.org Cc: jgg@ziepe.ca, stefanb@linux.vnet.ibm.com, James.Bottomley@hansenpartnership.com, stable@vger.kernel.org, linux-integrity@vger.kernel.org, linux-kernel@vger.kernel.org, LinoSanfilippo@gmx.de, Lino Sanfilippo Subject: [PATCH v3 1/2] tpm: fix reference counting for struct tpm_chip Date: Fri, 5 Feb 2021 00:50:42 +0100 Message-Id: <1612482643-11796-2-git-send-email-LinoSanfilippo@gmx.de> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1612482643-11796-1-git-send-email-LinoSanfilippo@gmx.de> References: <1612482643-11796-1-git-send-email-LinoSanfilippo@gmx.de> MIME-Version: 1.0 Content-Transfer-Encoding: base64 X-Provags-ID: V03:K1:kTi43lxvy4R7S+d8RjF8xafoGxVwhAvNPrzoSl6InkrziF2Zn/8 t5Cobn2pSwW0xz7bR1ZBhpe9uIdp8slbHMCqle6aMNXLhV+p5f2cnRtnax2kRJ/BtPm7hgi tvK71PgehBgJFLsLJR8qr3KEsBALaC09a9VKUpr4VXQhAaTkYaP7EzmRhhKbmzNrYBH41zR 0yn39y/43msFjU4NyA38A== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:v9CqxU6qGJU=:Ni0CiCUin3/dnavYA+cksX P4gDoyXg/dCd2VpXzkjxqNUmNPvco13/ydgWl/wOa8+pMqcWCafdkl438gDUbSmAKxCNxE9bF y9iIspVOsZz9ruZdJzDtAvKHWSaPtO7qLepW+imhNlW17KcxI1YB0Log1qvO/mfMRgIgGXcxb PTvPVSNY/715hB4GEeRFvjdAX9rqdPnMDTjG248bAyHALap4iNebxGDHRfmkrL7oznqSzKRn4 XgCw/LPNYj6uPDipVLL0vIjrVRLnKNwKoMP8VFSG3PZfTDe1QOFEaCGeIaUFaeu0v57fosMCB 3EVz6dgWd04HjmXnZWYIEkZy7rP7FLR7TuFSzG9p2eg+rhpsDLQWwwgPsuFpPCKICNybNAuFZ s+MCgpeaDb0bplICOzjNHJoDk377xnw+YKcq7ustGQFdj1jn6kPQXvd3P9guGl+qX3rtMhjDL ntj+zrCTRSbCbxtQQ/MoCFrBKRJl5b51xlth5bvEauKxe8BBi6I4W7qFuRIkynGy7cOGmRnxX IUHpvFSS+JirM/7r7P1E/LHHFUmMK/a9MrmaZZnTFHzjpnK7hCvTYex0FmjwQDu9hjY70KukT 8sBQERNddOGTkzm2d2+p25h67Pcm1r5dFHC9bAnHxT8sp52BdfdtamONCoTX5yuR8psoKSlha BdaWGRprWHxUhO6am7T3ZVdquewI2WQ5rAr5fEuhYvjcpZ6HffDmvDLS2zi8ERA27dvmkLVOF hCbxGAAIpKCNBwvLgD1594Rlx7B0mWnBrSFdsz0KghCuc+xL0Z74AuT0LSi9M2mf+tBQsJ+/n K/9iEZUlyuZe3jLqM1R0Bx2YEP9rzWI7adOR9zyKJmtA878VQNHOfR0Z4wxESkY1+VjgxqeyM 5Vc5YzJjQGA7GJzJ5YSQ== Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org RnJvbTogTGlubyBTYW5maWxpcHBvIDxsLnNhbmZpbGlwcG9Aa3VuYnVzLmNvbT4KClRoZSBmb2xs b3dpbmcgc2VxdWVuY2Ugb2Ygb3BlcmF0aW9ucyByZXN1bHRzIGluIGEgcmVmY291bnQgd2Fybmlu ZzoKCjEuIE9wZW4gZGV2aWNlIC9kZXYvdHBtcm0KMi4gUmVtb3ZlIG1vZHVsZSB0cG1fdGlzX3Nw aQozLiBXcml0ZSBhIFRQTSBjb21tYW5kIHRvIHRoZSBmaWxlIGRlc2NyaXB0b3Igb3BlbmVkIGF0 IHN0ZXAgMS4KCi0tLS0tLS0tLS0tLVsgY3V0IGhlcmUgXS0tLS0tLS0tLS0tLQpXQVJOSU5HOiBD UFU6IDMgUElEOiAxMTYxIGF0IGxpYi9yZWZjb3VudC5jOjI1IGtvYmplY3RfZ2V0KzB4YTAvMHhh NApyZWZjb3VudF90OiBhZGRpdGlvbiBvbiAwOyB1c2UtYWZ0ZXItZnJlZS4KTW9kdWxlcyBsaW5r ZWQgaW46IHRwbV90aXNfc3BpIHRwbV90aXNfY29yZSB0cG0gbWRpb19iY21fdW5pbWFjIGJyY21m bWFjCnNoYTI1Nl9nZW5lcmljIGxpYnNoYTI1NiBzaGEyNTZfYXJtIGhjaV91YXJ0IGJ0YmNtIGJs dWV0b290aCBjZmc4MDIxMSB2YzQKYnJjbXV0aWwgZWNkaF9nZW5lcmljIGVjYyBzbmRfc29jX2Nv cmUgY3JjMzJfYXJtX2NlIGxpYmFlcwpyYXNwYmVycnlwaV9od21vbiBhYzk3X2J1cyBzbmRfcGNt X2RtYWVuZ2luZSBiY20yNzExX3RoZXJtYWwgc25kX3BjbQpzbmRfdGltZXIgZ2VuZXQgc25kIHBo eV9nZW5lcmljIHNvdW5kY29yZSBbbGFzdCB1bmxvYWRlZDogc3BpX2JjbTI4MzVdCkNQVTogMyBQ SUQ6IDExNjEgQ29tbTogaG9sZF9vcGVuIE5vdCB0YWludGVkIDUuMTAuMGxzLW1haW4tZGlydHkg IzIKSGFyZHdhcmUgbmFtZTogQkNNMjcxMQpbPGMwNDEwYzNjPl0gKHVud2luZF9iYWNrdHJhY2Up IGZyb20gWzxjMDQwYjU4MD5dIChzaG93X3N0YWNrKzB4MTAvMHgxNCkKWzxjMDQwYjU4MD5dIChz aG93X3N0YWNrKSBmcm9tIFs8YzEwOTIxNzQ+XSAoZHVtcF9zdGFjaysweGM0LzB4ZDgpCls8YzEw OTIxNzQ+XSAoZHVtcF9zdGFjaykgZnJvbSBbPGMwNDQ1YTMwPl0gKF9fd2FybisweDEwNC8weDEw OCkKWzxjMDQ0NWEzMD5dIChfX3dhcm4pIGZyb20gWzxjMDQ0NWFhOD5dICh3YXJuX3Nsb3dwYXRo X2ZtdCsweDc0LzB4YjgpCls8YzA0NDVhYTg+XSAod2Fybl9zbG93cGF0aF9mbXQpIGZyb20gWzxj MDg0MzVkMD5dIChrb2JqZWN0X2dldCsweGEwLzB4YTQpCls8YzA4NDM1ZDA+XSAoa29iamVjdF9n ZXQpIGZyb20gWzxiZjBhNzE1Yz5dICh0cG1fdHJ5X2dldF9vcHMrMHgxNC8weDU0IFt0cG1dKQpb PGJmMGE3MTVjPl0gKHRwbV90cnlfZ2V0X29wcyBbdHBtXSkgZnJvbSBbPGJmMGE3ZDZjPl0gKHRw bV9jb21tb25fd3JpdGUrMHgzOC8weDYwIFt0cG1dKQpbPGJmMGE3ZDZjPl0gKHRwbV9jb21tb25f d3JpdGUgW3RwbV0pIGZyb20gWzxjMDVhN2FjMD5dICh2ZnNfd3JpdGUrMHhjNC8weDNjMCkKWzxj MDVhN2FjMD5dICh2ZnNfd3JpdGUpIGZyb20gWzxjMDVhN2VlND5dIChrc3lzX3dyaXRlKzB4NTgv MHhjYykKWzxjMDVhN2VlND5dIChrc3lzX3dyaXRlKSBmcm9tIFs8YzA0MDAxYTA+XSAocmV0X2Zh c3Rfc3lzY2FsbCsweDAvMHg0YykKRXhjZXB0aW9uIHN0YWNrKDB4YzIyNmJmYTggdG8gMHhjMjI2 YmZmMCkKYmZhMDogICAgICAgICAgICAgICAgICAgMDAwMDAwMDAgMDAwMTA1YjQgMDAwMDAwMDMg YmVhZmU2NjQgMDAwMDAwMTQgMDAwMDAwMDAKYmZjMDogMDAwMDAwMDAgMDAwMTA1YjQgMDAwMTAz ZjggMDAwMDAwMDQgMDAwMDAwMDAgMDAwMDAwMDAgYjZmOWMwMDAgYmVhZmU2ODQKYmZlMDogMDAw MDAwNmMgYmVhZmU2NDggMDAwMTA1NmMgYjZlYjY5NDQKLS0tWyBlbmQgdHJhY2UgZDRiODQwOWRl ZjliOGIxZiBdLS0tCgpUaGUgcmVhc29uIGZvciB0aGlzIHdhcm5pbmcgaXMgdGhlIGF0dGVtcHQg dG8gZ2V0IHRoZSBjaGlwLT5kZXYgcmVmZXJlbmNlCmluIHRwbV9jb21tb25fd3JpdGUoKSBhbHRo b3VnaCB0aGUgcmVmZXJlbmNlIGNvdW50ZXIgaXMgYWxyZWFkeSB6ZXJvLgoKU2luY2UgY29tbWl0 IDg5NzliMDJhYWYxZCAoInRwbTogRml4IHJlZmVyZW5jZSBjb3VudCB0byBtYWluIGRldmljZSIp IHRoZQpleHRyYSByZWZlcmVuY2UgdXNlZCB0byBwcmV2ZW50IGEgcHJlbWF0dXJlIHplcm8gY291 bnRlciBpcyBuZXZlciB0YWtlbiwKYmVjYXVzZSB0aGUgcmVxdWlyZWQgVFBNX0NISVBfRkxBR19U UE0yIGZsYWcgaXMgbmV2ZXIgc2V0LgoKRml4IHRoaXMgYnkgcmVtb3ZpbmcgdGhlIGZsYWcgY29u ZGl0aW9uLgoKQ29tbWl0IGZkYzkxNWY3ZjcxOSAoInRwbTogZXhwb3NlIHNwYWNlcyB2aWEgYSBk ZXZpY2UgbGluayAvZGV2L3RwbXJtPG4+IikKYWxyZWFkeSBpbnRyb2R1Y2VkIGZ1bmN0aW9uIHRw bV9kZXZzX3JlbGVhc2UoKSB0byByZWxlYXNlIHRoZSBleHRyYQpyZWZlcmVuY2UgYnV0IGRpZCBu b3QgaW1wbGVtZW50IHRoZSByZXF1aXJlZCBwdXQgb24gY2hpcC0+ZGV2cyB0aGF0IHJlc3VsdHMK aW4gdGhlIGNhbGwgb2YgdGhpcyBmdW5jdGlvbi4KCkZpeCB0aGlzIGFsc28gYnkgaW5zdGFsbGlu ZyBhbiBhY3Rpb24gaGFuZGxlciB0aGF0IHB1dHMgY2hpcC0+ZGV2cyBhcyBzb29uCmFzIHRoZSBj aGlwIGlzIHVucmVnaXN0ZXJlZC4KCkZpeGVzOiBmZGM5MTVmN2Y3MTkgKCJ0cG06IGV4cG9zZSBz cGFjZXMgdmlhIGEgZGV2aWNlIGxpbmsgL2Rldi90cG1ybTxuPiIpCkZpeGVzOiA4OTc5YjAyYWFm MWQgKCJ0cG06IEZpeCByZWZlcmVuY2UgY291bnQgdG8gbWFpbiBkZXZpY2UiKQpTaWduZWQtb2Zm LWJ5OiBMaW5vIFNhbmZpbGlwcG8gPGwuc2FuZmlsaXBwb0BrdW5idXMuY29tPgotLS0KIGRyaXZl cnMvY2hhci90cG0vdHBtLWNoaXAuYyAgICAgICB8IDE4ICsrKysrKysrKysrKysrKy0tLQogZHJp dmVycy9jaGFyL3RwbS90cG1fZnRwbV90ZWUuYyAgIHwgIDIgKysKIGRyaXZlcnMvY2hhci90cG0v dHBtX3Z0cG1fcHJveHkuYyB8ICAxICsKIDMgZmlsZXMgY2hhbmdlZCwgMTggaW5zZXJ0aW9ucygr KSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvdHBtL3RwbS1jaGlw LmMgYi9kcml2ZXJzL2NoYXIvdHBtL3RwbS1jaGlwLmMKaW5kZXggZGRhZWNlYi4uM2FjZTE5OSAx MDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL3RwbS90cG0tY2hpcC5jCisrKyBiL2RyaXZlcnMvY2hh ci90cG0vdHBtLWNoaXAuYwpAQCAtMzYwLDggKzM2MCw3IEBAIHN0cnVjdCB0cG1fY2hpcCAqdHBt X2NoaXBfYWxsb2Moc3RydWN0IGRldmljZSAqcGRldiwKIAkgKiB3aGlsZSBjZGV2cyBpcyBpbiB1 c2UuICBUaGUgY29ycmVzcG9uZGluZyBwdXQKIAkgKiBpcyBpbiB0aGUgdHBtX2RldnNfcmVsZWFz ZSAoVFBNMiBvbmx5KQogCSAqLwotCWlmIChjaGlwLT5mbGFncyAmIFRQTV9DSElQX0ZMQUdfVFBN MikKLQkJZ2V0X2RldmljZSgmY2hpcC0+ZGV2KTsKKwlnZXRfZGV2aWNlKCZjaGlwLT5kZXYpOwog CiAJaWYgKGNoaXAtPmRldl9udW0gPT0gMCkKIAkJY2hpcC0+ZGV2LmRldnQgPSBNS0RFVihNSVND X01BSk9SLCBUUE1fTUlOT1IpOwpAQCAtNDIyLDggKzQyMSwyMSBAQCBzdHJ1Y3QgdHBtX2NoaXAg KnRwbW1fY2hpcF9hbGxvYyhzdHJ1Y3QgZGV2aWNlICpwZGV2LAogCXJjID0gZGV2bV9hZGRfYWN0 aW9uX29yX3Jlc2V0KHBkZXYsCiAJCQkJICAgICAgKHZvaWQgKCopKHZvaWQgKikpIHB1dF9kZXZp Y2UsCiAJCQkJICAgICAgJmNoaXAtPmRldik7Ci0JaWYgKHJjKQorCWlmIChyYykgeworCQlwdXRf ZGV2aWNlKCZjaGlwLT5kZXZzKTsKIAkJcmV0dXJuIEVSUl9QVFIocmMpOworCX0KKworCXJjID0g ZGV2bV9hZGRfYWN0aW9uX29yX3Jlc2V0KHBkZXYsCisJCQkJICAgICAgKHZvaWQgKCopKHZvaWQg KikpIHB1dF9kZXZpY2UsCisJCQkJICAgICAgJmNoaXAtPmRldnMpOworCWlmIChyYykgeworCQlk ZXZtX3JlbW92ZV9hY3Rpb24ocGRldiwKKwkJCQkgICAodm9pZCAoKikodm9pZCAqKSkgcHV0X2Rl dmljZSwKKwkJCQkgICAmY2hpcC0+ZGV2KTsKKwkJcHV0X2RldmljZSgmY2hpcC0+ZGV2KTsKKwkJ cmV0dXJuIEVSUl9QVFIocmMpOworCX0KIAogCWRldl9zZXRfZHJ2ZGF0YShwZGV2LCBjaGlwKTsK IApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL3RwbS90cG1fZnRwbV90ZWUuYyBiL2RyaXZlcnMv Y2hhci90cG0vdHBtX2Z0cG1fdGVlLmMKaW5kZXggMmNjZGY4YS4uODI4NThjMiAxMDA2NDQKLS0t IGEvZHJpdmVycy9jaGFyL3RwbS90cG1fZnRwbV90ZWUuYworKysgYi9kcml2ZXJzL2NoYXIvdHBt L3RwbV9mdHBtX3RlZS5jCkBAIC0yODYsNiArMjg2LDcgQEAgc3RhdGljIGludCBmdHBtX3RlZV9w cm9iZShzdHJ1Y3QgZGV2aWNlICpkZXYpCiAKIG91dF9jaGlwOgogCXB1dF9kZXZpY2UoJnB2dF9k YXRhLT5jaGlwLT5kZXYpOworCXB1dF9kZXZpY2UoJnB2dF9kYXRhLT5jaGlwLT5kZXZzKTsKIG91 dF9jaGlwX2FsbG9jOgogCXRlZV9zaG1fZnJlZShwdnRfZGF0YS0+c2htKTsKIG91dF9zaG1fYWxs b2M6CkBAIC0zMTgsNiArMzE5LDcgQEAgc3RhdGljIGludCBmdHBtX3RlZV9yZW1vdmUoc3RydWN0 IGRldmljZSAqZGV2KQogCXRwbV9jaGlwX3VucmVnaXN0ZXIocHZ0X2RhdGEtPmNoaXApOwogCiAJ LyogZnJlZXMgY2hpcCAqLworCXB1dF9kZXZpY2UoJnB2dF9kYXRhLT5jaGlwLT5kZXZzKTsKIAlw dXRfZGV2aWNlKCZwdnRfZGF0YS0+Y2hpcC0+ZGV2KTsKIAogCS8qIEZyZWUgdGhlIHNoYXJlZCBt ZW1vcnkgcG9vbCAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL3RwbS90cG1fdnRwbV9wcm94 eS5jIGIvZHJpdmVycy9jaGFyL3RwbS90cG1fdnRwbV9wcm94eS5jCmluZGV4IDkxYzc3MmUzLi45 N2I2MGY4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvdHBtL3RwbV92dHBtX3Byb3h5LmMKKysr IGIvZHJpdmVycy9jaGFyL3RwbS90cG1fdnRwbV9wcm94eS5jCkBAIC01MjAsNiArNTIwLDcgQEAg c3RhdGljIHN0cnVjdCBwcm94eV9kZXYgKnZ0cG1fcHJveHlfY3JlYXRlX3Byb3h5X2Rldih2b2lk KQogICovCiBzdGF0aWMgaW5saW5lIHZvaWQgdnRwbV9wcm94eV9kZWxldGVfcHJveHlfZGV2KHN0 cnVjdCBwcm94eV9kZXYgKnByb3h5X2RldikKIHsKKwlwdXRfZGV2aWNlKCZwcm94eV9kZXYtPmNo aXAtPmRldnMpOwogCXB1dF9kZXZpY2UoJnByb3h5X2Rldi0+Y2hpcC0+ZGV2KTsgLyogZnJlZXMg Y2hpcCAqLwogCWtmcmVlKHByb3h5X2Rldik7CiB9Ci0tIAoyLjcuNAoK