Re: dev_ifname32() fails on 32->64bit calls in copy_in_user().

2007-10-31 Thread Eric W. Biederman
Benjamin Herrenschmidt <[EMAIL PROTECTED]> writes: > Bug is in the new dev_ifname32: > > uifr = compat_alloc_user_space(sizeof(struct ifreq)); > if (copy_in_user(uifr, compat_ptr(arg), sizeof(struct ifreq32))); > return -EFAULT; > > There's a stray ";" after the if statem

Re: dev_ifname32() fails on 32->64bit calls in copy_in_user().

2007-10-30 Thread David Miller
From: Benjamin Herrenschmidt <[EMAIL PROTECTED]> Date: Wed, 31 Oct 2007 13:35:24 +1100 > [PATCH] Fix new dev_ifname32 returning -EFAULT > > A stray semicolon slipped in the patch that updated dev_ifname32 to > not be inline, causing it to always return -EFAULT. This fixes it. > > Signed-off-by:

Re: dev_ifname32() fails on 32->64bit calls in copy_in_user().

2007-10-30 Thread Benjamin Herrenschmidt
Bug is in the new dev_ifname32: uifr = compat_alloc_user_space(sizeof(struct ifreq)); if (copy_in_user(uifr, compat_ptr(arg), sizeof(struct ifreq32))); return -EFAULT; There's a stray ";" after the if statement, that was obviously not tested :-) This fixes it here

Re: dev_ifname32() fails on 32->64bit calls in copy_in_user().

2007-10-30 Thread Arnd Bergmann
On Wednesday 31 October 2007, Joel Becker wrote: > > Instrumenting the kernel with printks, the EFAULT comes from > the first copy_in_user() at line 325 of fs/compat_ioctl.c (in > dev_ifname32()).  I put some access_ok() checks in, and they do not > trigger (access is ok).  The call never

Re: dev_ifname32() fails on 32->64bit calls in copy_in_user().

2007-10-30 Thread Benjamin Herrenschmidt
On Tue, 2007-10-30 at 17:38 -0700, Joel Becker wrote: > Hello folks, > I've been using a nice program on ppc32 with a ppc64 > system+kernel. It uses netlink to determine some network interface > information. Recent kernels cause it to exit at the netlink stage. At > first, I thought it wa