]> git.baikalelectronics.ru Git - kernel.git/commit
Fix race between cat /proc/*/wchan and rmmod et al
authorAlexey Dobriyan <adobriyan@sw.ru>
Tue, 8 May 2007 07:28:43 +0000 (00:28 -0700)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Tue, 8 May 2007 18:15:08 +0000 (11:15 -0700)
commit2953bfc9427b380b14bb9b8270c00ac3ff55c762
tree9e3fd1c9e61e8ed16959d115a9a3f6f7eb0bbf21
parentc3190a87f0673980d3fff5d0f9c27bc41b3a9ac1
Fix race between cat /proc/*/wchan and rmmod et al

kallsyms_lookup() can go iterating over modules list unprotected which is OK
for emergency situations (oops), but not OK for regular stuff like
/proc/*/wchan.

Introduce lookup_symbol_name()/lookup_module_symbol_name() which copy symbol
name into caller-supplied buffer or return -ERANGE.  All copying is done with
module_mutex held, so...

Signed-off-by: Alexey Dobriyan <adobriyan@sw.ru>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
fs/proc/base.c
include/linux/kallsyms.h
include/linux/module.h
kernel/kallsyms.c
kernel/module.c
kernel/time/timer_list.c
kernel/time/timer_stats.c