summaryrefslogtreecommitdiff
path: root/fs/proc/array.c
diff options
context:
space:
mode:
authorDaniel McNeil <daniel@osdl.org>2005-03-28 03:17:20 -0800
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-03-28 03:17:20 -0800
commitdd29cece6828f979880ef7df013d946480410406 (patch)
treeadc78c50958ec204fcfa26272075eb0c2cb20eee /fs/proc/array.c
parent8513620d370d3a60320c86468455a80979ad119d (diff)
[PATCH] ppc64: fix AIO panic on PPC64 caused by is_hugepage_only_range()
When testing AIO on PPC64 (a power5 machine) running 2.6.11 with CONFIG_HUGETLB_PAGE=y, I ran into a kernel panic when a process exits that has done AIO (io_queue_init()) but has not done the io_queue_release(). The exit_aio() code is cleaning up and panicking when trying to free the aio ring buffer. I tracked this down to is_hugepage_only_range() (include/asm-ppc64/page.h) which is doing a touches_hugepage_low_range() which is checking current->mm->context.htlb_segs. The problem is that exit_mm() cleared tsk->mm before doing the mmput() which leads to the exit_aio() and then the panic. Looks like is_hugepage_only_range() is only used in ia64 and ppc64. Fix is to change is_hugepage_only_range() to take an 'mm' as a parameter as well as 'addr' and 'len' and then the ppc64 code could change to use 'mm'. It looks like it has been broken for quite a while. Signed-off-by: Daniel McNeil <daniel@osdl.org> Acked-by: David Gibson <dwg@au1.ibm.com> Acked-by: "Luck, Tony" <tony.luck@intel.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'fs/proc/array.c')
0 files changed, 0 insertions, 0 deletions