Commit 0056bf1e authored by Alexander Viro's avatar Alexander Viro Committed by Linus Torvalds

[PATCH] pointer-to-int done the canonical way

	Extraction of int from pointer is slightly broken in several places.
parent 64ed7893
...@@ -198,7 +198,7 @@ static int idt77105_ioctl(struct atm_dev *dev,unsigned int cmd,void __user *arg) ...@@ -198,7 +198,7 @@ static int idt77105_ioctl(struct atm_dev *dev,unsigned int cmd,void __user *arg)
case IDT77105_GETSTAT: case IDT77105_GETSTAT:
return fetch_stats(dev, arg, cmd == IDT77105_GETSTATZ); return fetch_stats(dev, arg, cmd == IDT77105_GETSTATZ);
case ATM_SETLOOP: case ATM_SETLOOP:
return set_loopback(dev,(int) (long) arg); return set_loopback(dev,(int)(unsigned long) arg);
case ATM_GETLOOP: case ATM_GETLOOP:
return put_user(PRIV(dev)->loop_mode,(int __user *)arg) ? return put_user(PRIV(dev)->loop_mode,(int __user *)arg) ?
-EFAULT : 0; -EFAULT : 0;
......
...@@ -196,7 +196,7 @@ static int suni_ioctl(struct atm_dev *dev,unsigned int cmd,void __user *arg) ...@@ -196,7 +196,7 @@ static int suni_ioctl(struct atm_dev *dev,unsigned int cmd,void __user *arg)
case SONET_GETFRSENSE: case SONET_GETFRSENSE:
return -EINVAL; return -EINVAL;
case ATM_SETLOOP: case ATM_SETLOOP:
return set_loopback(dev,(int) (long) arg); return set_loopback(dev,(int)(unsigned long)arg);
case ATM_GETLOOP: case ATM_GETLOOP:
return put_user(PRIV(dev)->loop_mode,(int __user *)arg) ? return put_user(PRIV(dev)->loop_mode,(int __user *)arg) ?
-EFAULT : 0; -EFAULT : 0;
......
...@@ -140,14 +140,14 @@ static int uPD98402_ioctl(struct atm_dev *dev,unsigned int cmd,void __user *arg) ...@@ -140,14 +140,14 @@ static int uPD98402_ioctl(struct atm_dev *dev,unsigned int cmd,void __user *arg)
case SONET_GETSTAT: case SONET_GETSTAT:
return fetch_stats(dev,arg, cmd == SONET_GETSTATZ); return fetch_stats(dev,arg, cmd == SONET_GETSTATZ);
case SONET_SETFRAMING: case SONET_SETFRAMING:
return set_framing(dev,(int) (long) arg); return set_framing(dev, (int)(unsigned long)arg);
case SONET_GETFRAMING: case SONET_GETFRAMING:
return put_user(PRIV(dev)->framing,(int __user *)arg) ? return put_user(PRIV(dev)->framing,(int __user *)arg) ?
-EFAULT : 0; -EFAULT : 0;
case SONET_GETFRSENSE: case SONET_GETFRSENSE:
return get_sense(dev,arg); return get_sense(dev,arg);
case ATM_SETLOOP: case ATM_SETLOOP:
return set_loopback(dev,(int) (long) arg); return set_loopback(dev, (int)(unsigned long)arg);
case ATM_GETLOOP: case ATM_GETLOOP:
return put_user(PRIV(dev)->loop_mode,(int __user *)arg) ? return put_user(PRIV(dev)->loop_mode,(int __user *)arg) ?
-EFAULT : 0; -EFAULT : 0;
......
...@@ -704,7 +704,7 @@ asmlinkage long sys_futex(u32 __user *uaddr, int op, int val, ...@@ -704,7 +704,7 @@ asmlinkage long sys_futex(u32 __user *uaddr, int op, int val,
* requeue parameter in 'utime' if op == FUTEX_REQUEUE. * requeue parameter in 'utime' if op == FUTEX_REQUEUE.
*/ */
if (op >= FUTEX_REQUEUE) if (op >= FUTEX_REQUEUE)
val2 = (int) (long) utime; val2 = (int) (unsigned long) utime;
return do_futex((unsigned long)uaddr, op, val, timeout, return do_futex((unsigned long)uaddr, op, val, timeout,
(unsigned long)uaddr2, val2, val3); (unsigned long)uaddr2, val2, val3);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment