Re: loading version nonsensitive module into version sensitive

Riley Williams (rhw@MemAlpha.CX)
Thu, 27 May 1999 17:56:23 +0100 (GMT)


Hi Rolf.

> We have a driver which (unfortunately) is not open source.

> We deliver this driver in binary format (as an rpm) to
> customers. Customers sometimes add patches or use newer kernels
> than what we compiled with. With versioning (which is default on
> and *mostly* a good thing in my opinion) symbol names change and
> our driver module does not load. We do not wish to tell our
> customers to disable versioning. Is there any way of getting
> around this?

One option would be to provide a separate open-source module that can
be compiled as part of the kernel, and whose only task is to call the
non-versioned routines in your module. The said module would then set
itself up to depend on the binary-only module.

Probably a more realistic option would be to split your binary module
into an open source header routine and a binary only module that the
header routine calls, with the latter containing all the proprietary
stuff.

> Our only option at this time seems to be demangling the ksyms
> and our module symbols, match them and replace the module symbol
> references with the new ones in ksyms (using libbfd or some
> such). Not an ideal solution...

> What is the "correct" way of doing it? Even with open source
> kernel external modules one would like to be able to avoid
> recompiling them after doing a minor change in the kernel
> configuration??

> Enlighten me, but please be gentle ;-)

I'm no kernel expert, so the above is just my personal thoughts...

Best wishes from Riley.

+----------------------------------------------------------------------+
| There is something frustrating about the quality and speed of Linux |
| development, ie., the quality is too high and the speed is too high, |
| in other words, I can implement this XXXX feature, but I bet someone |
| else has already done so and is just about to release their patch. |
+----------------------------------------------------------------------+
* ftp://ftp.MemAlpha.cx/pub/rhw/Linux
* http://www.MemAlpha.cx/kernel.versions.html

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