]> err.no Git - linux-2.6/blobdiff - net/core/dev.c
[NET]: Introducing socket mark socket option.
[linux-2.6] / net / core / dev.c
index 12f66e528a4b5a9948c7dceeeac649ff889e1a98..c9c593e1ba6fd4d26d8580bb12f1fccb99126484 100644 (file)
@@ -675,7 +675,7 @@ struct net_device *dev_getbyhwaddr(struct net *net, unsigned short type, char *h
 
        ASSERT_RTNL();
 
-       for_each_netdev(&init_net, dev)
+       for_each_netdev(net, dev)
                if (dev->type == type &&
                    !memcmp(dev->dev_addr, ha, dev->addr_len))
                        return dev;
@@ -2368,6 +2368,7 @@ static int dev_ifconf(struct net *net, char __user *arg)
  *     in detail.
  */
 void *dev_seq_start(struct seq_file *seq, loff_t *pos)
+       __acquires(dev_base_lock)
 {
        struct net *net = seq_file_net(seq);
        loff_t off;
@@ -2394,6 +2395,7 @@ void *dev_seq_next(struct seq_file *seq, void *v, loff_t *pos)
 }
 
 void dev_seq_stop(struct seq_file *seq, void *v)
+       __releases(dev_base_lock)
 {
        read_unlock(&dev_base_lock);
 }
@@ -2541,6 +2543,7 @@ static void *ptype_get_idx(loff_t pos)
 }
 
 static void *ptype_seq_start(struct seq_file *seq, loff_t *pos)
+       __acquires(RCU)
 {
        rcu_read_lock();
        return *pos ? ptype_get_idx(*pos - 1) : SEQ_START_TOKEN;
@@ -2576,6 +2579,7 @@ found:
 }
 
 static void ptype_seq_stop(struct seq_file *seq, void *v)
+       __releases(RCU)
 {
        rcu_read_unlock();
 }
@@ -3971,6 +3975,8 @@ void synchronize_net(void)
 
 void unregister_netdevice(struct net_device *dev)
 {
+       ASSERT_RTNL();
+
        rollback_registered(dev);
        /* Finish processing unregister after unlock */
        net_set_todo(dev);