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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 964BAC47DD9 for ; Wed, 28 Feb 2024 13:11:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=Dr/+bDOz44kFk9UODOlg3bSl5XRsaxyPuZHm7rAGkYw=; b=Ce05hEs7sshYhs pL3AdS4Aq2v9A6VxQ628O+HTJT9/1g0wGTRKIbnDP+9VXeh8ueIfg4a/8CsOoHBwOgnoKtx2u1nB3 gHeflrEun3BDsR7n+aj8fT2NLzRpnw1FoY7kbZSaOIE5qTN180haOMqMMV1YzuaAnfiAG7YosWCrW 6yRpp91Ni979r0Sf6H7iXrmN4sWIj7u6M+SV3tkKTwHLOas5em8Ni9KEYeSTLNdxuLD4+2W+6GNk5 yLTkTm35Ciy+XHWGCJExD2/EG/gl53a3mv0RQSu3tls+6sLsgtr0ebLh1Hp8FvX++Mlyh8V3Oiz3I KlduP4aOoW6ztqqRY2Xw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rfJiL-00000009Pof-16RV; Wed, 28 Feb 2024 13:11:13 +0000 Received: from mail-wr1-x429.google.com ([2a00:1450:4864:20::429]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rfJiI-00000009Pm9-0p4x for linux-arm-kernel@lists.infradead.org; Wed, 28 Feb 2024 13:11:12 +0000 Received: by mail-wr1-x429.google.com with SMTP id ffacd0b85a97d-3392b12dd21so4367866f8f.0 for ; Wed, 28 Feb 2024 05:11:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1709125867; x=1709730667; darn=lists.infradead.org; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:from:to :cc:subject:date:message-id:reply-to; bh=qJD1W327BiKI98MCb1pXVIatRG0iyNZTqwC1jZzBmvo=; b=vnLnm5+VVIMW+bw6Bb+H/DCeF+May833XmL+SlWtct4XeK7mzYB3rfYHhhwCCE0L6j Ntc3N+ePLwD8BrSFde5VE3LeAgACKdiZ0s9c/Z9+XgUbxbVZ+qqZULa+A6Jz9UJMhWVk a98eb6O/YbhaADAXk5QW80/NzeMQYAbdfYNKhq/gObU12yJjaL4K9CVbQ/jsn2oyJZMR e+Eu9djSuZKCD8CE5qMQjRsUoh26XXF3evK0h0Uja51fffyCyPi09Rg+aQc2ABT+qIBN 3ue3JdyIU8gsSiay66X3B7CbJKMEuEH1BELecP0h9UoZDsGJ7uYNEkcqhatBqa/GoR3g fBpg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709125867; x=1709730667; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=qJD1W327BiKI98MCb1pXVIatRG0iyNZTqwC1jZzBmvo=; b=AElQ4/iun6HcOr2b999wwvPRoCLjYzuSe86ic0hr4M9BwEpIt+OuwokSrcwhaITvU4 fC63/P8hhlJfKQae1TbbCxN3cNhPclUBp3C7nJa6mRC1fwQKvfFu7XTd0Km6IsnACrbw 62X3X+a9CXUYe2K4rTC5jgZz/q3FVxicpPHS7ehKvY/EQbb5k7qDUoZdpKk7FpwUKHpc o7VH32CVSxWsUvKKm08BfKaMYy5H7kMsnj8tLC2u8BC/NMlPieyCtXw2eK/x9O615B2y lUDPYYRjDxOmKDCPiKdutfYyGJUJH1GD5Tl+mdN4WlYLqkgIc/biJDukBa729+a4Xqpl kekA== X-Forwarded-Encrypted: i=1; AJvYcCVUrcgeWscl7a29pBbR4SiKAArhWys4oly3eKzOW24XoOb2I/hZGXBPGx3bAKK0Un4uqKqGcEPHTv7J8G1hYjbjXIYGjqsmjr3+dq+hsQw8a8Wuz0o= X-Gm-Message-State: AOJu0YyTZ8BPETHn3lAkjA+NOfTd+iZRMUOhN/P2S1ePLRe6ZZC1ceuv 2Gg65EdgE3eGZ195qlQt36UHPmKMIKift7rQYA1ca5KSU94Gr5ytTU3yDNLzqI4= X-Google-Smtp-Source: AGHT+IHkjDQ0jy8446w5QH4Mojlhm/NHAFGBOg1TPPqVtaVh3gnc1TkEjqP+ht7CxO7h2f1OlbfGvg== X-Received: by 2002:adf:e4c1:0:b0:33d:409b:5738 with SMTP id v1-20020adfe4c1000000b0033d409b5738mr9582230wrm.26.1709125867034; Wed, 28 Feb 2024 05:11:07 -0800 (PST) Received: from aspen.lan (aztw-34-b2-v4wan-166919-cust780.vm26.cable.virginm.net. [82.37.195.13]) by smtp.gmail.com with ESMTPSA id bu11-20020a056000078b00b0033daaef7afcsm14979790wrb.83.2024.02.28.05.11.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 28 Feb 2024 05:11:06 -0800 (PST) Date: Wed, 28 Feb 2024 13:11:04 +0000 From: Daniel Thompson To: Doug Anderson Cc: Catalin Marinas , Will Deacon , Mark Rutland , Marc Zyngier , Misono Tomohiro , Chen-Yu Tsai , Stephen Boyd , Sumit Garg , Frederic Weisbecker , "Guilherme G. Piccoli" , Josh Poimboeuf , Kees Cook , Peter Zijlstra , Thomas Gleixner , Tony Luck , Valentin Schneider , linux-arm-kernel@lists.infradead.org, linux-hardening@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] arm64: smp: smp_send_stop() and crash_smp_send_stop() should try non-NMI first Message-ID: <20240228131104.GB22898@aspen.lan> References: <20231207170251.1.Id4817adef610302554b8aa42b090d57270dc119c@changeid> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240228_051110_275930_35BA1DAE X-CRM114-Status: GOOD ( 68.73 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , 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 T24gVHVlLCBGZWIgMjcsIDIwMjQgYXQgMDQ6NTc6MzFQTSAtMDgwMCwgRG91ZyBBbmRlcnNvbiB3 cm90ZToKPiBIaSwKPgo+IE9uIE1vbiwgSmFuIDgsIDIwMjQgYXQgNDo1NOKAr1BNIERvdWcgQW5k ZXJzb24gPGRpYW5kZXJzQGNocm9taXVtLm9yZz4gd3JvdGU6Cj4gPgo+ID4gSGksCj4gPgo+ID4g T24gVGh1LCBEZWMgNywgMjAyMyBhdCA1OjAz4oCvUE0gRG91Z2xhcyBBbmRlcnNvbiA8ZGlhbmRl cnNAY2hyb21pdW0ub3JnPiB3cm90ZToKPiA+ID4KPiA+ID4gV2hlbiB0ZXN0aW5nIGhhcmQgbG9j a3VwIGhhbmRsaW5nIG9uIG15IHNjNzE4MC10cm9nZG9yLWxhem9yIGRldmljZQo+ID4gPiB3aXRo IHBzZXVkby1OTUkgZW5hYmxlZCwgd2l0aCBzZXJpYWwgY29uc29sZSBlbmFibGVkIGFuZCB3aXRo IGtnZGIKPiA+ID4gZGlzYWJsZWQsIEkgZm91bmQgdGhhdCB0aGUgc3RhY2sgY3Jhd2xzIHByaW50 ZWQgdG8gdGhlIHNlcmlhbCBjb25zb2xlCj4gPiA+IGVuZGVkIHVwIGFzIGEganVtYmxlZCBtZXNz LiBBZnRlciByZWJvb3RpbmcsIHRoZSBwc3RvcmUtYmFzZWQgY29uc29sZQo+ID4gPiBsb29rZWQg ZmluZSB0aG91Z2guIEFsc28sIGVuYWJsaW5nIGtnZGIgdG8gdHJhcCB0aGUgcGFuaWMgbWFkZSB0 aGUKPiA+ID4gY29uc29sZSBsb29rIGZpbmUgYW5kIGF2b2lkZWQgdGhlIG1lc3MuCj4gPiA+Cj4g PiA+IEFmdGVyIGEgYml0IG9mIHRyYWNraW5nIGRvd24sIEkgY2FtZSB0byB0aGUgY29uY2x1c2lv biB0aGF0IHRoaXMgd2FzCj4gPiA+IHdoYXQgd2FzIGhhcHBlbmluZzoKPiA+ID4gMS4gVGhlIHBh bmljIHBhdGggd2FzIHN0b3BwaW5nIGFsbCBvdGhlciBDUFVzIHdpdGgKPiA+ID4gICAgcGFuaWNf b3RoZXJfY3B1c19zaHV0ZG93bigpLgo+ID4gPiAyLiBBdCBsZWFzdCBvbmUgb2YgdGhvc2Ugb3Ro ZXIgQ1BVcyB3YXMgaW4gdGhlIG1pZGRsZSBvZiBwcmludGluZyB0bwo+ID4gPiAgICB0aGUgc2Vy aWFsIGNvbnNvbGUgYW5kIGhvbGRpbmcgdGhlIGNvbnNvbGUgcG9ydCdzIGxvY2ssIHdoaWNoIGlz Cj4gPiA+ICAgIGdyYWJiZWQgd2l0aCAiaXJxc2F2ZSIuIC4uLmJ1dCBzaW5jZSB3ZSB3ZXJlIHN0 b3BwaW5nIHdpdGggYW4gTk1JCj4gPiA+ICAgIHdlIGRpZG4ndCBjYXJlIGFib3V0IHRoZSAiaXJx c2F2ZSIgYW5kIGludGVycnVwdGVkIGFueXdheS4KPiA+ID4gMy4gU2luY2Ugd2Ugc3RvcHBlZCB0 aGUgQ1BVIHdoaWxlIGl0IHdhcyBob2xkaW5nIHRoZSBsb2NrIGl0IHdvdWxkCj4gPiA+ICAgIG5l dmVyIHJlbGVhc2UgaXQuCj4gPiA+IDQuIEFsbCBmdXR1cmUgY2FsbHMgdG8gb3V0cHV0IHRvIHRo ZSBjb25zb2xlIHdvdWxkIGVuZCB1cCBmYWlsaW5nIHRvCj4gPiA+ICAgIGdldCB0aGUgbG9jayBp biBxY29tX2dlbmlfc2VyaWFsX2NvbnNvbGVfd3JpdGUoKS4gVGhpcyBpc24ndAo+ID4gPiAgICBf dG90YWxseV8gdW5leHBlY3RlZCBhdCBwYW5pYyB0aW1lIGJ1dCBpdCdzIGEgY29kZSBwYXRoIHRo YXQncyBub3QKPiA+ID4gICAgd2VsbCB0ZXN0ZWQsIGhhcmQgdG8gZ2V0IHJpZ2h0LCBhbmQgYXBw YXJlbnRseSBkb2Vzbid0IHdvcmsKPiA+ID4gICAgdGVycmlibHkgd2VsbCBvbiB0aGUgUXVhbGNv bW0gZ2VuaSBzZXJpYWwgZHJpdmVyLgo+ID4gPgo+ID4gPiBJdCB3b3VsZCBwcm9iYWJseSBiZSBh IHJlYXNvbmFibGUgaWRlYSB0byB0cnkgdG8gbWFrZSB0aGUgUXVhbGNvbW0KPiA+ID4gZ2VuaSBz ZXJpYWwgZHJpdmVyIHdvcmsgYmV0dGVyLCBidXQgYWxzbyBpdCdzIG5pY2Ugbm90IHRvIGdldCBp bnRvCj4gPiA+IHRoaXMgc2l0dWF0aW9uIGluIHRoZSBmaXJzdCBwbGFjZS4KPiA+ID4KPiA+ID4g VGFraW5nIGEgcGFnZSBmcm9tIHdoYXQgeDg2IGFwcGVhcnMgdG8gZG8gaW4gbmF0aXZlX3N0b3Bf b3RoZXJfY3B1cygpLAo+ID4gPiBsZXQncyBkbyB0aGlzOgo+ID4gPiAxLiBGaXJzdCwgd2UnbGwg dHJ5IHRvIHN0b3Agb3RoZXIgQ1BVcyB3aXRoIGEgbm9ybWFsIElQSSBhbmQgd2FpdCBhCj4gPiA+ ICAgIHNlY29uZC4gVGhpcyBnaXZlcyB0aGVtIGEgY2hhbmNlIHRvIGxlYXZlIGNyaXRpY2FsIHNl Y3Rpb25zLgo+ID4gPiAyLiBJZiBDUFVzIGZhaWwgdG8gc3RvcCB0aGVuIHdlJ2xsIHJldHJ5IHdp dGggYW4gTk1JLCBidXQgZ2l2ZSBhIG11Y2gKPiA+ID4gICAgbG93ZXIgdGltZW91dCBzaW5jZSB0 aGVyZSdzIG5vIGdvb2QgcmVhc29uIGZvciBhIENQVSBub3QgdG8gcmVhY3QKPiA+ID4gICAgcXVp Y2tseSB0byBhIE5NSS4KPiA+ID4KPiA+ID4gVGhpcyB3b3JrcyB3ZWxsIGFuZCBhdm9pZHMgdGhl IGNvcnJ1cHRlZCBjb25zb2xlIGFuZCAocHJlc3VtYWJseSkKPiA+ID4gY291bGQgaGVscCBhdm9p ZCBvdGhlciBzaW1pbGFyIGlzc3Vlcy4KPiA+ID4KPiA+ID4gSW4gb3JkZXIgdG8gZG8gdGhpcywg d2UgbmVlZCB0byBkbyBhIGxpdHRsZSByZS1vcmdhbml6YXRpb24gb2Ygb3VyCj4gPiA+IElQSXMg c2luY2Ugd2UgZG9uJ3QgaGF2ZSBhbnkgbW9yZSBmcmVlIElEcy4gV2UnbGwgZG8gd2hhdCB3YXMK PiA+ID4gc3VnZ2VzdGVkIGluIHByZXZpb3VzIGNvbnZlcnNhdGlvbnMgYW5kIGNvbWJpbmUgInN0 b3AiIGFuZCAiY3Jhc2gKPiA+ID4gc3RvcCIuIFRoYXQgZnJlZXMgdXAgYW4gSVBJIHNvIG5vdyB3 ZSBjYW4gaGF2ZSBhICJzdG9wIiBhbmQgInN0b3AKPiA+ID4gTk1JIi4KPiA+ID4KPiA+ID4gSW4g b3JkZXIgdG8gZG8gdGhpcyB3ZSBhbHNvIG5lZWQgYSBzbGlnaHQgY2hhbmdlIGluIHRoZSB3YXkg d2Uga2VlcAo+ID4gPiB0cmFjayBvZiB3aGljaCBDUFVzIHN0aWxsIG5lZWQgdG8gYmUgc3RvcHBl ZC4gV2UgbmVlZCB0byBrbm93Cj4gPiA+IHNwZWNpZmljYWxseSB3aGljaCBDUFVzIGhhdmVuJ3Qg c3RvcHBlZCB5ZXQgd2hlbiB3ZSBmYWxsIGJhY2sgdG8gTk1JCj4gPiA+IGJ1dCBpbiB0aGUgImNy YXNoIHN0b3AiIGNhc2UgdGhlICJjcHVfb25saW5lX21hc2siIGlzbid0IHVwZGF0ZWQgYXMKPiA+ ID4gQ1BVcyBnbyBkb3duLiBUaGlzIGlzIHdoeSB0aGF0IGNvZGUgcGF0aCBoYWQgYW4gYXRvbWlj IG9mIHRoZSBudW1iZXIKPiA+ID4gb2YgQ1BVcyBsZWZ0LiBXZSdsbCBzb2x2ZSB0aGlzIGJ5IG1h a2luZyB0aGUgY3B1bWFzayBpbnRvIGEKPiA+ID4gZ2xvYmFsLiBUaGlzIGhhcyBhIHBvdGVudGlh bCBtZW1vcnkgaW1wbGljYXRpb24tLXdpdGggTlJfQ1BVcyA9IDQwOTYKPiA+ID4gdGhpcyBpcyA0 MDk2LzggPSA1MTIgYnl0ZXMgb2YgZ2xvYmFscy4gT24gdGhlIHVwc2lkZSBpbiB0aGF0IHNhbWUg Y2FzZQo+ID4gPiB3ZSB0YWtlIDUxMiBieXRlcyBvZmYgdGhlIHN0YWNrIHdoaWNoIGNvdWxkIHBv dGVudGlhbGx5IGhhdmUgbWFkZSB0aGUKPiA+ID4gc3RvcCBjb2RlIGxlc3MgcmVsaWFibGUuIEl0 IGNhbiBiZSBub3RlZCB0aGF0IHRoZSBOTUkgYmFja3RyYWNlIGNvZGUKPiA+ID4gKGxpYi9ubWlf YmFja3RyYWNlLmMpIHVzZXMgdGhlIHNhbWUgYXBwcm9hY2ggYW5kIHRoYXQgdXNlIGFsc28KPiA+ ID4gY29uZmlybXMgdGhhdCB1cGRhdGluZyB0aGUgbWFzayBpcyBzYWZlIGZyb20gTk1JLgo+ID4g Pgo+ID4gPiBBbGwgb2YgdGhlIGFib3ZlIGxldHMgdXMgY29tYmluZSB0aGUgbG9naWMgZm9yICJz dG9wIiBhbmQgImNyYXNoIHN0b3AiCj4gPiA+IGNvZGUsIHdoaWNoIGFwcGVhcmVkIHRvIGhhdmUg YSBidW5jaCBvZiBhcmJpdHJhcnkgaW1wbGVtZW50YXRpb24KPiA+ID4gZGlmZmVyZW5jZXMuIFBv c3NpYmx5IHRoaXMgY291bGQgbWFrZSB1cCBmb3Igc29tZSBvZiB0aGUgNTEyIHdhc3RlZAo+ID4g PiBieXRlcy4gOy0pCj4gPiA+Cj4gPiA+IEFzaWRlIGZyb20gdGhlIGFib3ZlIGNoYW5nZSB3aGVy ZSB3ZSB0cnkgYSBub3JtYWwgSVBJIGFuZCB0aGVuIGFuIE5NSSwKPiA+ID4gdGhlIGNvbWJpbmVk IGZ1bmN0aW9uIGhhcyBhIGZldyBzdWJ0bGUgZGlmZmVyZW5jZXM6Cj4gPiA+ICogSW4gdGhlIG5v cm1hbCBzbXBfc2VuZF9zdG9wKCksIGlmIHdlIGZhaWwgdG8gc3RvcCBvbmUgb3IgbW9yZSBDUFVz Cj4gPiA+ICAgdGhlbiB3ZSB3b24ndCBpbmNsdWRlIHRoZSBjdXJyZW50IENQVSAodGhlIG9uZSBy dW5uaW5nCj4gPiA+ICAgc21wX3NlbmRfc3RvcCgpKSBpbiB0aGUgZXJyb3IgbWVzc2FnZS4KPiA+ ID4gKiBJbiBjcmFzaF9zbXBfc2VuZF9zdG9wKCksIGlmIHdlIGZhaWwgdG8gc3RvcCBzb21lIENQ VXMgd2UnbGwgcHJpbnQKPiA+ID4gICB0aGUgQ1BVcyB0aGF0IHdlIGZhaWxlZCB0byBzdG9wIGlu c3RlYWQgb2YgcHJpbnRpbmcgYWxsIF9idXRfIHRoZQo+ID4gPiAgIGN1cnJlbnQgcnVubmluZyBD UFUuCj4gPiA+ICogSW4gY3Jhc2hfc21wX3NlbmRfc3RvcCgpLCB3ZSB3aWxsIG5vdyBvbmx5IHBy aW50ICJTTVA6IHN0b3BwaW5nCj4gPiA+ICAgc2Vjb25kYXJ5IENQVXMiIGlmIChzeXN0ZW1fc3Rh dGUgPD0gU1lTVEVNX1JVTk5JTkcpLgo+ID4gPgo+ID4gPiBGaXhlczogZDc0MDI1MTNjOTM1ICgi YXJtNjQ6IHNtcDogSVBJX0NQVV9TVE9QIGFuZCBJUElfQ1BVX0NSQVNIX1NUT1Agc2hvdWxkIHRy eSBmb3IgTk1JIikKPiA+ID4gU2lnbmVkLW9mZi1ieTogRG91Z2xhcyBBbmRlcnNvbiA8ZGlhbmRl cnNAY2hyb21pdW0ub3JnPgo+ID4gPiAtLS0KPiA+ID4gSSdtIG5vdCBzZXR1cCB0byB0ZXN0IHRo ZSBjcmFzaF9zbXBfc2VuZF9zdG9wKCkuIEkgbWFkZSBzdXJlIGl0Cj4gPiA+IGNvbXBpbGVkIGFu ZCBoYWNrZWQgdGhlIHBhbmljKCkgbWV0aG9kIHRvIGNhbGwgaXQsIGJ1dCBJIGhhdmVuJ3QKPiA+ ID4gYWN0dWFsbHkgcnVuIGtleGVjLiBIb3BlZnVsbHkgb3RoZXJzIGNhbiBjb25maXJtIHRoYXQg aXQncyB3b3JraW5nIGZvcgo+ID4gPiB0aGVtLgo+ID4gPgo+ID4gPiAgYXJjaC9hcm02NC9rZXJu ZWwvc21wLmMgfCAxMTUgKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ ID4gPiAgMSBmaWxlIGNoYW5nZWQsIDU0IGluc2VydGlvbnMoKyksIDYxIGRlbGV0aW9ucygtKQo+ ID4KPiA+IFRoZSBzb3VuZCBvZiBjcmlja2V0cyBpcyBvdmVyd2hlbG1pbmcuIDstKSBEb2VzIGFu eW9uZSBoYXZlIGFueQo+ID4gY29tbWVudHMgaGVyZT8gSXMgdGhpcyBhIHRlcnJpYmxlIGlkZWE/ IElzIHRoaXMgdGhlIGJlc3QgaWRlYSB5b3UndmUKPiA+IGhlYXJkIGFsbCB5ZWFyIChpdCdzIG9u bHkgYmVlbiA4IGRheXMsIHNvIG1heWJlKT8gSXMgdGhpcyBncmVhdCBidXQKPiA+IHRoZSBpbXBs ZW1lbnRhdGlvbiBpcyBsYWNraW5nIChhdCBiZXN0KT8gRG8geW91IGhhdGUgdGhhdCB0aGlzIHdh aXRzCj4gPiBmb3IgMSBzZWNvbmQgYW5kIHdpc2ggaXQgd2FpdGVkIGZvciAxIG1zPyAxMCBtcz8g MTAwIG1zPyA4MTkyIG1zPwo+ID4KPiA+IEFzaWRlIGZyb20gdGhlIHdlaXJkbmVzcyBvZiBhIHBy b2Nlc3NvciBiZWluZyBraWxsZWQgd2hpbGUgaG9sZGluZyB0aGUKPiA+IGNvbnNvbGUgbG9jaywg aXQgZG9lcyBzZWVtIGJlbmVmaWNpYWwgdG8gZ2l2ZSBJUlFzIGF0IGxlYXN0IGEgbGl0dGxlCj4g PiB0aW1lIHRvIGZpbmlzaCBiZWZvcmUga2lsbGluZyBhIHByb2Nlc3Nvci4gSSBkb24ndCBoYXZl IGFueSBvdGhlcgo+ID4gZXhwbGljaXQgZXhhbXBsZXMsIGJ1dCBJIGNvdWxkIGp1c3QgaW1hZ2lu ZSB0aGF0IHRoaW5ncyBtaWdodCBiZSBhCj4gPiBsaXR0bGUgbW9yZSBvcmRlcmx5IGluIHN1Y2gg YSBjYXNlLi4uCj4KPiBJJ20gc3RpbGwgaG9waW5nIHRvIGdldCBzb21lIHNvcnQgb2YgZmVlZGJh Y2sgaGVyZS4gSWYgcGVvcGxlIHRoaW5rCj4gdGhpcyBpcyBhIHRlcnJpYmxlIGlkZWEgdGhlbiBJ J2xsIHNodXQgdXAgbm93IGFuZCBsZWF2ZSB3ZWxsIGVub3VnaAo+IGFsb25lLCBidXQgaXQgd291 bGQgYmUgbmljZSB0byBhY3RpdmVseSBkZWNpZGUgYW5kIGdldCB0aGUgcGF0Y2ggb3V0Cj4gb2Yg bGltYm8uCgpJJ3ZlIHJlYWQgcGF0Y2ggdGhyb3VnaCBhIGNvdXBsZSBvZiB0aW1lcyBhbmQgd2Fz IGdlbmVyYWxseSBjb252aW5jZWQgYnkKdGhlICJkbyB3aGF0IHg4NiBkb2VzIiBhcmd1bWVudC4K Ckhvd2V2ZXIgdW50aWwgbm93IEkndmUgYWx3YXlzIGhlbGQgbXkgY291bmNpbCBzaW5jZSBJIHdh c24ndCBmYW1pbGlhcgp3aXRoIHRoZXNlIGNvZGUgcGF0aHMgYW5kIEkgZmlndXJlZCBpdCB3YXMg T0sgZm9yIG1lIHRvIGhhdmUgbm8gb3BpbmlvbgpiZWNhdXNlIHRoZSBmaXJzdCBsaW5lIG9mIHRo ZSBkZXNjcmlwdGlvbiBzYXlzIHRoYXQga2dkYi9rZGIgaXMgMTAwJSBub3QKaW52b2x2ZWQgaW4g Y2F1c2luZyB0aGUgcHJvYmxlbSA7LSkgLgoKSG93ZXZlciB0b2RheSBJIGFsc28gdG9vayBhIGxv b2sgYXQgdGhlIEhBVkVfTk1JIGFyY2hpdGVjdHVyZXMgYW5kIHRoZXJlCmlzIG5vIGNvbnNlbnN1 cyBiZXR3ZWVuIHRoZW0gYWJvdXQgaG93IHRvIGltcGxlbWVudCB0aGlzOiBQb3dlclBDIHVzZXMK Tk1JIGFuZCBtb3N0IG9mIHRoZSBvdGhlcnMgdXNlIElSUSBvbmx5LCBzMzkwIHNwZWNpYWwgY2Fz ZXMgZm9yIHRoZQpwYW5pYyBjb2RlIHBhdGggYW5kIGFjdHMgZGlmZmVyZW50bHkgY29tcGFyZWQg dG8gYSBub3JtYWwgU01QIHNodXRkb3duLgoKRldJVyB0aGUgeDg2IHJvdXRlIHdhcyBpcnEtb25s eSBhbmQgdGhlbiBzd2l0Y2hpbmcgdG8gaXJxLXBsdXMtbm1pCihhZnRlciBhIHNob3J0IHRyaWFs IHdpdGggTk1JLW9ubHkgdGhhdCBoYWQgcHJvYmxlbXMgd2l0aCBwc3RvcmUKcmVsaWFiaWxpdHlb MV0pIGFuZCB0aGF0IGFwcHJvYWNoIGhhcyBiZWVuIGluIHBsYWNlIGZvciBvdmVyCmEgZGVjYWRl IG5vdyEKCkhvd2V2ZXIsIGlmIHdlIHRhbGtpbmcgb3Vyc2VsdmVzIGludG8gY29weWluZyB4ODYg dGhlbiBwZXJoYXBzIHdlIHNob3VsZAptb3JlIGFjY3VyYXRlbHkgY29weSB4ODYhIEFzc3VtaW5n IEkgcmVhZCB0aGUgeDg2IGNvZGUgY29ycmVjdGx5IHRoZW4KY3Jhc2hfc21wX3NlbmRfc3RvcCgp IHdpbGwgKG1vc3RseSkgZ28gc3RhaWdodCB0byBOTUkgcmF0aGVyCnRoYW4gdHJpYWxsaW5nIGFu IElSUSBmaXJzdCEgVGhhdCBpcyBub3Qgd2hhdCBpcyBjdXJyZW50bHkgaW1wbGVtZW50ZWQKaW4g dGhlIHBhdGNoIGZvciBhcm02NC4KCgpEYW5pZWwuCgoKWzFdCmh0dHBzOi8vZ2l0Lmtlcm5lbC5v cmcvcHViL3NjbS9saW51eC9rZXJuZWwvZ2l0L3RvcnZhbGRzL2xpbnV4LmdpdC9jb21taXQvP2lk PTdkMDA3ZDIxZTUzOWRiZWNiNjk0MmM1NzM0ZTY2NDlmNzIwOTgyY2YKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGlu ZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMu aW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK