"Invalid module format" after recompiling kernel without changing .config - why?

From: kovlensky
Date: Fri Sep 12 2008 - 06:24:53 EST

Summary for impatient ones - how to extract struct_module data from both kernel and modules to find out what disagreement described below is really about?

Long story - I've got few machines with closed-source modules and urgent need for cutting few things out of stock kernel. As Suse, like every vendor, provides source for their kernel (rpms kernel-source- and kernel-smp- respectively) everything looks simple - installing fresh machine with no updates (SLES10 GA in my case), grabbing .config from /proc/config.gz and make bzImage with no single change should bring me the kernel with is compatible with the shipped one. But it isn't. No single module works after that. Here is what I get after my try:

fat: disagrees about version of symbol struct_module

uname -a is exactly the same. modinfo data are exactly the same. .config is exactly the same. Gcc major version is also the same. But modules from stick kernel still does not load when running recompiled kernel and, after forcing that, they simply crash, so that's not cosmetic complain. So what's going on? Am I missing something here? Is there a way to extract mode data from kernel and modules to check what is this disagreement about struct_module about?

Drogowa Mapa Polski GPS w Twoim telefonie!
Pobierz >> http://link.interia.pl/f1f0a

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/