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 |
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