Showing error 1328

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


Source:

2145        }
2146        if (IS_POSIX(fl)) {
2147                if (fl->fl_end == OFFSET_MAX)
2148                        seq_printf(f, "%Ld EOF\n", fl->fl_start);
2149                else
2150                        seq_printf(f, "%Ld %Ld\n", fl->fl_start, fl->fl_end);
2151        } else {
2152                seq_printf(f, "0 EOF\n");
2153        }
2154}
2155
2156static int locks_show(struct seq_file *f, void *v)
2157{
2158        struct file_lock *fl, *bfl;
2159
2160        fl = list_entry(v, struct file_lock, fl_link);
2161
2162        lock_get_status(f, fl, (long)f->private, "");
2163
2164        list_for_each_entry(bfl, &fl->fl_block, fl_block)
2165                lock_get_status(f, bfl, (long)f->private, " ->");
2166
2167        f->private++;
2168        return 0;
2169}
2170
2171static void *locks_start(struct seq_file *f, loff_t *pos)
2172{
2173        lock_kernel();
2174        f->private = (void *)1;
2175        return seq_list_start(&file_lock_list, *pos);
2176}
2177
2178static void *locks_next(struct seq_file *f, void *v, loff_t *pos)
2179{
2180        return seq_list_next(v, &file_lock_list, pos);
2181}
2182
2183static void locks_stop(struct seq_file *f, void *v)
2184{
2185        unlock_kernel();
Show full sources