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] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAGETcx-3AkOjmx+=vwiiYfDc8tGNnSa+MTyEeB92Xgou0zWKPA@mail.gmail.com>
Date:   Tue, 30 Aug 2022 00:18:21 -0700
From:   Saravana Kannan <saravanak@...gle.com>
To:     Rafał Miłecki <zajec5@...il.com>
Cc:     Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
        Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
        "Rafael J. Wysocki" <rafael@...nel.org>,
        "devicetree@...r.kernel.org" <devicetree@...r.kernel.org>,
        Ansuel Smith <ansuelsmth@...il.com>
Subject: Re: fw_devlink=on breaks probing devices when of_platform_populate()
 is used

On Sun, Aug 28, 2022 at 7:39 AM Rafał Miłecki <zajec5@...il.com> wrote:
>
> On 30.07.2022 09:36, Rafał Miłecki wrote:
> > On 16.07.2022 22:50, Rafał Miłecki wrote:
> >> I added of_platform_populate() calls in mtd subsystem in the commit
> >> bcdf0315a61a2 ("mtd: call of_platform_populate() for MTD partitions"):
> >> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=bcdf0315a61a29eb753a607d3a85a4032de72d94
> >>
> >> I recently backported that commit in OpenWrt to kernels 5.10 and 5.15.
> >> We started receiving reports that probing Ethernet devices stopped
> >> working in kernel 5.15. I bisected it down to the kernel 5.13 change:
> >>
> >> commit ea718c699055c8566eb64432388a04974c43b2ea (refs/bisect/bad)
> >> Author: Saravana Kannan <saravanak@...gle.com>
> >> Date:   Tue Mar 2 13:11:32 2021 -0800
> >>
> >>      Revert "Revert "driver core: Set fw_devlink=on by default""
> >>
> >>      This reverts commit 3e4c982f1ce75faf5314477b8da296d2d00919df.
> >>
> >>      Since all reported issues due to fw_devlink=on should be addressed by
> >>      this series, revert the revert. fw_devlink=on Take II.
> >>
> >>      Signed-off-by: Saravana Kannan <saravanak@...gle.com>
> >>      Link: https://lore.kernel.org/r/20210302211133.2244281-4-saravanak@google.com
> >>      Signed-off-by: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
> >>
> >> For me with above commit kernel just never calls bcm4908_enet_probe().
> >> Reverting it from the top of 5.13.19 and 5.15.50 fixes it. I believe the
> >> same issue happens with other drivers.
> >>
> >> Critical detail is that in DT Ethernet block node references NVMEM cell
> >> of MTD partition (see below).
> >>
> >> Could you help me dealing with this issue, please? Can you see something
> >> obvious breaking fw_devlink=on + of_platform_populate() case? Can I
> >> provide some extra information to help fixing it?
> >
> > Any ideas about this problem / solution?
>
> I didn't get any reponse for this bug for 6 weeks now. Is that OK if I
> send a revert patch then?

fw_devlink=on and of_platform_populate() have been working without any
problems for a while now. If your MTD change is causing an issue, why
not start debugging from there instead of suggesting reverting a
change that has been there before your change?

Most of us are busy getting stuff ready for LPC. So, things are going
to be a bit slow. I'm also working on other fw_devlink fixes. I can't
get to this quickly. So if you can debug this further and point out
where exactly it's getting caught up that'd help.

Enabling debug logs in drivers/base/core.c and drivers/base/dd.c might
make it easier for you to debug. Also, you can check the
<debugfs>/devices_deferred to tell why a device isn't getting probed
yet.

-Saravana

>
>
> >> Relevant DT part:
> >>
> >> partitions {
> >>      compatible = "fixed-partitions";
> >>      #address-cells = <1>;
> >>      #size-cells = <1>;
> >>
> >>      partition@0 {
> >>          compatible = "nvmem-cells";
> >>          reg = <0x0 0x100000>;
> >>          label = "bootloader";
> >>
> >>          #address-cells = <1>;
> >>          #size-cells = <1>;
> >>          ranges = <0 0x0 0x100000>;
> >>
> >>          base_mac_addr: mac@...a0 {
> >>              reg = <0x106a0 0x6>;
> >>          };
> >>      };
> >>
> >>      partition@...000 {
> >>          reg = <0x100000 0x5700000>;
> >>          label = "firmware";
> >>      };
> >> };
> >>
> >> ethernet@...0 {
> >>      compatible = "brcm,bcm4908-enet";
> >>      reg = <0x2000 0x1000>;
> >>
> >>      interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>,
> >>              <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
> >>      interrupt-names = "rx", "tx";
> >>
> >>      nvmem-cells = <&base_mac_addr>;
> >>      nvmem-cell-names = "mac-address";
> >> };
> >>
> >> OpenWrt bug report:
> >> https://github.com/openwrt/openwrt/issues/10232
>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ