Re: [PATCH] syscall exports - against 2.4.14-pre3

Christoph Hellwig (hch@caldera.de)
Tue, 30 Oct 2001 11:37:31 +0100


On Tue, Oct 30, 2001 at 10:12:50AM +0000, Mike Jagdis wrote:
> Christoph Hellwig wrote:
> > Hi Linus,
> >
> > once again the syscall export patch - back to EXPORT_SYMBOL
> > vs EXPORT_SYMBOL_GPL due to some complaints, more syscalls
> > as I dropped sys_call_table abuse in linux-abi.
>
> The whole *point* of the sys_call_table "abuse" was to avoid having
> the whole damn lot in the export list!

It is not only ugly over belief but also unportable.

For example the mips port does not have a sys_call_table array at all,
on IA64 funktion pointer do _NOT_ fit into an unsigned long so at least
the prototype is wrong if it works at all.

> As a side effect it meant that any module that patched the
> sys_call_table (funky tracers, security hot-fixes, whatever)
> would work seamlessly with non-Linux binaries.

This is not only racy (no locking!) but also a loophole for binary
modules to do all kinds of crap (see http://www.sysinternals.com/linux/
utilities/filemon.shtml for details). In early 2.5 I will submit a patch
to remove the export, let's see wether it will be accepted.

>
> > Could you _please_ apply it - it is badly needed for foreign
> > personalities compiled as modules.
>
> I can't see why? iBCS always was a module for years before
> linux-abi dumped it back in a humungous kernel patch.

"Because we did it all the time it's right".

Of course it worked - that doesn't mean it's a good idea.
Arjan might want to comment on how gcc 2.96+ liked the old concept..

Christoph

-- 
Of course it doesn't work. We've performed a software upgrade.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/