On Tue, Mar 19, 2013 at 11:56:44PM -0700, Kumar amit mehta wrote: > On Tue, Mar 19, 2013 at 09:43:11PM +0700, Mulyadi Santosa wrote: > > Hi ... > > > > On Tue, Mar 19, 2013 at 12:28 PM, Kumar amit mehta <gmate.amit@xxxxxxxxx> wrote: > > > grep for copy_from_user_overflow gives me this: > > > > > > amit@ubuntu:~/linux-next/linux-next$ grep -ri copy_from_user_overflow * > > > arch/s390/include/asm/uaccess.h:extern void copy_from_user_overflow(void) > > > arch/s390/include/asm/uaccess.h: copy_from_user_overflow(); > > > arch/tile/include/asm/uaccess.h:extern void copy_from_user_overflow(void) > > > arch/tile/include/asm/uaccess.h: copy_from_user_overflow(); > > > arch/parisc/include/asm/uaccess.h:extern void copy_from_user_overflow(void) > > > arch/parisc/include/asm/uaccess.h: copy_from_user_overflow(); > > > arch/x86/include/asm/uaccess_32.h:extern void copy_from_user_overflow(void) > > > arch/x86/include/asm/uaccess_32.h: copy_from_user_overflow(); > > > drivers/vfio/pci/vfio_pci_config.c: * with count of 1/2/4 and hits > > > copy_from_user_overflow without this. > > > lib/usercopy.c:void copy_from_user_overflow(void) > > > > > > IMHO, I think uaccess_32.h is what you need here. > > > > I draw that conclusion after checking this line: > > http://lxr.linux.no/#linux+v3.8.3/arch/x86/include/asm/uaccess_32.h#L194 > > > > I might be wrong, so feel free to test first > > > Actually the above header file is supposed to get included, based on the > architecture only. > > <snip from arch/x86/include/asm/uaccess.h> > #ifdef CONFIG_X86_32 > # include <asm/uaccess_32.h> > #else > # include <asm/uaccess_64.h> > #endif > <snip from arch/x86/include/asm/uaccess.h> > > <snip from .config> > amit@ubuntu:~/linux-next/linux-next$ grep -w CONFIG_X86_32 .config > CONFIG_X86_32=y > <snip from .config> > > CPU arch on my machine: > amit@ubuntu:~/linux-next/linux-next$ uname -m > i686 > > Based on this observation, I think, I do not need to include the uaccess_32.h > in any of those files. > I forgot that 'uname -m' will return me the kernel version and _not_ the CPU architecture. The CPU on my machine seem to be 64 bit (/proc/cpuinfo|grep flags shows 'lm'). So my understanding is that I've a 32 bit kernel running on a 64 bit machine. _______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies