Re: iwlwifi: kernel panic during boot due to module load order

From: Johannes Berg
Date: Sat Jun 09 2012 - 04:29:23 EST


On Thu, 2012-06-07 at 14:34 +0200, Sasha Levin wrote:
> Hi all,
>
> Commit cc5f7e397 ("iwlwifi: implement dynamic opmode loading") causes a
> kernel panic during boot in the following scenario:
>
> 1. All drivers are built-in.
> 2. Due to their build order, iwl_init gets called before iwl_drv_init.
> 3. iwl_init will call iwl_opmode_register which will iterate the new op
> list, and cause a NULL ptr deref when trying to list_for_each_entry the
> dev list, which won't be empty since it wasn't initialized (iwl_drv_init
> wasn't called yet).
>
> While it's possible to easily fix the actual deref, I suspect that the
> init function call order is wrong. I've looked at getting it right in
> the Makefile, but it seems to have specific ordering behind it, so I'd
> rather not try patching it myself.

Yeah, looks like we forgot about this part.

I think Don said he had a fix, my suggestion would be to try to just
reorder the dvm line in the iwlwifi/Makefile to the bottom of the
Makefile, or at least after obj-$(...) += iwlwifi.o.

johannes

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/