Re: 2.6.37-rc7: Regression: b43: crashes in hwrng_register()

Michael Büsch
2010-12-31T02:26:59Z

On Thu, 2010-12-30 at 21:45 +0100, Mario 'BitKoenig' Holbe wrote:
> On Thu, Dec 30, 2010 at 12:37:21PM -0600, Larry Finger wrote:
> > The head of the rng_list is damaged. It is initialized at compile time and
> > should be OK. To help discover the order in which hwrng_register() is called,
> > apply the attached patch. Run it once with commit 84c164a34ffe67908a installed,
> > and once with it reverted.
>
> All right, 3 dmesg excerpts attached...
> 2.6.37-rc7-vanilla.dmesg:
> 2.6.37-rc7 vanilla (i.e. with 84c164a34ffe67908a), crashing
> via-rng is registered first, b43-rng second
> 2.6.37-rc7-without.dmesg:
> 2.6.37-rc7 with 84c164a34ffe67908a reverted, not crashing
> b43-rng is registered first, via-rng second
> 2.6.37-rc7-without+modprobe.dmesg:
> 2.6.37-rc7 with 84c164a34ffe67908a reverted, b43 blacklisted and
> manually modprobed after via-rng, crashing
> via-rng is registered first, b43-rng second
>
> Seems like the crash shows up when b43-rng is registered second, but not
> when via-rng is registered second.
> Btw.: `cat rng_available' does also not crash when via-rng is registered
> second.

I suspect that there is some "hw_random.h" header version mixup is going
on here. The layout of struct hwrng was changed recently.

Your crash seems to happen on the list head embedded in struct hwrng.

Please make sure that your build environment is clean and you're not
using any external stuff such as compat-wireless. All of hwrng-core,
rng-via and b43 must be compiled against the same hw_random.h.

--
Greetings Michael.