[OpenAFS-devel] Solaris afs.rc file damage

Russ Allbery rra@stanford.edu
Thu, 19 Apr 2007 12:58:43 -0700


Dean Anderson <dean@av8.com> writes:
> On Tue, 17 Apr 2007, Russ Allbery wrote:

>> Uh, where did you get static linking from?  I don't remember ever
>> statically linking an AFS kernel module on Solaris.

> If solaris,linux,etc remove dynamic system calls, then one will have to
> statically link syscalls into the kernel, or use a dynamically loaded
> pseudo driver.

At least on Linux, building the module statically doesn't help.  Either
you can add things to the system call table, in which case you can do it
dynamically anyway, or you can't, in which case building the module static
doesn't help and the only thing you can do is patch the kernel source.

>> What are we even talking about at this point?  You're describing a
>> method of handling kernel interfaces that I don't recognize at all.

> Really? What did we do before there were dynamic modules?  I recall
> having to relink the kernel with vendor-provided objects back in the old
> days.

Yeah, but that doesn't get you a new system call table, at least on
Linux.  You'd need to replace portions of the kernel source, not just link
in your own objects.  My assumption is that Solaris, should they ever
disable dynamic addition of system calls, would work the same way.

I don't know if openafs will even build as a static module on Linux.

> I think you missed the future tense in my statement above.  What happens
> when Linux, etc removes dynamic system calls?

Then we have to stop using system calls completely unless we expect all
AFS clients on Linux to use modified kernels, and by modified I mean
actually changing the source of the kernel, not just linking in some
additional objects at build time.

-- 
Russ Allbery (rra@stanford.edu)             <http://www.eyrie.org/~eagle/>