diff options
author | Bernd Schmidt <bernd.schmidt@analog.com> | 2007-10-21 22:32:27 +0800 |
---|---|---|
committer | Bryan Wu <bryan.wu@analog.com> | 2007-10-21 22:32:27 +0800 |
commit | c1e7399da76646f34c3857147cca649cd58745af (patch) | |
tree | 5e40d681f6d1186102f250b9c0659fbeff29d5fe /arch/blackfin | |
parent | eaa854902aaeeade4a28cc8987de2b2ce182003b (diff) | |
download | linux-3.10-c1e7399da76646f34c3857147cca649cd58745af.tar.gz linux-3.10-c1e7399da76646f34c3857147cca649cd58745af.tar.bz2 linux-3.10-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 'arch/blackfin')
-rw-r--r-- | arch/blackfin/kernel/traps.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/blackfin/kernel/traps.c b/arch/blackfin/kernel/traps.c index 8823e9ade58..afd044e78af 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); |