Showing error 1473

User: Jiri Slaby
Error type: Leaving function in locked state
Error type description: Some lock is not unlocked on all paths of a function, so it is leaked
File location: net/decnet/dn_dev.c
Line in file: 1332
Project: Linux Kernel
Project version: 2.6.28
Tools: Stanse (1.2)
Entered: 2012-05-21 20:30:05 UTC


Source:

1302                if (dev->flags & IFF_UP)
1303                        dn_dev_up(dev);
1304        }
1305        rtnl_unlock();
1306}
1307
1308int register_dnaddr_notifier(struct notifier_block *nb)
1309{
1310        return blocking_notifier_chain_register(&dnaddr_chain, nb);
1311}
1312
1313int unregister_dnaddr_notifier(struct notifier_block *nb)
1314{
1315        return blocking_notifier_chain_unregister(&dnaddr_chain, nb);
1316}
1317
1318#ifdef CONFIG_PROC_FS
1319static inline int is_dn_dev(struct net_device *dev)
1320{
1321        return dev->dn_ptr != NULL;
1322}
1323
1324static void *dn_dev_seq_start(struct seq_file *seq, loff_t *pos)
1325{
1326        int i;
1327        struct net_device *dev;
1328
1329        read_lock(&dev_base_lock);
1330
1331        if (*pos == 0)
1332                return SEQ_START_TOKEN;
1333
1334        i = 1;
1335        for_each_netdev(&init_net, dev) {
1336                if (!is_dn_dev(dev))
1337                        continue;
1338
1339                if (i++ == *pos)
1340                        return dev;
1341        }
1342
Show full sources