Showing error 1437

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


Source:

129                events >>= offset;
130        percpu_counter_set(&pd->pg[index].events, events);
131
132        /*
133         * ensure the new pg is fully written before the switch
134         */
135        smp_wmb();
136        pd->index = index;
137        local_irq_restore(flags);
138
139        synchronize_rcu();
140
141out:
142        mutex_unlock(&pd->mutex);
143}
144
145/*
146 * wrap the access to the data in an rcu_read_lock() section;
147 * this is used to track the active references.
148 */
149static struct prop_global *prop_get_global(struct prop_descriptor *pd)
150{
151        int index;
152
153        rcu_read_lock();
154        index = pd->index;
155        /*
156         * match the wmb from vcd_flip()
157         */
158        smp_rmb();
159        return &pd->pg[index];
160}
161
162static void prop_put_global(struct prop_descriptor *pd, struct prop_global *pg)
163{
164        rcu_read_unlock();
165}
166
167static void
168prop_adjust_shift(int *pl_shift, unsigned long *pl_period, int new_shift)
169{
Show full sources