[yocto] Naive Questsions about 3rd Party Kernel Module

Lennart Sorensen lsorense at csclub.uwaterloo.ca
Mon Sep 12 09:48:04 PDT 2016


On Mon, Sep 12, 2016 at 01:41:24PM -0300, Daniel. wrote:
> If you don't make your driver GPL you can't access GPL symbols. This
> *may* be the reason behind the "Unknown symbols"
> Regards,

Well at least for __stack_chk_fail the kernel has:

#ifdef CONFIG_CC_STACKPROTECTOR

/*
 * Called when gcc's -fstack-protector feature is used, and
 * gcc detects corruption of the on-stack canary value
 */
__visible void __stack_chk_fail(void)
{
        panic("stack-protector: Kernel stack is corrupted in: %p\n",
                __builtin_return_address(0));
}
EXPORT_SYMBOL(__stack_chk_fail);

#endif

So as long as the kernel is configured with CC_STACKPROTECTOR, it should
exist, and it is not GPL only.

So at least as long as the kernel module is built by the same kernel
build files as the kernel was with the same config and the same compiler,
it should work.  If someone tries to manually build the kernel module
instead of using the kernel build scripts to do it, then they are asking
for trouble.

-- 
Len Sorensen



More information about the yocto mailing list