Showing error 1297

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: drivers/net/bonding/bond_main.c
Line in file: 3202
Project: Linux Kernel
Project version: 2.6.28
Tools: Stanse (1.2)
Entered: 2012-05-21 20:30:05 UTC


Source:

3172                rtnl_unlock();
3173                read_lock(&bond->lock);
3174        }
3175
3176        bond_ab_arp_probe(bond);
3177
3178re_arm:
3179        if (bond->params.arp_interval) {
3180                queue_delayed_work(bond->wq, &bond->arp_work, delta_in_ticks);
3181        }
3182out:
3183        read_unlock(&bond->lock);
3184}
3185
3186/*------------------------------ proc/seq_file-------------------------------*/
3187
3188#ifdef CONFIG_PROC_FS
3189
3190static void *bond_info_seq_start(struct seq_file *seq, loff_t *pos)
3191{
3192        struct bonding *bond = seq->private;
3193        loff_t off = 0;
3194        struct slave *slave;
3195        int i;
3196
3197        /* make sure the bond won't be taken away */
3198        read_lock(&dev_base_lock);
3199        read_lock(&bond->lock);
3200
3201        if (*pos == 0) {
3202                return SEQ_START_TOKEN;
3203        }
3204
3205        bond_for_each_slave(bond, slave, i) {
3206                if (++off == *pos) {
3207                        return slave;
3208                }
3209        }
3210
3211        return NULL;
3212}
Show full sources