Re: [PATCH 4/4] KBUILD: export-symbol usage report generator

From: Christoph Hellwig
Date: Thu May 11 2006 - 10:04:26 EST


On Thu, May 11, 2006 at 01:43:27PM +0200, Andi Kleen wrote:
> linuxram@xxxxxxxxxx (Ram Pai) writes:
>
> > From: Ram Pai <linuxram@xxxxxxxxxx>
> >
> > The following patch provides the ability to generate a report of
> > (1) All the exported symbols and their in-kernel-module usage count
> > (2) For each module, lists the modules and their exported symbols, on
> > which it depends.
>
> Very nice.
>
> One thing I always wanted to see was a more focussed EXPORT_SYMBOL.
>
> A lot of symbols are only exported for a single other module (e.g. most
> of the networking exports are for IPv6) but are actually internal
> and shouldn't be messed with by other modules. It would be nice
> if name spaces could be defined that say "this export is only for
> modules in this name space" and then e.g. have IPv6 be in the TCPINTERNALS
> name space and nobody else.
>
> I think adding something like this could clean up the bewildering
> jungle of exports greatly.
>
> _GPL is kind of like that already, but it is not fine grained enough.

I'd go even further and say every symbol should have a category. These
catgories than could get labels such as mostly stable, public but volatile
or internal (the latter is what's oddly named _GPL) now. That way a small
look at a driver can say if it's doing something wrong, e.g. if a network
driver imports symbols from anything but BASE, PCI and NETDEV something
is most likely wrong.
-
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/