Re: [Bug Report] Depmod is failing on allmodconfig for arm64 and x86_64
From: Daniel Machon
Date: Tue Dec 03 2024 - 07:51:45 EST
Hi Calvin, Muhammad,
Thanks for reporting this.
Took me a while to reproduce, turned out i needed a newer version of kmod in
order to get the error print.
> On Tuesday 11/26 at 18:25 +0500, Muhammad Usama Anjum wrote:
> > Hi,
> >
> > The depmod is failing on 9f16d5e6f2206 (mainline) arm64 and x86_64 because of:
> > ```
> > depmod: ERROR: Cycle detected: libphy
> >
> > depmod: ERROR: Cycle detected: lan969x_switch -> sparx5_switch -> lan969x_switch
> > depmod: ERROR: Cycle detected: ptp
> > depmod: ERROR: Cycle detected: stp
> > depmod: ERROR: Cycle detected: ipv6
> > depmod: ERROR: Cycle detected: bridge
> > depmod: ERROR: Found 2 modules in dependency cycles!
> > make[2]: *** [scripts/Makefile.modinst:132: depmod] Error 1
> > make[1]: *** [/tmp/kci/linux/Makefile:1844: modules_install] Error 2
> > make: *** [Makefile:224: __sub-make] Error 2
> > ```
> >
> > This issue wasn't present until c66fbc6c3df9.
>
> I set up a bisect script to run overnight, it landed here:
>
> 98a01119608d21e0ed95a544071beabb353240ed is the first bad commit
> commit 98a01119608d21e0ed95a544071beabb353240ed
> Author: Daniel Machon <daniel.machon@xxxxxxxxxxxxx>
> AuthorDate: Thu Oct 24 00:01:33 2024 +0200
> Commit: Jakub Kicinski <kuba@xxxxxxxxxx>
> CommitDate: Wed Oct 30 18:08:06 2024 -0700
>
> net: sparx5: add compatible string for lan969x
>
> Add lan9691-switch compatible string to mchp_sparx5_match. Guard it with
> IS_ENABLED(CONFIG_LAN969X_SWITCH) to make sure Sparx5 can be compiled on
> its own.
>
> Reviewed-by: Steen Hegelund <Steen.Hegelund@xxxxxxxxxxxxx>
> Signed-off-by: Daniel Machon <daniel.machon@xxxxxxxxxxxxx>
> Link: https://patch.msgid.link/20241024-sparx5-lan969x-switch-driver-2-v2-14-a0b5fae88a0f@xxxxxxxxxxxxx
> Signed-off-by: Jakub Kicinski <kuba@xxxxxxxxxx>
>
> drivers/net/ethernet/microchip/sparx5/sparx5_main.c | 5 +++++
> 1 file changed, 5 insertions(+)
> bisect found first bad commit
>
> Thanks,
> Calvin
So we have two modules: sparx5-switch.ko and lan969x-switch.ko. They both
require symbols from each other, so the error makes sense. I think the
solution here is to just ditch the lan969x-switch.ko module alltogether and
compile the support into the sparx5-switch.ko module.
/Daniel