Showing error 1335

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


Source:

668        if (ret < 0)
669                return ret;
670
671        m = file->private_data;
672        m->private = cell;
673        return 0;
674}
675
676/*
677 * close the file and release the ref to the cell
678 */
679static int afs_proc_cell_servers_release(struct inode *inode,
680                                         struct file *file)
681{
682        return seq_release(inode, file);
683}
684
685/*
686 * set up the iterator to start reading from the cells list and return the
687 * first item
688 */
689static void *afs_proc_cell_servers_start(struct seq_file *m, loff_t *_pos)
690        __acquires(m->private->servers_lock)
691{
692        struct afs_cell *cell = m->private;
693
694        _enter("cell=%p pos=%Ld", cell, *_pos);
695
696        /* lock the list against modification */
697        read_lock(&cell->servers_lock);
698        return seq_list_start_head(&cell->servers, *_pos);
699}
700
701/*
702 * move to next cell in cells list
703 */
704static void *afs_proc_cell_servers_next(struct seq_file *p, void *v,
705                                        loff_t *_pos)
706{
707        struct afs_cell *cell = p->private;
708
Show full sources