What determines compatibility of module_layout?

From: Johan Gill
Date: Sun Apr 22 2012 - 05:17:51 EST


I am trying to build a kernel module for a kernel for which I don't
have the source code (and let's currently ignore the license violation
the provider is doing).

In order to understand better how to make this module fit into the
kernel, I would need to know what determines compatibility of the
module_layout symbol.

>From the standard sources, I've managed to understand that the layout
of struct module, struct modversion_info, struct kernel_param, struct
kernel_symbol and struct tracepoint is important.

As I have access to /proc/config.gz, I made sure the config parameters
that affect these structures are set accordingly. I also use the same
gcc version, and name the kernel version the same way (2.6.34-VENUS).
That is however not enough, so in order to understand what is wrong, I
would need to know: In the standard kernel, is having the above
mentioned structures compatible enough for having compatible
module_layout symbols, and am I missing what structure compatiblity
really requires?

I use linux-mips to compile the module, but I believe these questions
should be general enough for this list.

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