VServer 1.9.2 (patch-2.6.8.1-vs1.9.2.diff)
[linux-2.6.git] / drivers / net / eql.c
index 8165340..a53574b 100644 (file)
@@ -389,7 +389,7 @@ static inline int eql_is_full(slave_queue_t *queue)
 static int __eql_insert_slave(slave_queue_t *queue, slave_t *slave)
 {
        if (!eql_is_full(queue)) {
-               slave_t *duplicate_slave = 0;
+               slave_t *duplicate_slave = NULL;
 
                duplicate_slave = __eql_find_slave_dev(queue, slave->dev);
                if (duplicate_slave != 0)
@@ -495,8 +495,12 @@ static int eql_g_slave_cfg(struct net_device *dev, slave_config_t __user *scp)
                return -EFAULT;
 
        slave_dev = dev_get_by_name(sc.slave_name);
+       if (!slave_dev)
+               return -ENODEV;
 
        ret = -EINVAL;
+       if (!slave_dev)
+               return ret;
 
        spin_lock_bh(&eql->queue.lock);
        if (eql_is_slave(slave_dev)) {
@@ -527,11 +531,15 @@ static int eql_s_slave_cfg(struct net_device *dev, slave_config_t __user *scp)
        if (copy_from_user(&sc, scp, sizeof (slave_config_t)))
                return -EFAULT;
 
-       eql = dev->priv;
        slave_dev = dev_get_by_name(sc.slave_name);
+       if (!slave_dev)
+               return -ENODEV;
 
        ret = -EINVAL;
+       if (!slave_dev)
+               return ret;
 
+       eql = dev->priv;
        spin_lock_bh(&eql->queue.lock);
        if (eql_is_slave(slave_dev)) {
                slave = __eql_find_slave_dev(&eql->queue, slave_dev);