Showing error 1543

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: 707
Project: Linux Kernel
Project version: 2.6.28
Tools: Stanse (1.2)
Entered: 2012-05-21 20:30:05 UTC


Source:

 677                if (rosecmpm(addr, &node->address, node->mask) == 0) {
 678                        for (i = 0; i < node->count; i++) {
 679                                if (new) {
 680                                        if (node->neighbour[i]->restarted) {
 681                                                res = node->neighbour[i];
 682                                                goto out;
 683                                        }
 684                                }
 685                                else {
 686                                        if (!rose_ftimer_running(node->neighbour[i])) {
 687                                                res = node->neighbour[i];
 688                                                goto out;
 689                                        } else
 690                                                failed = 1;
 691                                }
 692                        }
 693                }
 694        }
 695
 696        if (failed) {
 697                *cause      = ROSE_OUT_OF_ORDER;
 698                *diagnostic = 0;
 699        } else {
 700                *cause      = ROSE_NOT_OBTAINABLE;
 701                *diagnostic = 0;
 702        }
 703
 704out:
 705        if (!new) spin_unlock_bh(&rose_node_list_lock);
 706
 707        return res;
 708}
 709
 710/*
 711 *        Handle the ioctls that control the routing functions.
 712 */
 713int rose_rt_ioctl(unsigned int cmd, void __user *arg)
 714{
 715        struct rose_route_struct rose_route;
 716        struct net_device *dev;
 717        int err;
Show full sources