summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBernd Schmidt <bernd.schmidt@analog.com>2007-10-21 16:32:27 +0200
committerBryan Wu <bryan.wu@analog.com>2007-10-21 16:32:27 +0200
commitc1e7399da76646f34c3857147cca649cd58745af (patch)
tree5e40d681f6d1186102f250b9c0659fbeff29d5fe
parentBlackfin serial driver Kconfig: depend on DMA not being enabled rather than a... (diff)
downloadlinux-c1e7399da76646f34c3857147cca649cd58745af.tar.xz
linux-c1e7399da76646f34c3857147cca649cd58745af.zip
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 '')
-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)
offset = (address - vma->vm_start) + (vma->vm_pgoff << PAGE_SHIFT);
write_unlock_irq(&tasklist_lock);
+ mmput(mm);
return printk("<0x%p> [ %s + 0x%lx ]",
(void *)address, name, offset);
}
vml = vml->next;
}
+ mmput(mm);
}
write_unlock_irq(&tasklist_lock);