Showing error 1396

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


Source:

 35        .end        = -1,
 36        .flags        = IORESOURCE_MEM,
 37};
 38EXPORT_SYMBOL(iomem_resource);
 39
 40static DEFINE_RWLOCK(resource_lock);
 41
 42static void *r_next(struct seq_file *m, void *v, loff_t *pos)
 43{
 44        struct resource *p = v;
 45        (*pos)++;
 46        if (p->child)
 47                return p->child;
 48        while (!p->sibling && p->parent)
 49                p = p->parent;
 50        return p->sibling;
 51}
 52
 53#ifdef CONFIG_PROC_FS
 54
 55enum { MAX_IORES_LEVEL = 5 };
 56
 57static void *r_start(struct seq_file *m, loff_t *pos)
 58        __acquires(resource_lock)
 59{
 60        struct resource *p = m->private;
 61        loff_t l = 0;
 62        read_lock(&resource_lock);
 63        for (p = p->child; p && l < *pos; p = r_next(m, p, &l))
 64                ;
 65        return p;
 66}
 67
 68static void r_stop(struct seq_file *m, void *v)
 69        __releases(resource_lock)
 70{
 71        read_unlock(&resource_lock);
 72}
 73
 74static int r_show(struct seq_file *m, void *v)
 75{
Show full sources