lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <TY2PR01MB3692AB237DE409457E0E9A07D8600@TY2PR01MB3692.jpnprd01.prod.outlook.com>
Date:   Mon, 13 Jul 2020 10:08:42 +0000
From:   Yoshihiro Shimoda <yoshihiro.shimoda.uh@...esas.com>
To:     Vinod Koul <vkoul@...nel.org>
CC:     "kishon@...com" <kishon@...com>,
        "wsa+renesas@...g-engineering.com" <wsa+renesas@...g-engineering.com>,
        "geert+renesas@...der.be" <geert+renesas@...der.be>,
        "linux-renesas-soc@...r.kernel.org" 
        <linux-renesas-soc@...r.kernel.org>,
        "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: RE: [PATCH] phy: renesas: rcar-gen3-usb2: fix SError happen if
 DEBUG_SHIRQ is enabled

Hi Vinod,

> From: Vinod Koul, Sent: Monday, July 13, 2020 2:17 PM
> 
> Hi Yoshihiro,
> 
> On 09-07-20, 19:36, Yoshihiro Shimoda wrote:
> > If CONFIG_DEBUG_SHIRQ was enabled, r8a77951-salvator-xs could boot
> > correctly. If we appended "earlycon keep_bootcon" to the kernel
> > command like, we could get kernel log like below.
> >
> >     SError Interrupt on CPU0, code 0xbf000002 -- SError
> >     CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.8.0-rc3-salvator-x-00505-g6c843129e6faaf01 #785
> >     Hardware name: Renesas Salvator-X 2nd version board based on r8a77951 (DT)
> >     pstate: 60400085 (nZCv daIf +PAN -UAO BTYPE=--)
> >     pc : rcar_gen3_phy_usb2_irq+0x14/0x54
> >     lr : free_irq+0xf4/0x27c
> >
> > This means free_irq() calls the interrupt handler while PM runtime
> > is not getting if DEBUG_SHIRQ is enabled and rcar_gen3_phy_usb2_probe()
> > failed. To fix the issue, add a condition into the interrupt
> > handler to avoid register access if any phys are not initialized.
> >
> > Note that rcar_gen3_is_any_rphy_initialized() was introduced on v5.2.
> > So, if we backports this patch to v5.1 or less, we need to make
> > other way.
> 
> Should we really check phy is initialized? I think the issue here is
> that you register irq first, so your handler can be invoked. Right fix
> for this would be to move the irq registration to later in the probe
> when we are ready to handle interrupts

Thank you for your review! I think we need to check whether phy is initialized
even if the irq registration moves to rcar_gen3_phy_usb2_init() because the current
driver will have multiple phy instances. However, moving the irq registration can be
easy to backport than this patch, I think. So, I'll modify this patch as you suggested.

Best regards,
Yoshihiro Shiomda

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ