Showing error 1455

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


Source:

 66                seq_puts(seq, "Interface        Address   Networks  "
 67                              "Status\n");
 68                goto out;
 69        }
 70
 71        iface = v;
 72        seq_printf(seq, "%-16s %04X:%02X  %04X-%04X  %d\n",
 73                   iface->dev->name, ntohs(iface->address.s_net),
 74                   iface->address.s_node, ntohs(iface->nets.nr_firstnet),
 75                   ntohs(iface->nets.nr_lastnet), iface->status);
 76out:
 77        return 0;
 78}
 79
 80static __inline__ struct atalk_route *atalk_get_route_idx(loff_t pos)
 81{
 82        struct atalk_route *r;
 83
 84        for (r = atalk_routes; pos && r; r = r->next)
 85                --pos;
 86
 87        return r;
 88}
 89
 90static void *atalk_seq_route_start(struct seq_file *seq, loff_t *pos)
 91        __acquires(atalk_routes_lock)
 92{
 93        loff_t l = *pos;
 94
 95        read_lock_bh(&atalk_routes_lock);
 96        return l ? atalk_get_route_idx(--l) : SEQ_START_TOKEN;
 97}
 98
 99static void *atalk_seq_route_next(struct seq_file *seq, void *v, loff_t *pos)
100{
101        struct atalk_route *r;
102
103        ++*pos;
104        if (v == SEQ_START_TOKEN) {
105                r = NULL;
106                if (atalk_routes)
Show full sources