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: | mm/vmalloc.c |
Line in file: | 1674 |
Project: | Linux Kernel |
Project version: | 2.6.28 |
Tools: |
Stanse
(1.2)
|
Entered: | 2012-05-21 20:30:05 UTC |
1644 mappings */ 1645 vmalloc_sync_all(); 1646 1647 return area; 1648} 1649EXPORT_SYMBOL_GPL(alloc_vm_area); 1650 1651void free_vm_area(struct vm_struct *area) 1652{ 1653 struct vm_struct *ret; 1654 ret = remove_vm_area(area->addr); 1655 BUG_ON(ret != area); 1656 kfree(area); 1657} 1658EXPORT_SYMBOL_GPL(free_vm_area); 1659 1660 1661#ifdef CONFIG_PROC_FS 1662static void *s_start(struct seq_file *m, loff_t *pos) 1663{ 1664 loff_t n = *pos; 1665 struct vm_struct *v; 1666 1667 read_lock(&vmlist_lock); 1668 v = vmlist; 1669 while (n > 0 && v) { 1670 n--; 1671 v = v->next; 1672 } 1673 if (!n) 1674 return v; 1675 1676 return NULL; 1677 1678} 1679 1680static void *s_next(struct seq_file *m, void *p, loff_t *pos) 1681{ 1682 struct vm_struct *v = p; 1683 1684 ++*pos;