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/trace/trace.c |
Line in file: | 2031 |
Project: | Linux Kernel |
Project version: | 2.6.28 |
Tools: |
Stanse
(1.2)
|
Entered: | 2012-05-21 20:30:05 UTC |
2001 iter->iter_flags |= TRACE_FILE_LAT_FMT; 2002 2003 return ret; 2004} 2005 2006 2007static void * 2008t_next(struct seq_file *m, void *v, loff_t *pos) 2009{ 2010 struct tracer *t = m->private; 2011 2012 (*pos)++; 2013 2014 if (t) 2015 t = t->next; 2016 2017 m->private = t; 2018 2019 return t; 2020} 2021 2022static void *t_start(struct seq_file *m, loff_t *pos) 2023{ 2024 struct tracer *t = m->private; 2025 loff_t l = 0; 2026 2027 mutex_lock(&trace_types_lock); 2028 for (; t && l < *pos; t = t_next(m, t, &l)) 2029 ; 2030 2031 return t; 2032} 2033 2034static void t_stop(struct seq_file *m, void *p) 2035{ 2036 mutex_unlock(&trace_types_lock); 2037} 2038 2039static int t_show(struct seq_file *m, void *v) 2040{ 2041 struct tracer *t = v;