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=-7.1 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS 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 D080AC433DF for ; Sun, 31 May 2020 11:09:29 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 8C66C20776 for ; Sun, 31 May 2020 11:09:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1590923369; bh=FghhYqKlaTRbFKgAaP4e9YXbKVNDOMp4WqJZfCrcChs=; h=Date:From:To:Cc:Subject:In-Reply-To:References:List-ID:From; b=O3x04KVrxz2QONwg7OHXXCvuQCKGhqgRjqMolwd9PXCQXb4K61AFqlzGH3M159MAb saAZv0zaSc0uZ7dm7j7o65VbSjh9cBcNhuhzEep8YVi+u+W+ZVeN/lsTAwSRRB9RqG JigotSD96dH9N14UvKFzUDrKHxwEERWNZ61hCGLo= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728125AbgEaLJ2 (ORCPT ); Sun, 31 May 2020 07:09:28 -0400 Received: from mail.kernel.org ([198.145.29.99]:60344 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725898AbgEaLJ1 (ORCPT ); Sun, 31 May 2020 07:09:27 -0400 Received: from disco-boy.misterjones.org (disco-boy.misterjones.org [51.254.78.96]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 0BEEE20707; Sun, 31 May 2020 11:09:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1590923367; bh=FghhYqKlaTRbFKgAaP4e9YXbKVNDOMp4WqJZfCrcChs=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=IHCvLUpDo9Kbt6tA3zFV3vp8NAoz76KPjQ8F7BlWIh0dpViN44diK8Z5tTHo7SyX8 wl59oa+ZSyaRFiEDkUkV9aVTYm2IASUFOwcAMrLA8nTZAStkJe6DVCYAzNPSuiWF3U Wf7NtM0vQDCwpmaW74YoLFmoBmnD3bPKUYi44Zd8= Received: from disco-boy.misterjones.org ([51.254.78.96] helo=www.loen.fr) by disco-boy.misterjones.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1jfLqH-00Gg3Y-Fm; Sun, 31 May 2020 12:09:25 +0100 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Date: Sun, 31 May 2020 12:09:25 +0100 From: Marc Zyngier To: "Saidi, Ali" Cc: Thomas Gleixner , Jason Cooper , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, "Herrenschmidt, Benjamin" , "Woodhouse, David" , "Zilberman, Zeev" , "Machulsky, Zorik" Subject: Re: [PATCH] irqchip/gic-v3-its: Don't try to move a disabled irq In-Reply-To: <20200530174929.7bf6d5d7@why> References: <20200529015501.15771-1-alisaidi@amazon.com> <8c3be990888ecfb7cca9503853dc4aac@kernel.org> <2C4F431F-8140-4C82-B4BD-E51DE618FC08@amazon.com> <20200530174929.7bf6d5d7@why> User-Agent: Roundcube Webmail/1.4.4 Message-ID: X-Sender: maz@kernel.org X-SA-Exim-Connect-IP: 51.254.78.96 X-SA-Exim-Rcpt-To: alisaidi@amazon.com, tglx@linutronix.de, jason@lakedaemon.net, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, benh@amazon.com, dwmw@amazon.co.uk, zeev@amazon.com, zorik@amazon.com X-SA-Exim-Mail-From: maz@kernel.org X-SA-Exim-Scanned: No (on disco-boy.misterjones.org); SAEximRunCond expanded to false Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2020-05-30 17:49, Marc Zyngier wrote: > Hi Ali, > > On Fri, 29 May 2020 12:36:42 +0000 > "Saidi, Ali" wrote: > >> Hi Marc, >> >> > On May 29, 2020, at 3:33 AM, Marc Zyngier wrote: >> > >> > Hi Ali, >> > >> >> On 2020-05-29 02:55, Ali Saidi wrote: >> >> If an interrupt is disabled the ITS driver has sent a discard removing >> >> the DeviceID and EventID from the ITT. After this occurs it can't be >> >> moved to another collection with a MOVI and a command error occurs if >> >> attempted. Before issuing the MOVI command make sure that the IRQ isn't >> >> disabled and change the activate code to try and use the previous >> >> affinity. >> >> >> >> Signed-off-by: Ali Saidi >> >> --- >> >> drivers/irqchip/irq-gic-v3-its.c | 18 +++++++++++++++--- >> >> 1 file changed, 15 insertions(+), 3 deletions(-) >> >> >> >> diff --git a/drivers/irqchip/irq-gic-v3-its.c >> >> b/drivers/irqchip/irq-gic-v3-its.c >> >> index 124251b0ccba..1235dd9a2fb2 100644 >> >> --- a/drivers/irqchip/irq-gic-v3-its.c >> >> +++ b/drivers/irqchip/irq-gic-v3-its.c >> >> @@ -1540,7 +1540,11 @@ static int its_set_affinity(struct irq_data *d, >> >> const struct cpumask *mask_val, >> >> /* don't set the affinity when the target cpu is same as current one >> >> */ >> >> if (cpu != its_dev->event_map.col_map[id]) { >> >> target_col = &its_dev->its->collections[cpu]; >> >> - its_send_movi(its_dev, target_col, id); >> >> + >> >> + /* If the IRQ is disabled a discard was sent so don't move */ >> >> + if (!irqd_irq_disabled(d)) >> >> + its_send_movi(its_dev, target_col, id); >> >> + >> > >> > This looks wrong. What you are testing here is whether the interrupt >> > is masked, not that there isn't a valid translation. >> I’m not exactly sure the correct condition, but what I’m looking for >> is interrupts which are deactivated and we have thus sent a discard. > > That looks like IRQD_IRQ_STARTED not being set in this case. > >> > >> > In the commit message, you're saying that we've issued a discard. >> > This hints at doing a set_affinity on an interrupt that has been >> > deactivated (mapping removed). Is that actually the case? If so, >> > why was it deactivated >> > the first place? >> This is the case. If we down a NIC, that interface’s MSIs will be >> deactivated but remain allocated until the device is unbound from the >> driver or the NIC is brought up. >> >> While stressing down/up a device I’ve found that irqbalance can move >> interrupts and you end up with the situation described. The device is >> downed, the interrupts are deactivated but still present and then >> trying to move one results in sending a MOVI after the DISCARD which >> is an error per the GIC spec. > > Not great indeed. But this is not, as far as I can tell, a GIC > driver problem. > > The semantic of activate/deactivate (which maps to started/shutdown > in the IRQ code) is that the HW resources for a given interrupt are > only committed when the interrupt is activated. Trying to perform > actions involving the HW on an interrupt that isn't active cannot be > guaranteed to take effect. > > I'd rather address it in the core code, by preventing set_affinity (and > potentially others) to take place when the interrupt is not in the > STARTED state. Userspace would get an error, which is perfectly > legitimate, and which it already has to deal with it for plenty of > other > reasons. How about this: diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c index 453a8a0f4804..1a2ac1392c0f 100644 --- a/kernel/irq/manage.c +++ b/kernel/irq/manage.c @@ -147,7 +147,8 @@ cpumask_var_t irq_default_affinity; static bool __irq_can_set_affinity(struct irq_desc *desc) { if (!desc || !irqd_can_balance(&desc->irq_data) || - !desc->irq_data.chip || !desc->irq_data.chip->irq_set_affinity) + !desc->irq_data.chip || !desc->irq_data.chip->irq_set_affinity || + !irqd_is_started(&desc->irq_data)) return false; return true; } Thanks, M. -- Jazz is not dead. It just smells funny... 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=-7.0 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE, SPF_PASS 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 8E958C433E0 for ; Sun, 31 May 2020 11:09:31 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id 618B72074A for ; Sun, 31 May 2020 11:09:31 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="BVniKMZL"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=kernel.org header.i=@kernel.org header.b="IHCvLUpD" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 618B72074A Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-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=bombadil.20170209; h=Sender:Content-Type: Content-Transfer-Encoding:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:Message-ID:References:In-Reply-To:Subject:To:From: Date:MIME-Version:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=c6w9O+J3QQ1bQ6I21qqcvkajXYU0dCYCJs3a0iUbu/Y=; b=BVniKMZL+TRicd+ZbGQLMYDAl 7n4WeGuG+M2wtXvvEXvl0qLxTPxmuJL0xkmRx5y712tRsLfJdT9vAkpun9gvJ+jt5wfaAFUc9NLFO GJclA6bpnpFqrmfoESbDqMqCVydGNfNwUpTqpe7LLNtrLn0ieRLqsvy+8lTLsyiBo6K+gO5xV8uNF k9ZZ/YDWH1VBoJ/w8BxBsWWK63PLF32LB02DFRoYcXHRwLIo6jNuuX8W3wSykvDF+AdWcaReExBO9 nRUHUElmHtYHCenOM6APbnejm/nQPaasMOAWgmyufCyT3ZaKIJE/D9PJ81Zd9vLhwRbAPjkDWyoQa U30GxZB3Q==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1jfLqM-0000gL-PJ; Sun, 31 May 2020 11:09:30 +0000 Received: from mail.kernel.org ([198.145.29.99]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1jfLqJ-0000fr-QH for linux-arm-kernel@lists.infradead.org; Sun, 31 May 2020 11:09:29 +0000 Received: from disco-boy.misterjones.org (disco-boy.misterjones.org [51.254.78.96]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 0BEEE20707; Sun, 31 May 2020 11:09:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1590923367; bh=FghhYqKlaTRbFKgAaP4e9YXbKVNDOMp4WqJZfCrcChs=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=IHCvLUpDo9Kbt6tA3zFV3vp8NAoz76KPjQ8F7BlWIh0dpViN44diK8Z5tTHo7SyX8 wl59oa+ZSyaRFiEDkUkV9aVTYm2IASUFOwcAMrLA8nTZAStkJe6DVCYAzNPSuiWF3U Wf7NtM0vQDCwpmaW74YoLFmoBmnD3bPKUYi44Zd8= Received: from disco-boy.misterjones.org ([51.254.78.96] helo=www.loen.fr) by disco-boy.misterjones.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1jfLqH-00Gg3Y-Fm; Sun, 31 May 2020 12:09:25 +0100 MIME-Version: 1.0 Date: Sun, 31 May 2020 12:09:25 +0100 From: Marc Zyngier To: "Saidi, Ali" Subject: Re: [PATCH] irqchip/gic-v3-its: Don't try to move a disabled irq In-Reply-To: <20200530174929.7bf6d5d7@why> References: <20200529015501.15771-1-alisaidi@amazon.com> <8c3be990888ecfb7cca9503853dc4aac@kernel.org> <2C4F431F-8140-4C82-B4BD-E51DE618FC08@amazon.com> <20200530174929.7bf6d5d7@why> User-Agent: Roundcube Webmail/1.4.4 Message-ID: X-Sender: maz@kernel.org X-SA-Exim-Connect-IP: 51.254.78.96 X-SA-Exim-Rcpt-To: alisaidi@amazon.com, tglx@linutronix.de, jason@lakedaemon.net, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, benh@amazon.com, dwmw@amazon.co.uk, zeev@amazon.com, zorik@amazon.com X-SA-Exim-Mail-From: maz@kernel.org X-SA-Exim-Scanned: No (on disco-boy.misterjones.org); SAEximRunCond expanded to false X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200531_040927_891783_A4A02802 X-CRM114-Status: GOOD ( 29.65 ) 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: "Herrenschmidt, Benjamin" , Jason Cooper , "Machulsky, Zorik" , linux-kernel@vger.kernel.org, "Zilberman, Zeev" , linux-arm-kernel@lists.infradead.org, Thomas Gleixner , "Woodhouse, David" Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gMjAyMC0wNS0zMCAxNzo0OSwgTWFyYyBaeW5naWVyIHdyb3RlOgo+IEhpIEFsaSwKPiAKPiBP biBGcmksIDI5IE1heSAyMDIwIDEyOjM2OjQyICswMDAwCj4gIlNhaWRpLCBBbGkiIDxhbGlzYWlk aUBhbWF6b24uY29tPiB3cm90ZToKPiAKPj4gSGkgTWFyYywKPj4gCj4+ID4gT24gTWF5IDI5LCAy MDIwLCBhdCAzOjMzIEFNLCBNYXJjIFp5bmdpZXIgPG1hekBrZXJuZWwub3JnPiB3cm90ZToKPj4g Pgo+PiA+IEhpIEFsaSwKPj4gPgo+PiA+PiBPbiAyMDIwLTA1LTI5IDAyOjU1LCBBbGkgU2FpZGkg d3JvdGU6Cj4+ID4+IElmIGFuIGludGVycnVwdCBpcyBkaXNhYmxlZCB0aGUgSVRTIGRyaXZlciBo YXMgc2VudCBhIGRpc2NhcmQgcmVtb3ZpbmcKPj4gPj4gdGhlIERldmljZUlEIGFuZCBFdmVudElE IGZyb20gdGhlIElUVC4gQWZ0ZXIgdGhpcyBvY2N1cnMgaXQgY2FuJ3QgYmUKPj4gPj4gbW92ZWQg dG8gYW5vdGhlciBjb2xsZWN0aW9uIHdpdGggYSBNT1ZJIGFuZCBhIGNvbW1hbmQgZXJyb3Igb2Nj dXJzIGlmCj4+ID4+IGF0dGVtcHRlZC4gQmVmb3JlIGlzc3VpbmcgdGhlIE1PVkkgY29tbWFuZCBt YWtlIHN1cmUgdGhhdCB0aGUgSVJRIGlzbid0Cj4+ID4+IGRpc2FibGVkIGFuZCBjaGFuZ2UgdGhl IGFjdGl2YXRlIGNvZGUgdG8gdHJ5IGFuZCB1c2UgdGhlIHByZXZpb3VzCj4+ID4+IGFmZmluaXR5 Lgo+PiA+Pgo+PiA+PiBTaWduZWQtb2ZmLWJ5OiBBbGkgU2FpZGkgPGFsaXNhaWRpQGFtYXpvbi5j b20+Cj4+ID4+IC0tLQo+PiA+PiBkcml2ZXJzL2lycWNoaXAvaXJxLWdpYy12My1pdHMuYyB8IDE4 ICsrKysrKysrKysrKysrKy0tLQo+PiA+PiAxIGZpbGUgY2hhbmdlZCwgMTUgaW5zZXJ0aW9ucygr KSwgMyBkZWxldGlvbnMoLSkKPj4gPj4KPj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvaXJxY2hp cC9pcnEtZ2ljLXYzLWl0cy5jCj4+ID4+IGIvZHJpdmVycy9pcnFjaGlwL2lycS1naWMtdjMtaXRz LmMKPj4gPj4gaW5kZXggMTI0MjUxYjBjY2JhLi4xMjM1ZGQ5YTJmYjIgMTAwNjQ0Cj4+ID4+IC0t LSBhL2RyaXZlcnMvaXJxY2hpcC9pcnEtZ2ljLXYzLWl0cy5jCj4+ID4+ICsrKyBiL2RyaXZlcnMv aXJxY2hpcC9pcnEtZ2ljLXYzLWl0cy5jCj4+ID4+IEBAIC0xNTQwLDcgKzE1NDAsMTEgQEAgc3Rh dGljIGludCBpdHNfc2V0X2FmZmluaXR5KHN0cnVjdCBpcnFfZGF0YSAqZCwKPj4gPj4gY29uc3Qg c3RydWN0IGNwdW1hc2sgKm1hc2tfdmFsLAo+PiA+PiAgICAgIC8qIGRvbid0IHNldCB0aGUgYWZm aW5pdHkgd2hlbiB0aGUgdGFyZ2V0IGNwdSBpcyBzYW1lIGFzIGN1cnJlbnQgb25lCj4+ID4+ICov Cj4+ID4+ICAgICAgaWYgKGNwdSAhPSBpdHNfZGV2LT5ldmVudF9tYXAuY29sX21hcFtpZF0pIHsK Pj4gPj4gICAgICAgICAgICAgIHRhcmdldF9jb2wgPSAmaXRzX2Rldi0+aXRzLT5jb2xsZWN0aW9u c1tjcHVdOwo+PiA+PiAtICAgICAgICAgICAgIGl0c19zZW5kX21vdmkoaXRzX2RldiwgdGFyZ2V0 X2NvbCwgaWQpOwo+PiA+PiArCj4+ID4+ICsgICAgICAgICAgICAgLyogSWYgdGhlIElSUSBpcyBk aXNhYmxlZCBhIGRpc2NhcmQgd2FzIHNlbnQgc28gZG9uJ3QgbW92ZSAqLwo+PiA+PiArICAgICAg ICAgICAgIGlmICghaXJxZF9pcnFfZGlzYWJsZWQoZCkpCj4+ID4+ICsgICAgICAgICAgICAgICAg ICAgICBpdHNfc2VuZF9tb3ZpKGl0c19kZXYsIHRhcmdldF9jb2wsIGlkKTsKPj4gPj4gKwo+PiA+ Cj4+ID4gVGhpcyBsb29rcyB3cm9uZy4gV2hhdCB5b3UgYXJlIHRlc3RpbmcgaGVyZSBpcyB3aGV0 aGVyIHRoZSBpbnRlcnJ1cHQKPj4gPiBpcyBtYXNrZWQsIG5vdCB0aGF0IHRoZXJlIGlzbid0IGEg dmFsaWQgdHJhbnNsYXRpb24uCj4+IEnigJltIG5vdCBleGFjdGx5IHN1cmUgdGhlIGNvcnJlY3Qg Y29uZGl0aW9uLCBidXQgd2hhdCBJ4oCZbSBsb29raW5nIGZvcgo+PiBpcyBpbnRlcnJ1cHRzIHdo aWNoIGFyZSBkZWFjdGl2YXRlZCBhbmQgd2UgaGF2ZSB0aHVzIHNlbnQgYSBkaXNjYXJkLgo+IAo+ IFRoYXQgbG9va3MgbGlrZSBJUlFEX0lSUV9TVEFSVEVEIG5vdCBiZWluZyBzZXQgaW4gdGhpcyBj YXNlLgo+IAo+PiA+Cj4+ID4gSW4gdGhlIGNvbW1pdCBtZXNzYWdlLCB5b3UncmUgc2F5aW5nIHRo YXQgd2UndmUgaXNzdWVkIGEgZGlzY2FyZC4KPj4gPiBUaGlzIGhpbnRzIGF0IGRvaW5nIGEgc2V0 X2FmZmluaXR5IG9uIGFuIGludGVycnVwdCB0aGF0IGhhcyBiZWVuCj4+ID4gZGVhY3RpdmF0ZWQg KG1hcHBpbmcgcmVtb3ZlZCkuIElzIHRoYXQgYWN0dWFsbHkgdGhlIGNhc2U/IElmIHNvLAo+PiA+ IHdoeSB3YXMgaXQgZGVhY3RpdmF0ZWQKPj4gPiB0aGUgZmlyc3QgcGxhY2U/Cj4+IFRoaXMgaXMg dGhlIGNhc2UuIElmIHdlIGRvd24gYSBOSUMsIHRoYXQgaW50ZXJmYWNl4oCZcyBNU0lzIHdpbGwg YmUKPj4gZGVhY3RpdmF0ZWQgYnV0IHJlbWFpbiBhbGxvY2F0ZWQgdW50aWwgdGhlIGRldmljZSBp cyB1bmJvdW5kIGZyb20gdGhlCj4+IGRyaXZlciBvciB0aGUgTklDIGlzIGJyb3VnaHQgdXAuCj4+ IAo+PiBXaGlsZSBzdHJlc3NpbmcgZG93bi91cCBhIGRldmljZSBJ4oCZdmUgZm91bmQgdGhhdCBp cnFiYWxhbmNlIGNhbiBtb3ZlCj4+IGludGVycnVwdHMgYW5kIHlvdSBlbmQgdXAgd2l0aCB0aGUg c2l0dWF0aW9uIGRlc2NyaWJlZC4gVGhlIGRldmljZSBpcwo+PiBkb3duZWQsIHRoZSBpbnRlcnJ1 cHRzIGFyZSBkZWFjdGl2YXRlZCBidXQgc3RpbGwgcHJlc2VudCBhbmQgdGhlbgo+PiB0cnlpbmcg dG8gbW92ZSBvbmUgcmVzdWx0cyBpbiBzZW5kaW5nIGEgTU9WSSBhZnRlciB0aGUgRElTQ0FSRCB3 aGljaAo+PiBpcyBhbiBlcnJvciBwZXIgdGhlIEdJQyBzcGVjLgo+IAo+IE5vdCBncmVhdCBpbmRl ZWQuIEJ1dCB0aGlzIGlzIG5vdCwgYXMgZmFyIGFzIEkgY2FuIHRlbGwsIGEgR0lDCj4gZHJpdmVy IHByb2JsZW0uCj4gCj4gVGhlIHNlbWFudGljIG9mIGFjdGl2YXRlL2RlYWN0aXZhdGUgKHdoaWNo IG1hcHMgdG8gc3RhcnRlZC9zaHV0ZG93bgo+IGluIHRoZSBJUlEgY29kZSkgaXMgdGhhdCB0aGUg SFcgcmVzb3VyY2VzIGZvciBhIGdpdmVuIGludGVycnVwdCBhcmUKPiBvbmx5IGNvbW1pdHRlZCB3 aGVuIHRoZSBpbnRlcnJ1cHQgaXMgYWN0aXZhdGVkLiBUcnlpbmcgdG8gcGVyZm9ybQo+IGFjdGlv bnMgaW52b2x2aW5nIHRoZSBIVyBvbiBhbiBpbnRlcnJ1cHQgdGhhdCBpc24ndCBhY3RpdmUgY2Fu bm90IGJlCj4gZ3VhcmFudGVlZCB0byB0YWtlIGVmZmVjdC4KPiAKPiBJJ2QgcmF0aGVyIGFkZHJl c3MgaXQgaW4gdGhlIGNvcmUgY29kZSwgYnkgcHJldmVudGluZyBzZXRfYWZmaW5pdHkgKGFuZAo+ IHBvdGVudGlhbGx5IG90aGVycykgdG8gdGFrZSBwbGFjZSB3aGVuIHRoZSBpbnRlcnJ1cHQgaXMg bm90IGluIHRoZQo+IFNUQVJURUQgc3RhdGUuIFVzZXJzcGFjZSB3b3VsZCBnZXQgYW4gZXJyb3Is IHdoaWNoIGlzIHBlcmZlY3RseQo+IGxlZ2l0aW1hdGUsIGFuZCB3aGljaCBpdCBhbHJlYWR5IGhh cyB0byBkZWFsIHdpdGggaXQgZm9yIHBsZW50eSBvZiAKPiBvdGhlcgo+IHJlYXNvbnMuCgpIb3cg YWJvdXQgdGhpczoKCmRpZmYgLS1naXQgYS9rZXJuZWwvaXJxL21hbmFnZS5jIGIva2VybmVsL2ly cS9tYW5hZ2UuYwppbmRleCA0NTNhOGEwZjQ4MDQuLjFhMmFjMTM5MmMwZiAxMDA2NDQKLS0tIGEv a2VybmVsL2lycS9tYW5hZ2UuYworKysgYi9rZXJuZWwvaXJxL21hbmFnZS5jCkBAIC0xNDcsNyAr MTQ3LDggQEAgY3B1bWFza192YXJfdCBpcnFfZGVmYXVsdF9hZmZpbml0eTsKICBzdGF0aWMgYm9v bCBfX2lycV9jYW5fc2V0X2FmZmluaXR5KHN0cnVjdCBpcnFfZGVzYyAqZGVzYykKICB7CiAgCWlm ICghZGVzYyB8fCAhaXJxZF9jYW5fYmFsYW5jZSgmZGVzYy0+aXJxX2RhdGEpIHx8Ci0JICAgICFk ZXNjLT5pcnFfZGF0YS5jaGlwIHx8ICFkZXNjLT5pcnFfZGF0YS5jaGlwLT5pcnFfc2V0X2FmZmlu aXR5KQorCSAgICAhZGVzYy0+aXJxX2RhdGEuY2hpcCB8fCAhZGVzYy0+aXJxX2RhdGEuY2hpcC0+ aXJxX3NldF9hZmZpbml0eSB8fAorCSAgICAhaXJxZF9pc19zdGFydGVkKCZkZXNjLT5pcnFfZGF0 YSkpCiAgCQlyZXR1cm4gZmFsc2U7CiAgCXJldHVybiB0cnVlOwogIH0KClRoYW5rcywKCiAgICAg ICAgIE0uCi0tIApKYXp6IGlzIG5vdCBkZWFkLiBJdCBqdXN0IHNtZWxscyBmdW5ueS4uLgoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtl cm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0 dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5l bAo=