From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.remote-ip=100.103.45.18 ARC-Seal: i=1; d=subspace.kernel.org; s=arc20261015; a=rsa-sha256; cv=none; t=1794085189; b=VQBObQKDcBcEjhEg+ZqorD7MPfVUzi2qPXM+Jwdf9RwzAXXYcAEs+Figs9wWR8Qfver7 E0tAN9Xl51tb7RxEV9Iqx8A6V5j/c41Vreq7VeAuOx3+XGuJhmoJ8OlD+DGR2tLUPQpbE AbO5Qa5jsIIne5DmftQraa4N4zZOe0AcRY+lNp75OW7J9Cu6lLn7jEDV4oWIb21HBu1Sg 9gnUotra9MlPNjx+Qoaepej57iB8zP43U+fV0wNKWFrRiVGrD6zkwZS9GBVGgpxd0580n ZhTQyhSTI2OdpuZ+G+mCMY0HB+4XHZHINEiSLG6cM7u4OHZGY9Ns+qumfsxLe0jhREA== ARC-Message-Signature: i=1; d=subspace.kernel.org; s=arc20261015; a=rsa-sha256; c=relaxed/relaxed; t=1794085189; h=Received:DKIM-Signature:Message-ID:From:Subject:Reply-To:To:Cc: In-Reply-To:References:Content-Type:Content-Transfer-Encoding:Date; bh=PThdQtpTeh/RmsXeafa5AkNFktPLGhBm7MYbB3f3O1g=; b=PcUuirfZBtg27gzWO/gyaFLWk8U6+rGbmwjqs4YJfVGDOCcxNRu+VNwvHWRC2c+KhImu M1QSeVDUeYVybtkgaGQ1U7wCWU1gxi9Wy0hQ8NkbP3i3vKeUpZIrl8gTAKiXBmhwW2vbC rtY17T1VkeXQ6IYnWXDJa7w86H1lyd2dvOn1tmP7jYP83osl9I2u2GURdYCUCSKRmjON6 PDnqT0pwFrxgdi2a5j4qaNHLlFg/AELAIOV2oeDv3kr7/49z39PmYIdFuRLEz941aDXw9 hlNEU8KTDAHfSR0DwVtLnpAgtIE0Im+GwS2/ForPRwEIkgDtLINxxDLmBJa76eABA+A== ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256 header.s=k20260515 header.b=DH7Yk5Kv; arc=none smtp.remote-ip=100.103.45.18 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 09517606A32D; Sat, 7 Nov 2026 20:59:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256 header.s=k20260515 header.b=DH7Yk5Kv Received: by smtp.kernel.org (Postfix) with ESMTPSA id 36ED51F008A7; Sat, 7 Nov 2026 20:59:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1794085188; bh=PThdQtpTeh/RmsXeafa5AkNFktPLGhBm7MYbB3f3O1g=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=DH7Yk5KvqaIsiO4Z+fB6WNNP1XnBSphUmIj8KBP0Q4jTYm6g/VBvbeNrbK7vdWU5D QbBtKx+vDKko1hC6Y9gDFOK7kt3ICwl/NhFPgfnBhvPF8o74K0PDNi8+SHrIJEEt89 hKWXPwEqPLVQ6kxX90IHiJPyOHI9OgMcsL7+kDFVx8vRKrTsEjdf5wlJa/6W6up1II 491L3DgUzuhD+GhgMXO3eWxkbt5mj0K1DB2igvc4Sh9r1rUIG7qiNrUBusoPSPURXy i6e4hcIBTHi2tTiPQTAB0MRMgvY6Z871gPn3/5kHmZwTBBhNjmOB0cBNSff6qovcxu wGSh9grqk9wLQ== Message-ID: From: sashiko-bot@kernel.org Subject: Re: [PATCH 55/58] mtd: rawnand: r852: retain chip state across removal Reply-To: sashiko-reviews@lists.linux.dev To: "James Hilliard" , "Miquel Raynal" , "Richard Weinberger" , "Vignesh Raghavendra" , "Brian Norris" , "Boris Brezillon" , "Arseniy Krasnov" , "Chen-Yu Tsai" , "Jernej Skrabec" , "Samuel Holland" , "Thomas Gleixner" , "Vitaly Wool" , "David Woodhouse" , "Russell King" , "David Woodhouse" , "Mike Rapoport" , "Maxime Coquelin" , "Alexandre Torgue" , "Christophe Kerello" , "Jason Roberts" , "Michal Simek" , "Boris Brezillon" , "Mason Yang" , "Ramuthevar Vadivel Murugan" , "Stefan Agner" , "Lucas Stach" , "Thierry Reding" , "Jonathan Hunter" , "Dmitry Osipenko" , "Matthias Brugger" , "AngeloGioacchino Del Regno" , "Jorge Ramirez-Ortiz" , "Heiko Stuebner" , "Yifeng Zhao" , "Nicolas Ferre" , "Alexandre Belloni" , "Claudiu Beznea" , "Keguang Zhang" , "Jacky Huang" , "Shan-Chun Hung" , "Frank Li" , "Sascha Hauer" , "Pengutronix Kernel Team" , "Fabio Estevam" , "Han Xu" , "Liang Yang" , "Neil Armstrong" , "Kevin Hilman" , "Jerome Brunet" , "Martin Blumenstingl" , "Manivannan Sadhasivam" , "Kamal Dasu" , "Broadcom internal kernel review list" , "Vladimir Zapolskiy" , "Piotr Wojtaszczyk" , "Paul Cercueil" , "Harvey Hunt" , "Maxim Levitsky" , "Michael Walle" , "Srinivas Kandagatla" Cc: "Tze Yee Ng" , linux-mtd@lists.infradead.org, linux-sunxi@lists.linux.dev, imx@lists.linux.dev, linux-amlogic@lists.infradead.org, Frank.Li@kernel.org, wsa+renesas@sang-engineering.com In-Reply-To: <20261107-submit-rawnand-retained-handle-lifetime-v1-v1-55-0181ef0cc4c8@gmail.com> References: <20261107-submit-rawnand-retained-handle-lifetime-v1-v1-0-0181ef0cc4c8@gmail.com> <20261107-submit-rawnand-retained-handle-lifetime-v1-v1-55-0181ef0cc4c8@gmail.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Date: Sat, 07 Nov 2026 20:59:45 +0000 X-Mailing-List: imx@lists.linux.dev List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list Thank you for your contribution! Sashiko AI review found 1 potential issue to consider: - [Medium] mtd: rawnand: r852: r852_irq() mishandles card IRQs when removing is set It also noticed 1 related pre-existing issue this patch does not introduce: - [High] mtd: rawnand: r852: work re-queue race condition in r852_shutdown() [1] -- commit 85c05cbe4afe297d6f7e2a571f936dd2dc915c61 Author: James Hilliard mtd: rawnand: r852: retain chip state across removal This commit allocates a separate nand_chip per card insertion, ties chip and controller lifetimes to MTD release callbacks, and stops card-detection work scheduling in r852_irq() during PCI removal. > diff --git a/drivers/mtd/nand/raw/r852.c b/drivers/mtd/nand/raw/r852.c > index 92c47d351c278..0fb320cd7b771 100644 > --- a/drivers/mtd/nand/raw/r852.c > +++ b/drivers/mtd/nand/raw/r852.c [ ... ] > @@ -734,7 +773,8 @@ static irqreturn_t r852_irq(int irq, void *data) > card_status =3D r852_read_reg(dev, R852_CARD_IRQ_STA); > r852_write_reg(dev, R852_CARD_IRQ_STA, card_status); > =20 > - if (card_status & (R852_CARD_IRQ_INSERT|R852_CARD_IRQ_REMOVE)) { > + if (!dev->removing && > + (card_status & (R852_CARD_IRQ_INSERT | R852_CARD_IRQ_REMOVE))) { > =20 > ret =3D IRQ_HANDLED; > dev->card_detected =3D !!(card_status & R852_CARD_IRQ_INSERT); [Severity: Medium] Does checking !dev->removing on the outer condition cause r852_irq() to mishandle card interrupts that fire during r852_remove()? Hardware interrupts remain enabled while r852_remove() cancels the workqueue and runs r852_unregister_nand_device(). If a card insert or remove interru= pt arrives after dev->removing is set, r852_irq() clears R852_CARD_IRQ_STA in hardware but skips the handler block, returning IRQ_NONE on a shared IRQ li= ne and failing to set dev->card_unstable or call r852_disable_irqs() to abort in-flight I/O. Should dev->removing only guard queue_delayed_work()? [ ... ] > @@ -976,6 +1003,11 @@ static int r852_probe(struct pci_dev *pci_dev, con= st struct pci_device_id *id) > static void r852_remove(struct pci_dev *pci_dev) > { > struct r852_device *dev =3D pci_get_drvdata(pci_dev); > + unsigned long flags; > + > + spin_lock_irqsave(&dev->irqlock, flags); > + dev->removing =3D true; > + spin_unlock_irqrestore(&dev->irqlock, flags); > =20 > /* Stop detect workqueue - > we are going to unregister the device anyway*/ [Severity: High] This problem wasn't introduced by this patch, but can r852_irq() re-queue dev->card_detect_work during r852_shutdown() and r852_suspend() [1]? Both functions call cancel_delayed_work_sync() before r852_disable_irqs() without setting dev->removing: drivers/mtd/nand/raw/r852.c:r852_shutdown() { struct r852_device *dev =3D pci_get_drvdata(pci_dev); cancel_delayed_work_sync(&dev->card_detect_work); r852_disable_irqs(dev); synchronize_irq(dev->irq); pci_disable_device(pci_dev); } An interrupt arriving between cancel_delayed_work_sync() and r852_disable_irqs() can re-queue card_detect_work: CPU0 CPU1 r852_shutdown() cancel_delayed_work_sync() r852_irq() queue_delayed_work() r852_disable_irqs() synchronize_irq() pci_disable_device() r852_card_detect_work() r852_read_reg() <-- MMIO after disable When the delayed work runs after pci_disable_device(), it accesses disabled PCI MMIO space. [1] https://sashiko.dev/#/bug/linux-ce28ca2b-1bf1-4d27-8bcd-a0ec14b99281 --=20 Sashiko AI review =C2=B7 https://sashiko.dev/#/patchset/20261107-submit-raw= nand-retained-handle-lifetime-v1-v1-0-0181ef0cc4c8@gmail.com?part=3D55 From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B1C14606A326 for ; Sat, 7 Nov 2026 20:59:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.a=rsa-sha256 header.s=bombadil.20210309 header.b=s89Y+2O2; dkim=fail reason="signature verification failed" (2048-bit key) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256 header.s=k20260515 header.b=DH7Yk5Kv 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:MIME-Version:Reply-To:List-Subscribe: List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:Date:References: In-Reply-To:Cc:To:Subject:From:Message-ID:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Unsubscribe-Post:List-Owner; bh=ojHLZTrnod1sk5dwmqJY47A7tOqeDgIcENGNsnX1gbE=; b=s89Y+2O2zeSuUtHRppUT6Na+ZV 1zT7Kn74ECMu8jsO5FGG9Xk52fIm3ZP/ItWI5c4BuHMWB7lxEpZWTwa45RrCosXL2VviP0RNopMxs PeuP7TckA4L/meZTjHWVp8sGO2d/5qcUyQQI6Q5Mvu6cxhJ6zb82n+EEwTjbSBgarcpMXco3W7BmN KAwk6kaXET+H0y2TcIqFFMa7ZsnsjqLiwBX1lr7STjakGmU1iLv+dS7lZFU6lgp5r5D1m/mK7HnNJ ypJVTo/s7TBHsRDn2oeR4LkBca/dGgq588HFM5iLwjDMxTP7VgbK4k5AASDZqFiX6N6z/5U0bRRpS wFil3irw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.100.1 #2 (Red Hat Linux)) id 1xPnVv-0000000FPu9-2Bai; Sat, 07 Nov 2026 20:59:51 +0000 Received: from tor.source.kernel.org ([172.105.4.254]) by bombadil.infradead.org with esmtps (Exim 4.100.1 #2 (Red Hat Linux)) id 1xPnVu-0000000FPtq-16Eo; Sat, 07 Nov 2026 20:59:50 +0000 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by tor.source.kernel.org (Postfix) with ESMTP id 2F13061201; Sat, 7 Nov 2026 20:59:49 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 36ED51F008A7; Sat, 7 Nov 2026 20:59:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1794085188; bh=PThdQtpTeh/RmsXeafa5AkNFktPLGhBm7MYbB3f3O1g=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=DH7Yk5KvqaIsiO4Z+fB6WNNP1XnBSphUmIj8KBP0Q4jTYm6g/VBvbeNrbK7vdWU5D QbBtKx+vDKko1hC6Y9gDFOK7kt3ICwl/NhFPgfnBhvPF8o74K0PDNi8+SHrIJEEt89 hKWXPwEqPLVQ6kxX90IHiJPyOHI9OgMcsL7+kDFVx8vRKrTsEjdf5wlJa/6W6up1II 491L3DgUzuhD+GhgMXO3eWxkbt5mj0K1DB2igvc4Sh9r1rUIG7qiNrUBusoPSPURXy i6e4hcIBTHi2tTiPQTAB0MRMgvY6Z871gPn3/5kHmZwTBBhNjmOB0cBNSff6qovcxu wGSh9grqk9wLQ== Message-ID: From: sashiko-bot@kernel.org Subject: Re: [PATCH 55/58] mtd: rawnand: r852: retain chip state across removal To: "James Hilliard" , "Miquel Raynal" , "Richard Weinberger" , "Vignesh Raghavendra" , "Brian Norris" , "Boris Brezillon" , "Arseniy Krasnov" , "Chen-Yu Tsai" , "Jernej Skrabec" , "Samuel Holland" , "Thomas Gleixner" , "Vitaly Wool" , "David Woodhouse" , "Russell King" , "David Woodhouse" , "Mike Rapoport" , "Maxime Coquelin" , "Alexandre Torgue" , "Christophe Kerello" , "Jason Roberts" , "Michal Simek" , "Boris Brezillon" , "Mason Yang" , "Ramuthevar Vadivel Murugan" , "Stefan Agner" , "Lucas Stach" , "Thierry Reding" , "Jonathan Hunter" , "Dmitry Osipenko" , "Matthias Brugger" , "AngeloGioacchino Del Regno" , "Jorge Ramirez-Ortiz" , "Heiko Stuebner" , "Yifeng Zhao" , "Nicolas Ferre" , "Alexandre Belloni" , "Claudiu Beznea" , "Keguang Zhang" , "Jacky Huang" , "Shan-Chun Hung" , "Frank Li" , "Sascha Hauer" , "Pengutronix Kernel Team" , "Fabio Estevam" , "Han Xu" , "Liang Yang" , "Neil Armstrong" , "Kevin Hilman" , "Jerome Brunet" , "Martin Blumenstingl" , "Manivannan Sadhasivam" , "Kamal Dasu" , "Broadcom internal kernel review list" , "Vladimir Zapolskiy" , "Piotr Wojtaszczyk" , "Paul Cercueil" , "Harvey Hunt" , "Maxim Levitsky" , "Michael Walle" , "Srinivas Kandagatla" Cc: "Tze Yee Ng" , linux-mtd@lists.infradead.org, linux-sunxi@lists.linux.dev, imx@lists.linux.dev, linux-amlogic@lists.infradead.org, Frank.Li@kernel.org, wsa+renesas@sang-engineering.com In-Reply-To: <20261107-submit-rawnand-retained-handle-lifetime-v1-v1-55-0181ef0cc4c8@gmail.com> References: <20261107-submit-rawnand-retained-handle-lifetime-v1-v1-0-0181ef0cc4c8@gmail.com> <20261107-submit-rawnand-retained-handle-lifetime-v1-v1-55-0181ef0cc4c8@gmail.com> Date: Sat, 07 Nov 2026 20:59:45 +0000 X-BeenThere: linux-amlogic@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: sashiko-reviews@lists.linux.dev X-Archived-By: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-amlogic" X-Spam-Status: No, score=-8.9 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=4.0.1 X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on aws-us-west-2-korg-listserv-alma10-1 VGhhbmsgeW91IGZvciB5b3VyIGNvbnRyaWJ1dGlvbiEgU2FzaGlrbyBBSSByZXZpZXcgZm91bmQg MSBwb3RlbnRpYWwKaXNzdWUgdG8gY29uc2lkZXI6Ci0gW01lZGl1bV0gbXRkOiByYXduYW5kOiBy ODUyOiByODUyX2lycSgpIG1pc2hhbmRsZXMgY2FyZCBJUlFzIHdoZW4KICByZW1vdmluZyBpcyBz ZXQKSXQgYWxzbyBub3RpY2VkIDEgcmVsYXRlZCBwcmUtZXhpc3RpbmcgaXNzdWUgdGhpcyBwYXRj aCBkb2VzIG5vdAppbnRyb2R1Y2U6Ci0gW0hpZ2hdIG10ZDogcmF3bmFuZDogcjg1Mjogd29yayBy ZS1xdWV1ZSByYWNlIGNvbmRpdGlvbiBpbgogIHI4NTJfc2h1dGRvd24oKSBbMV0KLS0KCmNvbW1p dCA4NWMwNWNiZTRhZmUyOTdkNmY3ZTJhNTcxZjkzNmRkMmRjOTE1YzYxCkF1dGhvcjogSmFtZXMg SGlsbGlhcmQgPGphbWVzLmhpbGxpYXJkMUBnbWFpbC5jb20+CgptdGQ6IHJhd25hbmQ6IHI4NTI6 IHJldGFpbiBjaGlwIHN0YXRlIGFjcm9zcyByZW1vdmFsCgpUaGlzIGNvbW1pdCBhbGxvY2F0ZXMg YSBzZXBhcmF0ZSBuYW5kX2NoaXAgcGVyIGNhcmQgaW5zZXJ0aW9uLCB0aWVzIGNoaXAgYW5kCmNv bnRyb2xsZXIgbGlmZXRpbWVzIHRvIE1URCByZWxlYXNlIGNhbGxiYWNrcywgYW5kIHN0b3BzIGNh cmQtZGV0ZWN0aW9uIHdvcmsKc2NoZWR1bGluZyBpbiByODUyX2lycSgpIGR1cmluZyBQQ0kgcmVt b3ZhbC4KCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbXRkL25hbmQvcmF3L3I4NTIuYyBiL2RyaXZl cnMvbXRkL25hbmQvcmF3L3I4NTIuYwo+IGluZGV4IDkyYzQ3ZDM1MWMyNzguLjBmYjMyMGNkN2I3 NzEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9tdGQvbmFuZC9yYXcvcjg1Mi5jCj4gKysrIGIvZHJp dmVycy9tdGQvbmFuZC9yYXcvcjg1Mi5jClsgLi4uIF0KPiBAQCAtNzM0LDcgKzc3Myw4IEBAIHN0 YXRpYyBpcnFyZXR1cm5fdCByODUyX2lycShpbnQgaXJxLCB2b2lkICpkYXRhKQo+ICAJY2FyZF9z dGF0dXMgPSByODUyX3JlYWRfcmVnKGRldiwgUjg1Ml9DQVJEX0lSUV9TVEEpOwo+ICAJcjg1Ml93 cml0ZV9yZWcoZGV2LCBSODUyX0NBUkRfSVJRX1NUQSwgY2FyZF9zdGF0dXMpOwo+ICAKPiAtCWlm IChjYXJkX3N0YXR1cyAmIChSODUyX0NBUkRfSVJRX0lOU0VSVHxSODUyX0NBUkRfSVJRX1JFTU9W RSkpIHsKPiArCWlmICghZGV2LT5yZW1vdmluZyAmJgo+ICsJICAgIChjYXJkX3N0YXR1cyAmIChS ODUyX0NBUkRfSVJRX0lOU0VSVCB8IFI4NTJfQ0FSRF9JUlFfUkVNT1ZFKSkpIHsKPiAgCj4gIAkJ cmV0ID0gSVJRX0hBTkRMRUQ7Cj4gIAkJZGV2LT5jYXJkX2RldGVjdGVkID0gISEoY2FyZF9zdGF0 dXMgJiBSODUyX0NBUkRfSVJRX0lOU0VSVCk7CgpbU2V2ZXJpdHk6IE1lZGl1bV0KRG9lcyBjaGVj a2luZyAhZGV2LT5yZW1vdmluZyBvbiB0aGUgb3V0ZXIgY29uZGl0aW9uIGNhdXNlIHI4NTJfaXJx KCkgdG8KbWlzaGFuZGxlIGNhcmQgaW50ZXJydXB0cyB0aGF0IGZpcmUgZHVyaW5nIHI4NTJfcmVt b3ZlKCk/CgpIYXJkd2FyZSBpbnRlcnJ1cHRzIHJlbWFpbiBlbmFibGVkIHdoaWxlIHI4NTJfcmVt b3ZlKCkgY2FuY2VscyB0aGUgd29ya3F1ZXVlCmFuZCBydW5zIHI4NTJfdW5yZWdpc3Rlcl9uYW5k X2RldmljZSgpLiAgSWYgYSBjYXJkIGluc2VydCBvciByZW1vdmUgaW50ZXJydXB0CmFycml2ZXMg YWZ0ZXIgZGV2LT5yZW1vdmluZyBpcyBzZXQsIHI4NTJfaXJxKCkgY2xlYXJzIFI4NTJfQ0FSRF9J UlFfU1RBIGluCmhhcmR3YXJlIGJ1dCBza2lwcyB0aGUgaGFuZGxlciBibG9jaywgcmV0dXJuaW5n IElSUV9OT05FIG9uIGEgc2hhcmVkIElSUSBsaW5lCmFuZCBmYWlsaW5nIHRvIHNldCBkZXYtPmNh cmRfdW5zdGFibGUgb3IgY2FsbCByODUyX2Rpc2FibGVfaXJxcygpIHRvIGFib3J0CmluLWZsaWdo dCBJL08uICBTaG91bGQgZGV2LT5yZW1vdmluZyBvbmx5IGd1YXJkIHF1ZXVlX2RlbGF5ZWRfd29y aygpPwoKWyAuLi4gXQo+IEBAIC05NzYsNiArMTAwMywxMSBAQCBzdGF0aWMgaW50ICByODUyX3By b2JlKHN0cnVjdCBwY2lfZGV2ICpwY2lfZGV2LCBjb25zdCBzdHJ1Y3QgcGNpX2RldmljZV9pZCAq aWQpCj4gIHN0YXRpYyB2b2lkIHI4NTJfcmVtb3ZlKHN0cnVjdCBwY2lfZGV2ICpwY2lfZGV2KQo+ ICB7Cj4gIAlzdHJ1Y3Qgcjg1Ml9kZXZpY2UgKmRldiA9IHBjaV9nZXRfZHJ2ZGF0YShwY2lfZGV2 KTsKPiArCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Cj4gKwo+ICsJc3Bpbl9sb2NrX2lycXNhdmUoJmRl di0+aXJxbG9jaywgZmxhZ3MpOwo+ICsJZGV2LT5yZW1vdmluZyA9IHRydWU7Cj4gKwlzcGluX3Vu bG9ja19pcnFyZXN0b3JlKCZkZXYtPmlycWxvY2ssIGZsYWdzKTsKPiAgCj4gIAkvKiBTdG9wIGRl dGVjdCB3b3JrcXVldWUgLQo+ICAJCXdlIGFyZSBnb2luZyB0byB1bnJlZ2lzdGVyIHRoZSBkZXZp Y2UgYW55d2F5Ki8KCltTZXZlcml0eTogSGlnaF0KVGhpcyBwcm9ibGVtIHdhc24ndCBpbnRyb2R1 Y2VkIGJ5IHRoaXMgcGF0Y2gsIGJ1dCBjYW4gcjg1Ml9pcnEoKSByZS1xdWV1ZQpkZXYtPmNhcmRf ZGV0ZWN0X3dvcmsgZHVyaW5nIHI4NTJfc2h1dGRvd24oKSBhbmQgcjg1Ml9zdXNwZW5kKCkgWzFd PwoKQm90aCBmdW5jdGlvbnMgY2FsbCBjYW5jZWxfZGVsYXllZF93b3JrX3N5bmMoKSBiZWZvcmUg cjg1Ml9kaXNhYmxlX2lycXMoKQp3aXRob3V0IHNldHRpbmcgZGV2LT5yZW1vdmluZzoKCmRyaXZl cnMvbXRkL25hbmQvcmF3L3I4NTIuYzpyODUyX3NodXRkb3duKCkgewoJc3RydWN0IHI4NTJfZGV2 aWNlICpkZXYgPSBwY2lfZ2V0X2RydmRhdGEocGNpX2Rldik7CgoJY2FuY2VsX2RlbGF5ZWRfd29y a19zeW5jKCZkZXYtPmNhcmRfZGV0ZWN0X3dvcmspOwoJcjg1Ml9kaXNhYmxlX2lycXMoZGV2KTsK CXN5bmNocm9uaXplX2lycShkZXYtPmlycSk7CglwY2lfZGlzYWJsZV9kZXZpY2UocGNpX2Rldik7 Cn0KCkFuIGludGVycnVwdCBhcnJpdmluZyBiZXR3ZWVuIGNhbmNlbF9kZWxheWVkX3dvcmtfc3lu YygpIGFuZApyODUyX2Rpc2FibGVfaXJxcygpIGNhbiByZS1xdWV1ZSBjYXJkX2RldGVjdF93b3Jr OgoKQ1BVMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENQVTEKcjg1Ml9zaHV0ZG93bigp CiAgY2FuY2VsX2RlbGF5ZWRfd29ya19zeW5jKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHI4NTJfaXJxKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcXVl dWVfZGVsYXllZF93b3JrKCkKICByODUyX2Rpc2FibGVfaXJxcygpCiAgc3luY2hyb25pemVfaXJx KCkKICBwY2lfZGlzYWJsZV9kZXZpY2UoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgcjg1Ml9jYXJkX2RldGVjdF93b3JrKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgcjg1Ml9yZWFkX3JlZygpICA8LS0gTU1JTyBhZnRlciBkaXNhYmxlCgpXaGVuIHRoZSBk ZWxheWVkIHdvcmsgcnVucyBhZnRlciBwY2lfZGlzYWJsZV9kZXZpY2UoKSwgaXQgYWNjZXNzZXMg ZGlzYWJsZWQKUENJIE1NSU8gc3BhY2UuCgpbMV0gaHR0cHM6Ly9zYXNoaWtvLmRldi8jL2J1Zy9s aW51eC1jZTI4Y2EyYi0xYmYxLTRkMjctOGJjZC1hMGVjMTRiOTkyODEKCi0tIApTYXNoaWtvIEFJ IHJldmlldyDCtyBodHRwczovL3Nhc2hpa28uZGV2LyMvcGF0Y2hzZXQvMjAyNjExMDctc3VibWl0 LXJhd25hbmQtcmV0YWluZWQtaGFuZGxlLWxpZmV0aW1lLXYxLXYxLTAtMDE4MWVmMGNjNGM4QGdt YWlsLmNvbT9wYXJ0PTU1CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpsaW51eC1hbWxvZ2ljIG1haWxpbmcgbGlzdApsaW51eC1hbWxvZ2ljQGxpc3RzLmlu ZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9s aW51eC1hbWxvZ2ljCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CDD0B606A326 for ; Sat, 7 Nov 2026 20:59:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.a=rsa-sha256 header.s=bombadil.20210309 header.b=mpyrn7Kf; dkim=fail reason="signature verification failed" (2048-bit key) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256 header.s=k20260515 header.b=DH7Yk5Kv 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:MIME-Version:Reply-To:List-Subscribe: List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:Date:References: In-Reply-To:Cc:To:Subject:From:Message-ID:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Unsubscribe-Post:List-Owner; bh=AhpVSspO/Ol7VTjHkdL+dhlCgDct+qa3lqlYBVwNqSY=; b=mpyrn7KfyTTRLMlguu8XX0Nyel DUIQ/f944dCkt7wn63M8sbAEdVRpPJxZynz8nyOLz/AhR2znBpS3htvZIE0WSkuxSNCz5pPH7dXRX Me3vaf9wCwRA6shuX8ZMZlA2No2q3cZyGDB21OZZsc3WubclLVG3g6MHc783U++EJpXgWKWFZSmu4 WNaf7rjrSA0NE+55husL9Bd0rjv+vVufTxZR986E4cdE62s27LcmIyzRwphCTK1u49hiWFIfpeTiD 4VOPpvpkikzSq7X5vACZG0TSZSD8IqFd054iBIt7RUItWMdi5CrACDht+G7VJYEakBxrEU2Z9wp6s FEskVQbg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.100.1 #2 (Red Hat Linux)) id 1xPnVv-0000000FPuD-2f9l; Sat, 07 Nov 2026 20:59:51 +0000 Received: from tor.source.kernel.org ([172.105.4.254]) by bombadil.infradead.org with esmtps (Exim 4.100.1 #2 (Red Hat Linux)) id 1xPnVu-0000000FPtq-16Eo; Sat, 07 Nov 2026 20:59:50 +0000 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by tor.source.kernel.org (Postfix) with ESMTP id 2F13061201; Sat, 7 Nov 2026 20:59:49 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 36ED51F008A7; Sat, 7 Nov 2026 20:59:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1794085188; bh=PThdQtpTeh/RmsXeafa5AkNFktPLGhBm7MYbB3f3O1g=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=DH7Yk5KvqaIsiO4Z+fB6WNNP1XnBSphUmIj8KBP0Q4jTYm6g/VBvbeNrbK7vdWU5D QbBtKx+vDKko1hC6Y9gDFOK7kt3ICwl/NhFPgfnBhvPF8o74K0PDNi8+SHrIJEEt89 hKWXPwEqPLVQ6kxX90IHiJPyOHI9OgMcsL7+kDFVx8vRKrTsEjdf5wlJa/6W6up1II 491L3DgUzuhD+GhgMXO3eWxkbt5mj0K1DB2igvc4Sh9r1rUIG7qiNrUBusoPSPURXy i6e4hcIBTHi2tTiPQTAB0MRMgvY6Z871gPn3/5kHmZwTBBhNjmOB0cBNSff6qovcxu wGSh9grqk9wLQ== Message-ID: From: sashiko-bot@kernel.org Subject: Re: [PATCH 55/58] mtd: rawnand: r852: retain chip state across removal To: "James Hilliard" , "Miquel Raynal" , "Richard Weinberger" , "Vignesh Raghavendra" , "Brian Norris" , "Boris Brezillon" , "Arseniy Krasnov" , "Chen-Yu Tsai" , "Jernej Skrabec" , "Samuel Holland" , "Thomas Gleixner" , "Vitaly Wool" , "David Woodhouse" , "Russell King" , "David Woodhouse" , "Mike Rapoport" , "Maxime Coquelin" , "Alexandre Torgue" , "Christophe Kerello" , "Jason Roberts" , "Michal Simek" , "Boris Brezillon" , "Mason Yang" , "Ramuthevar Vadivel Murugan" , "Stefan Agner" , "Lucas Stach" , "Thierry Reding" , "Jonathan Hunter" , "Dmitry Osipenko" , "Matthias Brugger" , "AngeloGioacchino Del Regno" , "Jorge Ramirez-Ortiz" , "Heiko Stuebner" , "Yifeng Zhao" , "Nicolas Ferre" , "Alexandre Belloni" , "Claudiu Beznea" , "Keguang Zhang" , "Jacky Huang" , "Shan-Chun Hung" , "Frank Li" , "Sascha Hauer" , "Pengutronix Kernel Team" , "Fabio Estevam" , "Han Xu" , "Liang Yang" , "Neil Armstrong" , "Kevin Hilman" , "Jerome Brunet" , "Martin Blumenstingl" , "Manivannan Sadhasivam" , "Kamal Dasu" , "Broadcom internal kernel review list" , "Vladimir Zapolskiy" , "Piotr Wojtaszczyk" , "Paul Cercueil" , "Harvey Hunt" , "Maxim Levitsky" , "Michael Walle" , "Srinivas Kandagatla" Cc: "Tze Yee Ng" , linux-mtd@lists.infradead.org, linux-sunxi@lists.linux.dev, imx@lists.linux.dev, linux-amlogic@lists.infradead.org, Frank.Li@kernel.org, wsa+renesas@sang-engineering.com In-Reply-To: <20261107-submit-rawnand-retained-handle-lifetime-v1-v1-55-0181ef0cc4c8@gmail.com> References: <20261107-submit-rawnand-retained-handle-lifetime-v1-v1-0-0181ef0cc4c8@gmail.com> <20261107-submit-rawnand-retained-handle-lifetime-v1-v1-55-0181ef0cc4c8@gmail.com> Date: Sat, 07 Nov 2026 20:59:45 +0000 X-BeenThere: linux-mtd@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux MTD discussion mailing list List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: sashiko-reviews@lists.linux.dev X-Archived-By: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-mtd" X-Spam-Status: No, score=-8.9 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=4.0.1 X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on aws-us-west-2-korg-listserv-alma10-1 VGhhbmsgeW91IGZvciB5b3VyIGNvbnRyaWJ1dGlvbiEgU2FzaGlrbyBBSSByZXZpZXcgZm91bmQg MSBwb3RlbnRpYWwKaXNzdWUgdG8gY29uc2lkZXI6Ci0gW01lZGl1bV0gbXRkOiByYXduYW5kOiBy ODUyOiByODUyX2lycSgpIG1pc2hhbmRsZXMgY2FyZCBJUlFzIHdoZW4KICByZW1vdmluZyBpcyBz ZXQKSXQgYWxzbyBub3RpY2VkIDEgcmVsYXRlZCBwcmUtZXhpc3RpbmcgaXNzdWUgdGhpcyBwYXRj aCBkb2VzIG5vdAppbnRyb2R1Y2U6Ci0gW0hpZ2hdIG10ZDogcmF3bmFuZDogcjg1Mjogd29yayBy ZS1xdWV1ZSByYWNlIGNvbmRpdGlvbiBpbgogIHI4NTJfc2h1dGRvd24oKSBbMV0KLS0KCmNvbW1p dCA4NWMwNWNiZTRhZmUyOTdkNmY3ZTJhNTcxZjkzNmRkMmRjOTE1YzYxCkF1dGhvcjogSmFtZXMg SGlsbGlhcmQgPGphbWVzLmhpbGxpYXJkMUBnbWFpbC5jb20+CgptdGQ6IHJhd25hbmQ6IHI4NTI6 IHJldGFpbiBjaGlwIHN0YXRlIGFjcm9zcyByZW1vdmFsCgpUaGlzIGNvbW1pdCBhbGxvY2F0ZXMg YSBzZXBhcmF0ZSBuYW5kX2NoaXAgcGVyIGNhcmQgaW5zZXJ0aW9uLCB0aWVzIGNoaXAgYW5kCmNv bnRyb2xsZXIgbGlmZXRpbWVzIHRvIE1URCByZWxlYXNlIGNhbGxiYWNrcywgYW5kIHN0b3BzIGNh cmQtZGV0ZWN0aW9uIHdvcmsKc2NoZWR1bGluZyBpbiByODUyX2lycSgpIGR1cmluZyBQQ0kgcmVt b3ZhbC4KCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbXRkL25hbmQvcmF3L3I4NTIuYyBiL2RyaXZl cnMvbXRkL25hbmQvcmF3L3I4NTIuYwo+IGluZGV4IDkyYzQ3ZDM1MWMyNzguLjBmYjMyMGNkN2I3 NzEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9tdGQvbmFuZC9yYXcvcjg1Mi5jCj4gKysrIGIvZHJp dmVycy9tdGQvbmFuZC9yYXcvcjg1Mi5jClsgLi4uIF0KPiBAQCAtNzM0LDcgKzc3Myw4IEBAIHN0 YXRpYyBpcnFyZXR1cm5fdCByODUyX2lycShpbnQgaXJxLCB2b2lkICpkYXRhKQo+ICAJY2FyZF9z dGF0dXMgPSByODUyX3JlYWRfcmVnKGRldiwgUjg1Ml9DQVJEX0lSUV9TVEEpOwo+ICAJcjg1Ml93 cml0ZV9yZWcoZGV2LCBSODUyX0NBUkRfSVJRX1NUQSwgY2FyZF9zdGF0dXMpOwo+ICAKPiAtCWlm IChjYXJkX3N0YXR1cyAmIChSODUyX0NBUkRfSVJRX0lOU0VSVHxSODUyX0NBUkRfSVJRX1JFTU9W RSkpIHsKPiArCWlmICghZGV2LT5yZW1vdmluZyAmJgo+ICsJICAgIChjYXJkX3N0YXR1cyAmIChS ODUyX0NBUkRfSVJRX0lOU0VSVCB8IFI4NTJfQ0FSRF9JUlFfUkVNT1ZFKSkpIHsKPiAgCj4gIAkJ cmV0ID0gSVJRX0hBTkRMRUQ7Cj4gIAkJZGV2LT5jYXJkX2RldGVjdGVkID0gISEoY2FyZF9zdGF0 dXMgJiBSODUyX0NBUkRfSVJRX0lOU0VSVCk7CgpbU2V2ZXJpdHk6IE1lZGl1bV0KRG9lcyBjaGVj a2luZyAhZGV2LT5yZW1vdmluZyBvbiB0aGUgb3V0ZXIgY29uZGl0aW9uIGNhdXNlIHI4NTJfaXJx KCkgdG8KbWlzaGFuZGxlIGNhcmQgaW50ZXJydXB0cyB0aGF0IGZpcmUgZHVyaW5nIHI4NTJfcmVt b3ZlKCk/CgpIYXJkd2FyZSBpbnRlcnJ1cHRzIHJlbWFpbiBlbmFibGVkIHdoaWxlIHI4NTJfcmVt b3ZlKCkgY2FuY2VscyB0aGUgd29ya3F1ZXVlCmFuZCBydW5zIHI4NTJfdW5yZWdpc3Rlcl9uYW5k X2RldmljZSgpLiAgSWYgYSBjYXJkIGluc2VydCBvciByZW1vdmUgaW50ZXJydXB0CmFycml2ZXMg YWZ0ZXIgZGV2LT5yZW1vdmluZyBpcyBzZXQsIHI4NTJfaXJxKCkgY2xlYXJzIFI4NTJfQ0FSRF9J UlFfU1RBIGluCmhhcmR3YXJlIGJ1dCBza2lwcyB0aGUgaGFuZGxlciBibG9jaywgcmV0dXJuaW5n IElSUV9OT05FIG9uIGEgc2hhcmVkIElSUSBsaW5lCmFuZCBmYWlsaW5nIHRvIHNldCBkZXYtPmNh cmRfdW5zdGFibGUgb3IgY2FsbCByODUyX2Rpc2FibGVfaXJxcygpIHRvIGFib3J0CmluLWZsaWdo dCBJL08uICBTaG91bGQgZGV2LT5yZW1vdmluZyBvbmx5IGd1YXJkIHF1ZXVlX2RlbGF5ZWRfd29y aygpPwoKWyAuLi4gXQo+IEBAIC05NzYsNiArMTAwMywxMSBAQCBzdGF0aWMgaW50ICByODUyX3By b2JlKHN0cnVjdCBwY2lfZGV2ICpwY2lfZGV2LCBjb25zdCBzdHJ1Y3QgcGNpX2RldmljZV9pZCAq aWQpCj4gIHN0YXRpYyB2b2lkIHI4NTJfcmVtb3ZlKHN0cnVjdCBwY2lfZGV2ICpwY2lfZGV2KQo+ ICB7Cj4gIAlzdHJ1Y3Qgcjg1Ml9kZXZpY2UgKmRldiA9IHBjaV9nZXRfZHJ2ZGF0YShwY2lfZGV2 KTsKPiArCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Cj4gKwo+ICsJc3Bpbl9sb2NrX2lycXNhdmUoJmRl di0+aXJxbG9jaywgZmxhZ3MpOwo+ICsJZGV2LT5yZW1vdmluZyA9IHRydWU7Cj4gKwlzcGluX3Vu bG9ja19pcnFyZXN0b3JlKCZkZXYtPmlycWxvY2ssIGZsYWdzKTsKPiAgCj4gIAkvKiBTdG9wIGRl dGVjdCB3b3JrcXVldWUgLQo+ICAJCXdlIGFyZSBnb2luZyB0byB1bnJlZ2lzdGVyIHRoZSBkZXZp Y2UgYW55d2F5Ki8KCltTZXZlcml0eTogSGlnaF0KVGhpcyBwcm9ibGVtIHdhc24ndCBpbnRyb2R1 Y2VkIGJ5IHRoaXMgcGF0Y2gsIGJ1dCBjYW4gcjg1Ml9pcnEoKSByZS1xdWV1ZQpkZXYtPmNhcmRf ZGV0ZWN0X3dvcmsgZHVyaW5nIHI4NTJfc2h1dGRvd24oKSBhbmQgcjg1Ml9zdXNwZW5kKCkgWzFd PwoKQm90aCBmdW5jdGlvbnMgY2FsbCBjYW5jZWxfZGVsYXllZF93b3JrX3N5bmMoKSBiZWZvcmUg cjg1Ml9kaXNhYmxlX2lycXMoKQp3aXRob3V0IHNldHRpbmcgZGV2LT5yZW1vdmluZzoKCmRyaXZl cnMvbXRkL25hbmQvcmF3L3I4NTIuYzpyODUyX3NodXRkb3duKCkgewoJc3RydWN0IHI4NTJfZGV2 aWNlICpkZXYgPSBwY2lfZ2V0X2RydmRhdGEocGNpX2Rldik7CgoJY2FuY2VsX2RlbGF5ZWRfd29y a19zeW5jKCZkZXYtPmNhcmRfZGV0ZWN0X3dvcmspOwoJcjg1Ml9kaXNhYmxlX2lycXMoZGV2KTsK CXN5bmNocm9uaXplX2lycShkZXYtPmlycSk7CglwY2lfZGlzYWJsZV9kZXZpY2UocGNpX2Rldik7 Cn0KCkFuIGludGVycnVwdCBhcnJpdmluZyBiZXR3ZWVuIGNhbmNlbF9kZWxheWVkX3dvcmtfc3lu YygpIGFuZApyODUyX2Rpc2FibGVfaXJxcygpIGNhbiByZS1xdWV1ZSBjYXJkX2RldGVjdF93b3Jr OgoKQ1BVMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENQVTEKcjg1Ml9zaHV0ZG93bigp CiAgY2FuY2VsX2RlbGF5ZWRfd29ya19zeW5jKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHI4NTJfaXJxKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcXVl dWVfZGVsYXllZF93b3JrKCkKICByODUyX2Rpc2FibGVfaXJxcygpCiAgc3luY2hyb25pemVfaXJx KCkKICBwY2lfZGlzYWJsZV9kZXZpY2UoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgcjg1Ml9jYXJkX2RldGVjdF93b3JrKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgcjg1Ml9yZWFkX3JlZygpICA8LS0gTU1JTyBhZnRlciBkaXNhYmxlCgpXaGVuIHRoZSBk ZWxheWVkIHdvcmsgcnVucyBhZnRlciBwY2lfZGlzYWJsZV9kZXZpY2UoKSwgaXQgYWNjZXNzZXMg ZGlzYWJsZWQKUENJIE1NSU8gc3BhY2UuCgpbMV0gaHR0cHM6Ly9zYXNoaWtvLmRldi8jL2J1Zy9s aW51eC1jZTI4Y2EyYi0xYmYxLTRkMjctOGJjZC1hMGVjMTRiOTkyODEKCi0tIApTYXNoaWtvIEFJ IHJldmlldyDCtyBodHRwczovL3Nhc2hpa28uZGV2LyMvcGF0Y2hzZXQvMjAyNjExMDctc3VibWl0 LXJhd25hbmQtcmV0YWluZWQtaGFuZGxlLWxpZmV0aW1lLXYxLXYxLTAtMDE4MWVmMGNjNGM4QGdt YWlsLmNvbT9wYXJ0PTU1CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KTGludXggTVREIGRpc2N1c3Npb24gbWFpbGluZyBsaXN0Cmh0dHA6Ly9s aXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtbXRkLwo=