[PATCH] missing copy_*_user checks in sbni wan driver

From: davej
Date: Mon Aug 11 2003 - 11:21:00 EST


diff -urpN --exclude-from=/home/davej/.exclude bk-linus/drivers/net/wan/sbni.c linux-2.5/drivers/net/wan/sbni.c
--- bk-linus/drivers/net/wan/sbni.c 2003-06-11 10:23:01.000000000 +0100
+++ linux-2.5/drivers/net/wan/sbni.c 2003-07-13 06:04:35.000000000 +0100
@@ -1287,8 +1287,9 @@ sbni_ioctl( struct net_device *dev, st
error = verify_area( VERIFY_WRITE, ifr->ifr_data,
sizeof(struct sbni_in_stats) );
if( !error )
- copy_to_user( ifr->ifr_data, &nl->in_stats,
- sizeof(struct sbni_in_stats) );
+ if (copy_to_user( ifr->ifr_data, &nl->in_stats,
+ sizeof(struct sbni_in_stats) ))
+ return -EFAULT;
break;

case SIOCDEVRESINSTATS :
@@ -1307,7 +1308,8 @@ sbni_ioctl( struct net_device *dev, st
error = verify_area( VERIFY_WRITE, ifr->ifr_data,
sizeof flags );
if( !error )
- copy_to_user( ifr->ifr_data, &flags, sizeof flags );
+ if (copy_to_user( ifr->ifr_data, &flags, sizeof flags ))
+ return -EFAULT;
break;

case SIOCDEVSHWSTATE :
@@ -1339,7 +1341,8 @@ sbni_ioctl( struct net_device *dev, st
sizeof slave_name )) != 0 )
return error;

- copy_from_user( slave_name, ifr->ifr_data, sizeof slave_name );
+ if (copy_from_user( slave_name, ifr->ifr_data, sizeof slave_name ))
+ return -EFAULT;
slave_dev = dev_get_by_name( slave_name );
if( !slave_dev || !(slave_dev->flags & IFF_UP) ) {
printk( KERN_ERR "%s: trying to enslave non-active "
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/