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: <1757257.sNEdEUkno9@jernej-laptop>
Date:   Fri, 17 Sep 2021 06:32:45 +0200
From:   Jernej Škrabec <jernej.skrabec@...il.com>
To:     Saravana Kannan <saravanak@...gle.com>
Cc:     linux-sunxi@...ts.linux.dev,
        Android Kernel Team <kernel-team@...roid.com>,
        linux-kernel@...r.kernel.org, Maxime Ripard <maxime@...no.tech>
Subject: Re: Issue with fw_devlink=on on 5.14

/cc Maxime

Dne petek, 17. september 2021 ob 04:55:22 CEST je Saravana Kannan napisal(a):
> On Wed, Sep 15, 2021 at 11:59 AM Jernej Škrabec
> 
> <jernej.skrabec@...il.com> wrote:
> > /cc linux-kernel@...r.kernel.org
> > 
> > Dne sreda, 15. september 2021 ob 20:36:11 CEST je Saravana Kannan 
napisal(a):
> > > On Wed, Sep 15, 2021 at 11:23 AM Saravana Kannan <saravanak@...gle.com>
> > 
> > wrote:
> > > > On Wed, Sep 15, 2021 at 11:07 AM Jernej Škrabec
> > > > 
> > > > <jernej.skrabec@...il.com> wrote:
> > > > > Hi Saravana!
> > > > > 
> > > > > I noticed that in kernel 5.14, at least on Allwinner H3, deinterlace
> > 
> > driver
> > 
> > > > > doesn't load anymore if fw_devlink is set to on. If I set it to off,
> > 
> > driver
> > 
> > > > > loads and works without problems. If I remove interconnects property
> > > > > in
> > 
> > DT
> > 
> > > > > node and use driver hack instead, it also loads and work ok.
> > > > > 
> > > > > For reference, I speak about this node:
> > > > > https://elixir.bootlin.com/linux/v5.14/source/arch/arm/boot/dts/sun8
> > > > > i-h3.dtsi#L153> > 
> > > Oh the dts file please. Not dtsi. I need the full picture of
> > > dependencies.
> > 
> > I just dumped DTB from the board I use for testing this:
> > http://ix.io/3yZB
> 
> I was basically asking for this:
> arch/arm/boot/dts/sun8i-h3-orangepi-plus2e.dts
> 
> > > -Saravana
> > > 
> > > > > Do you have any clue why it doesn't work?
> > > > 
> > > > Kinda busy today and I'll take a close look later, but if you delete
> > > > "interconnect" but it works, then it seems like you have no driver for
> > > > your "mbus" interconnect? Is that expected?
> > 
> > Ah, you're completely right. There is no MBUS driver (yet), since current
> > purpose of that node is to determine DMA memory offsets and for that you
> > don't need a driver.
> 
> Can you explain more how you get the DMA memory offsets in the code
> from this node?

Maxime, can you help with this?

> 
> You might be able to add status="disabled" to the mbus node and this
> would go away as fw_devlink doesn't cause a consumer to wait on a
> disabled supplier. See more below -- you have a bunch of options.
> 
> > There is already WIP driver for it, though:
> > https://github.com/crust-firmware/linux/commit/
> > db34316a0194dbf0fcb8eba677ef11085a06a340
> > 
> > > > If you have a driver, then make it use the proper driver model (probe
> > > > a platform device).
> > > > 
> > > > If you don't have a driver for it, I'm assuming you have
> > > > CONFIG_MODULES enabled. Otherwise, fw_devlink=on is smart enough to
> > > > know not to block on devices that'll never be probed.
> > 
> > Correct, modules are enabled.
> > 
> > > > If you do need CONFIG_MODULES enabled, then use
> > > > deferred_probe_timeout=xxx so that fw_devlink doesn't wait for more
> > > > modules to be loaded past xxx seconds.
> > 
> > It's not what I want, but more that we broke default configuration and
> > CONFIG_MODULES=y should really work.
> 
> Well, fw_devlink=on can't tell if you don't have a driver or if you
> are going to load it soon (since you have CONFIG_MODULES enabled). So
> if it's a board you are actively bringing up, one of the other options
> below might be good to use.
> 
> > Is there any other way to fix this besides
> > providing dummy MBUS driver? I doubt it would be accepted for backporting.
> 
> You could use fw_devlink=permissive in the kernel commandline, but it
> will disable a bunch of benefits of fw_devlink=on (no pointless
> deferred probes, no suspend/resume ordering based on dependencies
> listed in DT, etc).

I tried this one, but for some reason network driver didn't show up and there 
was crash when doing reboot. Even if it would work, I don't consider it as 
proper solution because... (see below)

> 
> Another option would be to use deferred_probe_timeout=1 in the kernel
> commandline, and this will cause this to be unblocked 1 second after
> late_initcall() and you'll get the benefit of fw_devlink=on for all
> the devices that have a driver registered by then (and some more
> devices too -- see commit text of
> d46f3e3ed5276e756caf40f760d4902d15c12dcb).

That would probably work (can't test atm), but as I said, I want solution 
without adding any argument. Users are not familiar with any of this. From 
their perspective, it looks like as the driver (not just this one, but also 
others which use interconnects) was never enabled in kernel config in first 
place.

So, if "status = disabled" works, then great. If not, something else must be 
found. 

Note: I won't be able to test anything until next week.

Best regards,
Jernej

> 
> -Saravana
> 
> > > > Also I like to look up emails on lore, so when emailing me about
> > > > fw_devlink (or any Linux stuff in general I suppose), it'd be nice if
> > > > you can cc LKML.
> > 
> > Noted.
> > 
> > Best regards,
> > Jernej
> > 
> > > > Thanks,
> > > > Saravana




Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ