Re: [crash] af9005_usb_module_init(): BUG: unable to handle kernelpaging request at ff100000

From: Luca Olivetti
Date: Wed Feb 04 2009 - 10:49:59 EST


En/na Daniel Walker ha escrit:

Doesn't symbol_request return a NULL in such a case?
At the time I didn't try the above configuration (CONFIG_DVB_USB_AF9005_REMOTE=n), but removed the compiled dvb-usb-af9005-remote.ko, and all was well (i.e. the symbol_request returned NULL and the remote handling was disabled).

I'm not sure what symbol request returns when CONFIG_MODULES=n .. Since
it basically drops symbol_request() into a macro ,

Take the following with a grain of salt, since I'm not well versed in C (and I'm not interested) but it seems that the macro, if CONFIG_MODULES=n, transforms it into a weak symbol reference

and you have externs
for all these functions

No, I havent: the source file isn't compiled, so those symbols are unavailable to the linker.
The only reference I could find (well, I haven't searched that much) on the expected behaviour of the linker when a weak attribute is not found is this:

http://software.intel.com/en-us/articles/software-convention-models-using-elf-visibility-attributes/

"# STB_WEAK. A weak symbol behaves as does a global symbol, with a few differences. If there are both a weak and a global definition of a name, the global definition takes precedence and any weak definitions are ignored. The Linker will not extract archive members to resolve undefined weak symbols. It is not an error to have unresolved weak references; unresolved weak symbols have the value zero. "

So it should work without your patch.

Bye

--
Luca

--
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/