0
votes

I was using linux 3.14 where we had many kernel modules loaded and working fine. I applied some official patches fixing some vulnerabilities, to my existing kernel, after that the previous loadable module is failing to load.

I am getting kernel exception and going to KGDB, without any error message on the console.

logs:

bash# /sbin/insmod -f [module file]

[ 1028.720605] KGDB: Waiting for remote debugger

STACK DUMP

[  158.670810]  [<ffffffffb8c6e7ed>] dump_stack+0x45/0x56
[  158.732379]  [<ffffffffb88ae189>] kgdb_handle_exception+0x3f/0x4d
[  158.805404]  [<ffffffffb882c164>] __kgdb_notify+0xda/0xeb
[  158.870089]  [<ffffffffb882c198>] kgdb_notify+0x23/0x44
[  158.932695]  [<ffffffffb8c76073>] notifier_call_chain+0x39/0x5c
[  159.003632]  [<ffffffffb8c760b8>] atomic_notifier_call_chain+0x13/0x15
[  159.081862]  [<ffffffffb8c760f3>] notify_die+0x39/0x40
[  159.143426]  [<ffffffffb8802c14>] do_invalid_op+0x6e/0xdb
[  159.208114]  [<ffffffffb8808254>] ? apply_alternatives+0x7d/0x455
[  159.281136]  [<ffffffffb88ed937>] ? zone_statistics+0x71/0x78
[  159.349991]  [<ffffffffb8a25f97>] ? trace_hardirqs_off_thunk+0x3a/0x6c
[  159.428221]  [<ffffffffb8c73130>] ? irq_return+0xa/0xa
[  159.489781]  [<ffffffffb8c7af65>] invalid_op+0x15/0x20
[  159.551345]  [<ffffffffb8808254>] ? apply_alternatives+0x7d/0x455
[  159.624371]  [<ffffffffb889340d>] ? each_symbol_section.part.10+0x17e/0x1ba
[  159.707811]  [<ffffffffb8892243>] ? cmp_name+0xd/0xf
[  159.767290]  [<ffffffffb8a2941a>] ? bsearch+0x4b/0x7b
[  159.827812]  [<ffffffffb8892236>] ? unregister_module_notifier+0x15/0x15
[  159.908124]  [<ffffffffb889239b>] ? find_symbol_in_section+0x36/0xdc
[  159.984270]  [<ffffffffb8892365>] ? mod_find_symname+0x60/0x60
[  160.054167]  [<ffffffffb889346a>] ? each_symbol_section+0x21/0x44
[  160.127188]  [<ffffffffb8a263fc>] ? sort+0x113/0x1aa
[  160.186669]  [<ffffffffb882b860>] module_finalize+0xb8/0xf9
[  160.253441]  [<ffffffffb8894e55>] load_module+0x1335/0x1ca2
[  160.320212]  [<ffffffffb8892c6a>] ? copy_module_from_fd+0x9c/0xfc
[  160.393237]  [<ffffffffb88b5269>] ? rb_commit+0x7e/0x85
[  160.455847]  [<ffffffffb88958b8>] SyS_finit_module+0x59/0x66
[  160.523664]  [<ffffffffb88958b8>] ? SyS_finit_module+0x59/0x66
[  160.593562]  [<ffffffffb8c7b6c8>] ia32_do_call+0x1f/0x1f

Thanks in advance,

1
load_module plus immediate module_finalize suggests that the module's initialization function have return an error. But without viewing the code we can only guess... [That means, you need to add your code into the question for make it answerable. It is a rule of Stack Overflow.]Tsyvarev

1 Answers

0
votes

Issue was because there was new fields added in some data structure, and those .h files were not used to rebuild the old klm's.

Rebuilding the KLM's with new .h files fixed the issue.