Showing error 869

User: Jiri Slaby
Error type: Resource Leak
Error type description: The code omits to put the resource to the system for reuse
File location: kernel/spinlock.c
Line in file: 319
Project: Linux Kernel
Project version: 2.6.28
Tools: Stanse (1.2)
Entered: 2011-11-07 22:40:13 UTC


Source:

289        preempt_disable();
290        spin_acquire(&lock->dep_map, subclass, 0, _RET_IP_);
291        LOCK_CONTENDED(lock, _raw_spin_trylock, _raw_spin_lock);
292}
293EXPORT_SYMBOL(_spin_lock_nested);
294
295unsigned long __lockfunc _spin_lock_irqsave_nested(spinlock_t *lock, int subclass)
296{
297        unsigned long flags;
298
299        local_irq_save(flags);
300        preempt_disable();
301        spin_acquire(&lock->dep_map, subclass, 0, _RET_IP_);
302        /*
303         * On lockdep we dont want the hand-coded irq-enable of
304         * _raw_spin_lock_flags() code, because lockdep assumes
305         * that interrupts are not re-enabled during lock-acquire:
306         */
307#ifdef CONFIG_LOCKDEP
308        LOCK_CONTENDED(lock, _raw_spin_trylock, _raw_spin_lock);
309#else
310        _raw_spin_lock_flags(lock, &flags);
311#endif
312        return flags;
313}
314EXPORT_SYMBOL(_spin_lock_irqsave_nested);
315
316void __lockfunc _spin_lock_nest_lock(spinlock_t *lock,
317                                     struct lockdep_map *nest_lock)
318{
319        preempt_disable();
320        spin_acquire_nest(&lock->dep_map, 0, 0, nest_lock, _RET_IP_);
321        LOCK_CONTENDED(lock, _raw_spin_trylock, _raw_spin_lock);
322}
323EXPORT_SYMBOL(_spin_lock_nest_lock);
324
325#endif
326
327void __lockfunc _spin_unlock(spinlock_t *lock)
328{
329        spin_release(&lock->dep_map, 1, _RET_IP_);
Show full sources