Showing error 1458

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


Source:

651                if (!capable(CAP_NET_ADMIN))
652                        return -EPERM;
653                if (cmd == ATM_SETBACKEND)
654                        return br2684_regvcc(atmvcc, argp);
655                else
656                        return br2684_create(argp);
657#ifdef CONFIG_ATM_BR2684_IPFILTER
658        case BR2684_SETFILT:
659                if (atmvcc->push != br2684_push)
660                        return -ENOIOCTLCMD;
661                if (!capable(CAP_NET_ADMIN))
662                        return -EPERM;
663                err = br2684_setfilt(atmvcc, argp);
664
665                return err;
666#endif /* CONFIG_ATM_BR2684_IPFILTER */
667        }
668        return -ENOIOCTLCMD;
669}
670
671static struct atm_ioctl br2684_ioctl_ops = {
672        .owner = THIS_MODULE,
673        .ioctl = br2684_ioctl,
674};
675
676#ifdef CONFIG_PROC_FS
677static void *br2684_seq_start(struct seq_file *seq, loff_t * pos)
678        __acquires(devs_lock)
679{
680        read_lock(&devs_lock);
681        return seq_list_start(&br2684_devs, *pos);
682}
683
684static void *br2684_seq_next(struct seq_file *seq, void *v, loff_t * pos)
685{
686        return seq_list_next(v, &br2684_devs, pos);
687}
688
689static void br2684_seq_stop(struct seq_file *seq, void *v)
690        __releases(devs_lock)
691{
Show full sources