Showing error 1542

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


Source:

1131}
1132
1133static const struct seq_operations rose_node_seqops = {
1134        .start = rose_node_start,
1135        .next = rose_node_next,
1136        .stop = rose_node_stop,
1137        .show = rose_node_show,
1138};
1139
1140static int rose_nodes_open(struct inode *inode, struct file *file)
1141{
1142        return seq_open(file, &rose_node_seqops);
1143}
1144
1145const struct file_operations rose_nodes_fops = {
1146        .owner = THIS_MODULE,
1147        .open = rose_nodes_open,
1148        .read = seq_read,
1149        .llseek = seq_lseek,
1150        .release = seq_release,
1151};
1152
1153static void *rose_neigh_start(struct seq_file *seq, loff_t *pos)
1154        __acquires(rose_neigh_list_lock)
1155{
1156        struct rose_neigh *rose_neigh;
1157        int i = 1;
1158
1159        spin_lock_bh(&rose_neigh_list_lock);
1160        if (*pos == 0)
1161                return SEQ_START_TOKEN;
1162
1163        for (rose_neigh = rose_neigh_list; rose_neigh && i < *pos;
1164             rose_neigh = rose_neigh->next, ++i);
1165
1166        return (i == *pos) ? rose_neigh : NULL;
1167}
1168
1169static void *rose_neigh_next(struct seq_file *seq, void *v, loff_t *pos)
1170{
1171        ++*pos;
Show full sources