Re: [2.5] [Cool stuff] "checking" mode for kernel builds

From: Carl-Daniel Hailfinger (c-d.hailfinger.kernel.2003@gmx.net)
Date: Mon May 26 2003 - 20:30:12 EST


[Linus: Sorry that your e-mail to me bounced. Was a provider screwup,
should be fixed now.]
[CC:ed kerneljanitors, who might be interested using it.
CC:ed Dan Carpenter, who mantains a set of tools similar to sparse, but
as a gcc patch at http://kbugs.org ]

Linus Torvalds wrote:
> Well, I guess I can just tell people about it. It's unfinished enough that
> I'm a bit embarrassed about some of it, but I've gotten the permission
> from Transmeta to make it open source, and it's actually been available
> for some time on "bk://kernel.bkbits.net/torvalds/sparse". I just didn't
> tell about it in public (although a few people have known about it).
>
> Be gentle with it. It does many things wrong, including (but limited
> to) enums, but it does a lot of things right too.

Playing with it right now.

> The biggest problem (apart from the things it does wrong) is that some
> parts of the kenel re-use the same structure to hold both user- and kernel
> pointers. That's a big no-no for the static semantic parser, since it's
> literally a _static_ type-checker, and doesn't know about dynamic
> differences.
>
> The main offender is the networking layer that sometimes keeps user
> pointers and sometimes kernel pointers in a "struct iovec". David has
> promised to look into this, and seemed confident that he can fix it
> easily.
>
> Most people who have used the tool actually like how it forces you to make
> it very _explicit_ whether you're using a user pointer or not. But I have
> to admit that I've grown tired of trying to look at all the uses and
> making sure which sparse warnings are valid and which aren't.

Dan? IIRC you have tools to tackle this issue in a distributed manner.


Regards,
Carl-Daniel

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