Showing error 1541

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


Source:

1389        case SIOCRSACCEPT:
1390                if (rose->state == ROSE_STATE_5) {
1391                        rose_write_internal(sk, ROSE_CALL_ACCEPTED);
1392                        rose_start_idletimer(sk);
1393                        rose->condition = 0x00;
1394                        rose->vs        = 0;
1395                        rose->va        = 0;
1396                        rose->vr        = 0;
1397                        rose->vl        = 0;
1398                        rose->state     = ROSE_STATE_3;
1399                }
1400                return 0;
1401
1402        default:
1403                return -ENOIOCTLCMD;
1404        }
1405
1406        return 0;
1407}
1408
1409#ifdef CONFIG_PROC_FS
1410static void *rose_info_start(struct seq_file *seq, loff_t *pos)
1411        __acquires(rose_list_lock)
1412{
1413        int i;
1414        struct sock *s;
1415        struct hlist_node *node;
1416
1417        spin_lock_bh(&rose_list_lock);
1418        if (*pos == 0)
1419                return SEQ_START_TOKEN;
1420
1421        i = 1;
1422        sk_for_each(s, node, &rose_list) {
1423                if (i == *pos)
1424                        return s;
1425                ++i;
1426        }
1427        return NULL;
1428}
1429
Show full sources