aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorBernd Schmidt <bernd.schmidt@analog.com>2007-10-21 10:32:27 -0400
committerBryan Wu <bryan.wu@analog.com>2007-10-21 10:32:27 -0400
commitc1e7399da76646f34c3857147cca649cd58745af (patch)
tree5e40d681f6d1186102f250b9c0659fbeff29d5fe /arch
parenteaa854902aaeeade4a28cc8987de2b2ce182003b (diff)
Blackfin arch: Fixing Bug: balance calls to get_task_mm with corresponding mmput calls
We must balance calls to get_task_mm with corresponding mmput calls, otherwise refcounting is screwed up and mms don't get freed when their task exits. Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/blackfin/kernel/traps.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/blackfin/kernel/traps.c b/arch/blackfin/kernel/traps.c
index 8823e9ade584..afd044e78af6 100644
--- a/arch/blackfin/kernel/traps.c
+++ b/arch/blackfin/kernel/traps.c
@@ -118,12 +118,14 @@ static int printk_address(unsigned long address)
118 offset = (address - vma->vm_start) + (vma->vm_pgoff << PAGE_SHIFT); 118 offset = (address - vma->vm_start) + (vma->vm_pgoff << PAGE_SHIFT);
119 119
120 write_unlock_irq(&tasklist_lock); 120 write_unlock_irq(&tasklist_lock);
121 mmput(mm);
121 return printk("<0x%p> [ %s + 0x%lx ]", 122 return printk("<0x%p> [ %s + 0x%lx ]",
122 (void *)address, name, offset); 123 (void *)address, name, offset);
123 } 124 }
124 125
125 vml = vml->next; 126 vml = vml->next;
126 } 127 }
128 mmput(mm);
127 } 129 }
128 write_unlock_irq(&tasklist_lock); 130 write_unlock_irq(&tasklist_lock);
129 131