How about building on the module symbol versioning Linux already has
-- CONFIG_MODVERSIONS: Each stable-series kernel could come with a
compatibility library. Binary modules compiled against previous
kernels would be linked against this library by the end-user, allowing
them to cleanly insmod into the new kernel.
CONFIG_MODVERSIONS should make this relatively easy: Any changes to a
exported kernel function causing a binary-compatibility problem will
change its mangled name, so the compatibility library just has to
provide a compatibility function with the old mangled name. This
solution wouldn't be a panacea (structure changes are more difficult
than simple function signature changes), but it would provide some
flexibility for the module interface of stable kernels to be changed
without breaking binary modules.
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to email@example.com
Please read the FAQ at http://www.tux.org/lkml/