Re: BUG: unable to handle kernel NULL pointer dereference at000000000000000e (reset_prng_context)

From: Alexey Dobriyan
Date: Tue Jul 15 2008 - 18:39:38 EST


On Tue, Jul 15, 2008 at 03:11:10PM -0700, Andrew Morton wrote:
> On Wed, 16 Jul 2008 01:49:30 +0400
> Alexey Dobriyan <adobriyan@xxxxxxxxx> wrote:
>
> > On Tue, Jul 15, 2008 at 01:44:07PM -0700, David Miller wrote:
> > > From: Ingo Molnar <mingo@xxxxxxx>
> > >
> > > > i have just triggered this crash too. Please, when you know about bootup
> > > > crashes in your code send a patch to the lkml thread so that people can
> > > > apply it and have a working system.
> > > >
> > > > Note that the new crypto/prng.c driver has very bad quality:
> > > >
> > > > total: 45 errors, 21 warnings, 1 checks, 410 lines checked
> > > >
> > > > It has tons of completely unacceptable code mistakes in it.
> > >
> > > I think we should merge new drivers as aggressively as possible.
> >
> > Well, I don't have strong opinion about this exact statement, but
> >
> > Ingo, COULD YOU PLEASE PERSONALLY FUCKING STOP THIS
> > CHECKPATCH.PL-AS-INDICATOR HORSESHIT !
>
> Well I wouldn't put it that way but sure, there is no clear correlation.
>
> Except that such a high density of coding-style errors is an indication
> that the code was not closely and critically reviewed by an experienced
> kernel developer.

So it's all about entrance? Looking at archives, I wouldn't say so.

> > Every damn single warning in this case is about whitespace or 80 column limit.
> >
> > Every damn single one!
> >
> > The hacker of your calibre should know the difference between whitespace-bad code
> > and bug-ridden-bad code.
> >
> >
> > What are those unacceptable mistakes?
> >
> > Don't read the code again, what are those mistakes?
> >
>
> Sleeping inside spinlock?

Haven't found that place, but checkpatch.pl neither.

> > I _very_ briefly looked at prng.c and place I find wrong it passing
> > "int nbytes" to get_prng_bytes(). It should be unsigned at least.
> >
> > checkpatch.pl says about this? Suuuure, it does...
>
> If we're going to merge code which has zillions of trivially-detectable
> coding-style errors and which hasn't been runtime tested with very
> mainstream kernel debug options enabled and which afacit hasn't been
> reviewed then we have no standards at all.

No excuse for no runtime testing. No arguments about it.

But stamping code bad because it writes all loops as "for (i=0;i<N;i++)"
is unexplainble when person making such statements can rewrite OS
scheduler every weekend.

--
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/