Re: [PATCH] 2.4.0-test6 netfilter and aic7xxx issues

From: Rusty Russell (rusty@linuxcare.com.au)
Date: Fri Aug 11 2000 - 07:48:57 EST


In message <Pine.LNX.4.21.0008102005370.9885-100000@wr5z.localdomain> you write
:
> On Thu, 10 Aug 2000, Bob_Tracy wrote:
>
> > 2.4.0-test6 has various multiply-exported symbols associated with
> > the netfilter code. Patch not included, because the intent of the
> > authors isn't clear, i.e., are we trying to move the EXPORT_SYMBOL()
> > calls into or out of netsyms.c? The fix is straightforward enough
>
> Rusty and Linus both endorse having the EXPORT_SYMBOL calls in the
> netfilter files rather than netsyms.c. Rusty has a patch which
> implements this and works. I imagine it will appear in the next
> pre-patch.

To explain, since this issue has caused much talk already.

Most of the network code is non-modular: this means that it's
convenient and easy to have all the symbols exported in one place.

The netfilter code is modular, and some of those modules export
symbols. This means that those files *must* export the symbols
themselves when they are modular. I didn't appreciate this before,
and hence my screwy patch to pre5 which caused the problem (I'm
travelling at the moment, so I use User Mode Linux to test, which has
its own features 8).

It would be possible to do in net/netsyms.c:
        #ifdef CONFIG_IP_NF_CONNTRACK
        EXPORT_SYMBOL(...);
        #endif

And then in the file itself:
        #ifdef MODULE
        EXPORT_SYMBOL(...);
        #endif

But that is horribly redundant; simply EXPORT_SYMBOL all the time in
the file itself (and make sure it's listed in *X_OBJS in the Makefile,
so it gets magic'ed by the build system).

Hope that clarifies,
Rusty.

--
Hacking time.

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



This archive was generated by hypermail 2b29 : Tue Aug 15 2000 - 21:00:24 EST