Red Hat Bugzilla – Bug 191094
fs/proc/task_mmu.c show_map() can OOPS
Last modified: 2015-01-04 17:27:00 EST
(OOPS was seen on 2.6.9 kernel, same problem appears to exist on FC 2.6.16)
Intensive monitoint through /proc can/will OOPS under load.
The stack trace indicates that task->mm goes NULL in fs/proc/task_mmu.c show_map().
The attached patch (generated from CentOS 4.3 2.6.9 kernel sources, but
the same problem appears to be in FC devel kernels from inspection) takes
a refcount on task->mm using get_task_mm() and mmput().
Entirely untested patch, but the OOPS is real.
Created attachment 128768 [details]
Created attachment 128784 [details]
The original OOPS took about an hour to reproduce, intensively reading /proc.
With the linux-2.6.9-show_mappatch, two runs on CentOS kernel have completed more than 8 hours
24 hour run with the patch => no problem
Using the same load, reverting to otherwise identical CentOS 2.6.9 kernel without the patch, the panic is
reproducible in minutes.
Fixed in CVS, will be in the next build.