We are cross-building a loadable kernel driver for a PowerPC (e500v2 P2020 CPU) platform on WindRiver 22.214.171.124 Standard Version ( Kernel Version 126.96.36.199-WR4-3.0.0_Std ). The Kernel source version is WR188.8.131.52_standard ( Kernel version 184.108.40.206-grsec-WR220.127.116.11_standard).
When we build a loadable kernel module under WRL 4.3, the resulting .ko file has a reference to a function
called check_object_size Our .config file shows grsecurity and pax as disabled, and we removed localversion-grsec from linux build directory, so we don't know how this symbol is being pulled in. This problem is preventing us from loading the module (with modprobe
or insmod) on our PowerPC target board, which has WRL 18.104.22.168 and no grsecurity patch -- we get an undefined symbol error.
The root question is which function is calling check_object_size function() ?
-- Thanks! Regards, Sarvani Chadalapaka HPC Systems Engineer Signalogic Inc.
You may check the kernel file linux-VERSION/arch/powerpc/include/asm/uaccess.h, the copy*user function is patched with check_object_size function. In your kernel module file, you may have copy*user functions which may be the root function. See details from: http://pax.grsecurity.net/pax-linux-22.214.171.124-201210022100.patch, search check_object_size
By the way, I would suggest you to contact your Wind River supporting team in order to get the prompt response. It is a Wind River linux kernel specific question for PPC. You may get fast response from Wind River supporting team.