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 X-Spam-Level: X-Spam-Status: No, score=-11.3 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,NICE_REPLY_A,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id DE68EC4742C for ; Wed, 11 Nov 2020 10:48:17 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 26EF42063A for ; Wed, 11 Nov 2020 10:48:17 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="MkmdJs/E" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 26EF42063A Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=arm.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:From: References:To:Subject:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=9j2gkWApyQh+9O8e5lvMtMl9Dcqz/0Yl9HRharXtq5Q=; b=MkmdJs/ENwNHul5rKq/kwgQyD ze5PA9ZEg3onjzL8wI/t7cATr18ePUu3M6Dc2H1Rh8au9k8ASJJ7TM4AvUk5NzWbP4F2wY9tRqhAM g17Z31+FtVYUE2JAVLDP39JmXFYR625UUDobDkDaDZONk2WlSjiFCE4rIu8AZ2maMPrLYuJJsbICl sYBDY4/DUZEqYKE2qqVrqhXT/MrCPLrF7IC03jGxPuSd38J1WVrxn04eRejF1l64FdWsHXlDMpc5X +Ek3K8/8b0dTt+Ek8KgatAZdIWiFRh8Fa8eUyB7Adll1x9BMBk9YuSm5Iib8nw7daL6JUnLNhQwiI 1++WITz3g==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kcneB-0007VE-6w; Wed, 11 Nov 2020 10:46:39 +0000 Received: from foss.arm.com ([217.140.110.172]) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kcne8-0007Tv-Bc for linux-arm-kernel@lists.infradead.org; Wed, 11 Nov 2020 10:46:37 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id CAC27101E; Wed, 11 Nov 2020 02:46:33 -0800 (PST) Received: from [192.168.2.22] (unknown [172.31.20.19]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id B73893F7BB; Wed, 11 Nov 2020 02:46:32 -0800 (PST) Subject: Re: [PATCH] random: avoid arch_get_random_seed_long() when collecting IRQ randomness To: Ard Biesheuvel References: <20201105152944.16953-1-ardb@kernel.org> <0b0d47d9-76a5-723f-6642-d5ddadce7f94@arm.com> From: =?UTF-8?Q?Andr=c3=a9_Przywara?= Autocrypt: addr=andre.przywara@arm.com; prefer-encrypt=mutual; keydata= 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 i4aIXCH3Wv6K Organization: ARM Ltd. Message-ID: Date: Wed, 11 Nov 2020 10:46:28 +0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.12.0 MIME-Version: 1.0 In-Reply-To: Content-Language: en-GB X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20201111_054636_532443_20B42C21 X-CRM114-Status: GOOD ( 38.97 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Mark Rutland , "Theodore Y. Ts'o" , Marc Zyngier , Linux Kernel Mailing List , Eric Biggers , Mark Brown , Linux ARM Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gMTEvMTEvMjAyMCAxMDowNSwgQXJkIEJpZXNoZXV2ZWwgd3JvdGU6CgpIaSwKCj4gT24gV2Vk LCAxMSBOb3YgMjAyMCBhdCAxMDo0NSwgQW5kcsOpIFByenl3YXJhIDxhbmRyZS5wcnp5d2FyYUBh cm0uY29tPiB3cm90ZToKPj4KPj4gT24gMTEvMTEvMjAyMCAwODoxOSwgQXJkIEJpZXNoZXV2ZWwg d3JvdGU6Cj4+Cj4+IEhpLAo+Pgo+Pj4gKCsgRXJpYykKPj4+Cj4+PiBPbiBUaHUsIDUgTm92IDIw MjAgYXQgMTY6MjksIEFyZCBCaWVzaGV1dmVsIDxhcmRiQGtlcm5lbC5vcmc+IHdyb3RlOgo+Pj4+ Cj4+Pj4gV2hlbiByZXNlZWRpbmcgdGhlIENSTkcgcGVyaW9kaWNhbGx5LCBhcmNoX2dldF9yYW5k b21fc2VlZF9sb25nKCkgaXMKPj4+PiBjYWxsZWQgdG8gb2J0YWluIGVudHJvcHkgZnJvbSBhbiBh cmNoaXRlY3R1cmUgc3BlY2lmaWMgc291cmNlIGlmIG9uZQo+Pj4+IGlzIGltcGxlbWVudGVkLiBJ biBtb3N0IGNhc2VzLCB0aGVzZSBhcmUgc3BlY2lhbCBpbnN0cnVjdGlvbnMsIGJ1dCBpbgo+Pj4+ IHNvbWUgY2FzZXMsIHN1Y2ggYXMgb24gQVJNLCB3ZSBtYXkgd2FudCB0byBiYWNrIHRoaXMgdXNp bmcgZmlybXdhcmUKPj4+PiBjYWxscywgd2hpY2ggYXJlIGNvbnNpZGVyYWJseSBtb3JlIGV4cGVu c2l2ZS4KPj4+Pgo+Pj4+IEFub3RoZXIgY2FsbCB0byBhcmNoX2dldF9yYW5kb21fc2VlZF9sb25n KCkgZXhpc3RzIGluIHRoZSBDUk5HIGRyaXZlciwKPj4+PiBpbiBhZGRfaW50ZXJydXB0X3JhbmRv bW5lc3MoKSwgd2hpY2ggY29sbGVjdHMgZW50cm9weSBieSBjYXB0dXJpbmcKPj4+PiBpbnRlci1p bnRlcnJ1cHQgdGltaW5nIGFuZCByZWx5aW5nIG9uIGludGVycnVwdCBqaXR0ZXIgdG8gcHJvdmlk ZQo+Pj4+IHJhbmRvbSBiaXRzLiBUaGlzIGlzIGRvbmUgYnkga2VlcGluZyBhIHBlci1DUFUgc3Rh dGUsIGFuZCBtaXhpbmcgaW4KPj4+PiB0aGUgSVJRIG51bWJlciwgdGhlIGN5Y2xlIGNvdW50ZXIg YW5kIHRoZSByZXR1cm4gYWRkcmVzcyBldmVyeSB0aW1lIGFuCj4+Pj4gaW50ZXJydXB0IGlzIHRh a2VuLCBhbmQgbWl4aW5nIHRoaXMgcGVyLUNQVSBzdGF0ZSBpbnRvIHRoZSBlbnRyb3B5IHBvb2wK Pj4+PiBldmVyeSA2NCBpbnZvY2F0aW9ucywgb3IgYXQgbGVhc3Qgb25jZSBwZXIgc2Vjb25kLiBU aGUgZW50cm9weSB0aGF0IGlzCj4+Pj4gZ2F0aGVyZWQgdGhpcyB3YXkgaXMgY3JlZGl0ZWQgYXMg MSBiaXQgb2YgZW50cm9weS4gRXZlcnkgdGltZSB0aGlzCj4+Pj4gaGFwcGVucywgYXJjaF9nZXRf cmFuZG9tX3NlZWRfbG9uZygpIGlzIGludm9rZWQsIGFuZCB0aGUgcmVzdWx0IGlzCj4+Pj4gbWl4 ZWQgaW4gYXMgd2VsbCwgYW5kIGFsc28gY3JlZGl0ZWQgd2l0aCAxIGJpdCBvZiBlbnRyb3B5Lgo+ Pj4+Cj4+Pj4gVGhpcyBtZWFucyB0aGF0IGFyY2hfZ2V0X3JhbmRvbV9zZWVkX2xvbmcoKSBpcyBj YWxsZWQgYXQgbGVhc3Qgb25jZQo+Pj4+IHBlciBzZWNvbmQgb24gZXZlcnkgQ1BVLCB3aGljaCBz ZWVtcyBleGNlc3NpdmUsIGFuZCBkb2Vzbid0IHJlYWxseQo+Pj4+IHNjYWxlLCBlc3BlY2lhbGx5 IGluIGEgdmlydHVhbGl6YXRpb24gc2NlbmFyaW8gd2hlcmUgQ1BVcyBtYXkgYmUKPj4+PiBvdmVy c3Vic2NyaWJlZDogaW4gY2FzZXMgd2hlcmUgYXJjaF9nZXRfcmFuZG9tX3NlZWRfbG9uZygpIGlz IGJhY2tlZAo+Pj4+IGJ5IGFuIGluc3RydWN0aW9uIHRoYXQgYWN0dWFsbHkgZ29lcyBiYWNrIHRv IGEgc2hhcmVkIGhhcmR3YXJlIGVudHJvcHkKPj4+PiBzb3VyY2UgKHN1Y2ggYXMgUk5EUlJTIG9u IEFSTSksIHdlIHdpbGwgZW5kIHVwIGhpdHRpbmcgaXQgaHVuZHJlZHMgb2YKPj4+PiB0aW1lcyBw ZXIgc2Vjb25kLgo+Pgo+PiBNYXkgSSBhc2sgd2h5IHRoaXMgc2hvdWxkIGJlIGEgcGFydGljdWxh ciBwcm9ibGVtPyBGb3JtIHdoYXQgSSBnYXRoZXJlZAo+PiBvbiB0aGUgd2ViLCBpdCBzZWVtcyBs aWtlIG1vc3QgaC93IFJOR3MgaGF2ZSBhIGNhcGFjaXR5IG9mIG11bHRpcGxlCj4+IE1CaXQvcy4g V2lraXBlZGlhIFsxXSBzdWdnZXN0cyB0aGF0IHRoZSB4ODYgQ1BVIGluc3RydWN0aW9ucyBnZW5l cmF0ZSBhdAo+PiBsZWFzdCAyMCBNYml0L3MgKHdvcnN0IGNhc2U6IEFNRCdzIDI1MDAgY3ljbGVz IEAgODAwIE1IeiksIGFuZCBJCj4+IG1lYXN1cmVkIGFyb3VuZCA3OCBNYml0L3Mgd2l0aCB0aGUg cmF3IGVudHJvcHkgc291cmNlIG9uIG15IEp1bm8KPj4gKHBvc3NpYmx5IGV2ZW4gbGltaXRlZCBi eSBzbG93IE1NSU8pLgo+PiBTbyBpdCBzZWVtcyB1bmxpa2VseSB0aGF0IGEgZmV3IGtiaXQvcyBk cmFpbiB0aGUgaGFyZHdhcmUgZW50cm9weSBzb3VyY2UuCj4+Cj4+IElmIHdlIGNvbnNpZGVyIHRo aXMgaW50ZXJmYWNlIGNvbXBhcmFibHkgY2hlYXAsIHNob3VsZCB3ZSB0aGVuIG5vdCB0cnkKPj4g dG8gcGx1ZyB0aGUgQXJtIGZpcm13YXJlIGludGVyZmFjZSBpbnRvIHRoaXM/Cj4+Cj4gCj4gSSdt IG5vdCBzdXJlIEkgZm9sbG93LiBBcmUgeW91IHNheWluZyB3ZSBzaG91bGQgbm90IHdpcmUgdXAg YQo+IGNvbXBhcmF0aXZlbHkgZXhwZW5zaXZlIGZpcm13YXJlIGludGVyZmFjZSB0bwo+IGFyY2hf Z2V0X3JhbmRvbV9zZWVkX2xvbmcoKSBiZWNhdXNlIHdlIGN1cnJlbnRseSBhc3N1bWUgaXQgaXMg YmFja2VkCj4gYnkgc29tZXRoaW5nIGNoZWFwPwoKWWVzLiBJIHdhbnRlZCB0byAoYWIpdXNlIHRo aXMgcGF0Y2ggdG8gY2xhcmlmeSB0aGlzLiB4ODYgYW5kIGFybTY0IHVzZQpDUFUgaW5zdHJ1Y3Rp b25zIChzbyBmYXIpLCBTMzkwIGNvcGllcyBmcm9tIHNvbWUgYnVmZmVyLiBQUEMgdXNlcyBlaXRo ZXIKYSBDUFUgaW5zdHJ1Y3Rpb24gb3IgYW4gTU1JTyBhY2Nlc3MuIEFsbCBvZiB0aGVzZSBJIHdv dWxkIGNvbnNpZGVyCmNvbXBhcmFibHkgY2hlYXAsIGVzcGVjaWFsbHkgd2hlbiBjb21wYXJlZCB0 byBhIGZpcm13YXJlIGNhbGwgd2l0aAp1bmtub3duIGNvc3RzLiBJbiBmYWN0IHRoZSBjdXJyZW50 IFRydXN0ZWQgRmlybXdhcmUgaW1wbGVtZW50YXRpb25bMV0gaXMKbm90IHJlYWxseSB0ZXJzZSwg YWxzbyB0aGUgZ2VuZXJpYyBTTUMgZGlzcGF0Y2hlciBjYWxscyBhIHBsYXRmb3JtCmRlZmluZWQg cm91dGluZSwgd2hpY2ggY291bGQgZG8gYW55dGhpbmcuClNvIHRvIGFsc28gZ3VpZGUgdGhlIGlt cGxlbWVudGF0aW9uIGluIFRGLUEsIGl0IHdvdWxkIGJlIGdvb2QgdG8KZXN0YWJsaXNoIHdoYXQg YXJjaF9nZXRfcmFuZG9tIGV4cGVjdHMgdG8gYmUuIFRoZSBjdXJyZW50CmltcGxlbWVudGF0aW9u cyBhbmQgdGhlIGZhY3QgdGhhdCBpdCBsaXZlcyBpbiBhIGhlYWRlciBmaWxlIHN1Z2dlc3RzCnRo YXQgaXQncyBtZWFudCBhcyBhIHNsaW0gd3JhcHBlciBhcm91bmQgc29tZXRoaW5nIGNoZWFwLgoK PiBCZWNhdXNlIGRvaW5nIHNvIHdvdWxkIGFkZCBzaWduaWZpY2FudGx5IHRvIHRoZSBjb3N0LiBB bHNvIG5vdGUgdGhhdCBhCj4gZmlybXdhcmUgaW50ZXJmYWNlIHdvdWxkIHBlcm1pdCBvdGhlciB3 YXlzIG9mIGdhdGhlcmluZyBlbnRyb3B5IHRoYXQKPiBhcmUgbm90IG5lY2Vzc2FyaWx5IGJhY2tl ZCBieSBhIGRlZGljYXRlZCBoaWdoIGJhbmR3aWR0aCBub2lzZSBzb3VyY2UKPiAoYW5kIHdlIGFs cmVhZHkgaGF2ZSBleGFtcGxlcyBvZiB0aGlzKQoKWWVzLCBhZ3JlZWQuClNvIEkgaGF2ZSBhIGh3 cm5nIGRyaXZlciBmb3IgdGhlIEFybSBTTUNDQyBUUk5HIGludGVyZmFjZSByZWFkeS4gSSB3b3Vs ZApwb3N0IHRoaXMsIGJ1dCB3b3VsZCBsaWtlIHRvIGtub3cgaWYgd2Ugc2hvdWxkIGRyb3AgdGhl IHByb3Bvc2VkCmFyY2hfZ2V0X3JhbmRvbSBpbXBsZW1lbnRhdGlvbiBbMl1bM10gb2YgdGhpcyBp bnRlcmZhY2UuCgo+PiBJIGFtIG5vdCBhZ2FpbnN0IHRoaXMgcGF0Y2gsIGFjdHVhbGx5IGFtIGNv bnNpZGVyaW5nIHRoaXMgYSBuaWNlCj4+IGNsZWFudXAsIHRvIHNlcGFyYXRlIGludGVycnVwdCBn ZW5lcmF0ZWQgZW50cm9weSBmcm9tIG90aGVyIHNvdXJjZXMuCj4+IEVzcGVjaWFsbHkgc2luY2Ug d2UgY2FsbCBhcmNoX2dldF9yYW5kb21fc2VlZF9sb25nKCkgdW5kZXIgYSBzcGlubG9jayBoZXJl Lgo+PiBCdXQgSSBhbSBjdXJpb3VzIGFib3V0IHRoZSBleHBlY3RhdGlvbnMgZnJvbSBhcmNoX2dl dF9yYW5kb20gaW4gZ2VuZXJhbC4KPj4KPiAKPiBJIHRoaW5rIGl0IGlzIHJlYXNvbmFibGUgdG8g Y2xlYW4gdGhpcyB1cCBhIGxpdHRsZSBiaXQuIEEgcmFuZG9tCj4gKnNlZWQqIGlzIG5vdCB0aGUg c2FtZSB0aGluZyBhcyBhIHJhbmRvbSBudW1iZXIsIGFuZCBnaXZlbiB0aGF0IHdlCj4gZXhwb3Nl IGJvdGggaW50ZXJmYWNlcywgaXQgbWFrZXMgc2Vuc2UgdG8gcGVybWl0IHRoZSBzZWVkIHZhcmlh bnQgdG8KPiBiZSBtb3JlIGNvc3RseSwgYW5kIG9ubHkgdXNlIGl0IGFzIGludGVuZGVkIChpLmUu LCB0byBzZWVkIGEgcmFuZG9tCj4gbnVtYmVyIGdlbmVyYXRvcikKClRoYXQncyB0cnVlLCBpdCBz ZWVtcyB3ZSBjaGlja2VuZWQgb3V0IG9uIHRoZSBhcm02NCBpbXBsZW1lbnRhdGlvbgphbHJlYWR5 LCBieSBub3QgdXNpbmcgdGhlIGludGVuZGVkIHN0cm9uZ2VyIGluc3RydWN0aW9uIGZvciBzZWVk CihSTkRSUlMpLCBhbmQgbm90IGltcGxlbWVudGluZyBhcmNoX2dldF9yYW5kb21fbG9uZygpIGF0 IGFsbC4KQnV0IEkgZ3Vlc3MgdGhhdCdzIGFub3RoZXIgc3RvcnkuCgpDaGVlcnMsCkFuZHJlLgoK WzFdIGh0dHBzOi8vcmV2aWV3LnRydXN0ZWRmaXJtd2FyZS5vcmcvYy9URi1BL3RydXN0ZWQtZmly bXdhcmUtYS8rLzU1ODUvMwpbMl0KaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvcGlwZXJtYWls L2xpbnV4LWFybS1rZXJuZWwvMjAyMC1Ob3ZlbWJlci82MTUzNzUuaHRtbApbM10KaHR0cDovL2xp c3RzLmluZnJhZGVhZC5vcmcvcGlwZXJtYWlsL2xpbnV4LWFybS1rZXJuZWwvMjAyMC1Ob3ZlbWJl ci82MTUzNzYuaHRtbAoKPj4+PiBTbyBsZXQncyBkcm9wIHRoZSBjYWxsIHRvIGFyY2hfZ2V0X3Jh bmRvbV9zZWVkX2xvbmcoKSBmcm9tCj4+Pj4gYWRkX2ludGVycnVwdF9yYW5kb21uZXNzKCksIGFu ZCBpbnN0ZWFkLCByZWx5IG9uIGNybmdfcmVzZWVkKCkgdG8gY2FsbAo+Pj4+IHRoZSBhcmNoIGhv b2sgdG8gZ2V0IHJhbmRvbSBzZWVkIG1hdGVyaWFsIGZyb20gdGhlIHBsYXRmb3JtLgo+Pgo+PiBT byBJIHRlc3RlZCB0aGlzIGFuZCBpdCB3b3JrcyBhcyBleHBlY3RlZDogSSBzZWUgc29tZSBjYWxs cyBvbgo+PiBpbml0aWFsaXNhdGlvbiwgdGhlbiBhIGhhbmRmdWwgb2YgY2FsbHMgZXZlcnkgZmV3 IHNlY29uZHMgZnJvbSB0aGUKPj4gcGVyaW9kaWMgcmVzZWVkaW5nLiBUaGUgbGFyZ2UgbnVtYmVy IG9mIGNhbGxzIGV2ZXJ5IHNlY29uZCBhcmUgZ29uZS4KPj4KPiAKPiBFeGNlbGxlbnQsIHRoYW5r cyBmb3IgY29uZmlybWluZy4KPiAKPj4+Pgo+Pj4+IFNpZ25lZC1vZmYtYnk6IEFyZCBCaWVzaGV1 dmVsIDxhcmRiQGtlcm5lbC5vcmc+Cj4+Cj4+IFNpbmNlIHRoZSBhYm92ZSBxdWVzdGlvbnMgYXJl IHVucmVsYXRlZCB0byB0aGlzIHBhcnRpY3VsYXIgcGF0Y2g6Cj4+Cj4+IFJldmlld2VkLWJ5OiBB bmRyZSBQcnp5d2FyYSA8YW5kcmUucHJ6eXdhcmFAYXJtLmNvbT4KPj4gVGVzdGVkLWJ5OiBBbmRy ZSBQcnp5d2FyYSA8YW5kcmUucHJ6eXdhcmFAYXJtLmNvbT4KPj4KPj4gQ2hlZXJzLAo+PiBBbmRy ZQo+Pgo+PiBbMV0gaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvUkRSQU5EI1BlcmZvcm1h bmNlCj4+Cj4+Pj4gLS0tCj4+Pj4gIGRyaXZlcnMvY2hhci9yYW5kb20uYyB8IDE1ICstLS0tLS0t LS0tLS0tLQo+Pj4+ICAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDE0IGRlbGV0aW9u cygtKQo+Pj4+Cj4+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9yYW5kb20uYyBiL2RyaXZl cnMvY2hhci9yYW5kb20uYwo+Pj4+IGluZGV4IDJhNDFiMjE2MjNhZS4uYTljMzkzYzE0NjZkIDEw MDY0NAo+Pj4+IC0tLSBhL2RyaXZlcnMvY2hhci9yYW5kb20uYwo+Pj4+ICsrKyBiL2RyaXZlcnMv Y2hhci9yYW5kb20uYwo+Pj4+IEBAIC0xMjYxLDggKzEyNjEsNiBAQCB2b2lkIGFkZF9pbnRlcnJ1 cHRfcmFuZG9tbmVzcyhpbnQgaXJxLCBpbnQgaXJxX2ZsYWdzKQo+Pj4+ICAgICAgICAgY3ljbGVz X3QgICAgICAgICAgICAgICAgY3ljbGVzID0gcmFuZG9tX2dldF9lbnRyb3B5KCk7Cj4+Pj4gICAg ICAgICBfX3UzMiAgICAgICAgICAgICAgICAgICBjX2hpZ2gsIGpfaGlnaDsKPj4+PiAgICAgICAg IF9fdTY0ICAgICAgICAgICAgICAgICAgIGlwOwo+Pj4+IC0gICAgICAgdW5zaWduZWQgbG9uZyAg ICAgICAgICAgc2VlZDsKPj4+PiAtICAgICAgIGludCAgICAgICAgICAgICAgICAgICAgIGNyZWRp dCA9IDA7Cj4+Pj4KPj4+PiAgICAgICAgIGlmIChjeWNsZXMgPT0gMCkKPj4+PiAgICAgICAgICAg ICAgICAgY3ljbGVzID0gZ2V0X3JlZyhmYXN0X3Bvb2wsIHJlZ3MpOwo+Pj4+IEBAIC0xMjk4LDIz ICsxMjk2LDEyIEBAIHZvaWQgYWRkX2ludGVycnVwdF9yYW5kb21uZXNzKGludCBpcnEsIGludCBp cnFfZmxhZ3MpCj4+Pj4KPj4+PiAgICAgICAgIGZhc3RfcG9vbC0+bGFzdCA9IG5vdzsKPj4+PiAg ICAgICAgIF9fbWl4X3Bvb2xfYnl0ZXMociwgJmZhc3RfcG9vbC0+cG9vbCwgc2l6ZW9mKGZhc3Rf cG9vbC0+cG9vbCkpOwo+Pj4+IC0KPj4+PiAtICAgICAgIC8qCj4+Pj4gLSAgICAgICAgKiBJZiB3 ZSBoYXZlIGFyY2hpdGVjdHVyYWwgc2VlZCBnZW5lcmF0b3IsIHByb2R1Y2UgYSBzZWVkIGFuZAo+ Pj4+IC0gICAgICAgICogYWRkIGl0IHRvIHRoZSBwb29sLiAgRm9yIHRoZSBzYWtlIG9mIHBhcmFu b2lhIGRvbid0IGxldCB0aGUKPj4+PiAtICAgICAgICAqIGFyY2hpdGVjdHVyYWwgc2VlZCBnZW5l cmF0b3IgZG9taW5hdGUgdGhlIGlucHV0IGZyb20gdGhlCj4+Pj4gLSAgICAgICAgKiBpbnRlcnJ1 cHQgbm9pc2UuCj4+Pj4gLSAgICAgICAgKi8KPj4+PiAtICAgICAgIGlmIChhcmNoX2dldF9yYW5k b21fc2VlZF9sb25nKCZzZWVkKSkgewo+Pj4+IC0gICAgICAgICAgICAgICBfX21peF9wb29sX2J5 dGVzKHIsICZzZWVkLCBzaXplb2Yoc2VlZCkpOwo+Pj4+IC0gICAgICAgICAgICAgICBjcmVkaXQg PSAxOwo+Pj4+IC0gICAgICAgfQo+Pj4+ICAgICAgICAgc3Bpbl91bmxvY2soJnItPmxvY2spOwo+ Pj4+Cj4+Pj4gICAgICAgICBmYXN0X3Bvb2wtPmNvdW50ID0gMDsKPj4+Pgo+Pj4+ICAgICAgICAg LyogYXdhcmQgb25lIGJpdCBmb3IgdGhlIGNvbnRlbnRzIG9mIHRoZSBmYXN0IHBvb2wgKi8KPj4+ PiAtICAgICAgIGNyZWRpdF9lbnRyb3B5X2JpdHMociwgY3JlZGl0ICsgMSk7Cj4+Pj4gKyAgICAg ICBjcmVkaXRfZW50cm9weV9iaXRzKHIsIDEpOwo+Pj4+ICB9Cj4+Pj4gIEVYUE9SVF9TWU1CT0xf R1BMKGFkZF9pbnRlcnJ1cHRfcmFuZG9tbmVzcyk7Cj4+Pj4KPj4+PiAtLQo+Pj4+IDIuMTcuMQo+ Pj4+Cj4+CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K bGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZy YWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGlu dXgtYXJtLWtlcm5lbAo=