Please see inline below On Wed, Jan 4, 2017 at 11:07 AM, Anish Kumar <[email protected]> wrote:
> > > On Jan 3, 2017, at 8:04 PM, Pradeepa Kumar <[email protected]> wrote: > > Hi experts > > down votefavorite > <http://stackoverflow.com/questions/41455943/adding-32-bit-compatibility-layer-in-custom-kernel-module#> > > 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. > > my kernel module provides recvmsg() but i dont see any 'compat_recvmsg' in struct proto_ops. had there been 'compat_recvmsg' it would have been possible for me to define recvmsg() for 32 bit apps. please let me know if i am missing anything > - > > how do i do this (any links ?) > > > You can see many drivers supports compat call. > > Thanks > > _______________________________________________ > Kernelnewbies mailing list > [email protected] > https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies > >
_______________________________________________ Kernelnewbies mailing list [email protected] https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
