What does the trace output on module load look like when you enable the module_get tracepoint (/sys/kernel/debug/tracing/events/module/module_get/)? Another thought: is it possible that the config with which the module(s) were compiled differs slightly from that of the running kernel (while controlling for kernel version)? That may potentially produce a differently sized module struct whose fields could have slightly different offsets..