in my 64 bit kernel, I have a custom kernel module providing new protocol and providing socket system calls.
it works fine when 64 bit app runs.
i am seeing issues when 32 bit app runs (for exp recvmsg() call does not work if msg has cmsghdrs as struct size of cmsghdr is different in 32 bit and 64 bit).
This is because my custom kernel module does not have 32 bit compatibility layer ( but linux kernel has this in compat.c etc).
is it simple to add compatibility layer to my custom kernel module
All you have to do is add compat_ioctl call to your driver.
how do i do this (any links ?)
You can see many drivers supports compat call.
Thanks