]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - net/netlabel/netlabel_unlabeled.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6.26
[karo-tx-linux.git] / net / netlabel / netlabel_unlabeled.c
index f0f1322911de6d406d3e5506ee67b13c94eb46e9..d282ad1570a77482a58b836065f79e3ae2714a61 100644 (file)
@@ -954,7 +954,7 @@ static int netlbl_unlhsh_netdev_handler(struct notifier_block *this,
        struct net_device *dev = ptr;
        struct netlbl_unlhsh_iface *iface = NULL;
 
-       if (dev->nd_net != &init_net)
+       if (dev_net(dev) != &init_net)
                return NOTIFY_DONE;
 
        /* XXX - should this be a check for NETDEV_DOWN or _UNREGISTER? */
@@ -1339,6 +1339,10 @@ static int netlbl_unlabel_staticlist_gen(u32 cmd,
 
        if (iface->ifindex > 0) {
                dev = dev_get_by_index(&init_net, iface->ifindex);
+               if (!dev) {
+                       ret_val = -ENODEV;
+                       goto list_cb_failure;
+               }
                ret_val = nla_put_string(cb_arg->skb,
                                         NLBL_UNLABEL_A_IFACE, dev->name);
                dev_put(dev);
@@ -1624,7 +1628,7 @@ static struct genl_ops netlbl_unlabel_genl_ops[] = {
  * mechanism.  Returns zero on success, negative values on failure.
  *
  */
-int netlbl_unlabel_genl_init(void)
+int __init netlbl_unlabel_genl_init(void)
 {
        int ret_val, i;
 
@@ -1661,7 +1665,7 @@ static struct notifier_block netlbl_unlhsh_netdev_notifier = {
  * non-zero values on error.
  *
  */
-int netlbl_unlabel_init(u32 size)
+int __init netlbl_unlabel_init(u32 size)
 {
        u32 iter;
        struct netlbl_unlhsh_tbl *hsh_tbl;
@@ -1765,7 +1769,7 @@ unlabel_getattr_nolabel:
  * and to send unlabeled network traffic by default.
  *
  */
-int netlbl_unlabel_defconf(void)
+int __init netlbl_unlabel_defconf(void)
 {
        int ret_val;
        struct netlbl_dom_map *entry;