[PATCH] Fix for LKDTM MEM_SWAPOUT crashpoint
The MEM_SWAPOUT crashpoint in LKDTM could be broken as some compilers inline the call to shrink_page_list() and symbol lookup for this function name fails. Replacing it with the function shrink_inactive_list(), which is the only function calling shrink_page_list(). Signed-off-by: Ankita Garg <ankita@in.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
Родитель
4b96b1a10c
Коммит
18a61e4adb
|
@ -157,8 +157,8 @@ void jp_ll_rw_block(int rw, int nr, struct buffer_head *bhs[])
|
|||
|
||||
struct scan_control;
|
||||
|
||||
unsigned long jp_shrink_page_list(struct list_head *page_list,
|
||||
struct scan_control *sc)
|
||||
unsigned long jp_shrink_inactive_list(unsigned long max_scan,
|
||||
struct zone *zone, struct scan_control *sc)
|
||||
{
|
||||
lkdtm_handler();
|
||||
jprobe_return();
|
||||
|
@ -297,8 +297,8 @@ int lkdtm_module_init(void)
|
|||
lkdtm.entry = (kprobe_opcode_t*) jp_ll_rw_block;
|
||||
break;
|
||||
case MEM_SWAPOUT:
|
||||
lkdtm.kp.symbol_name = "shrink_page_list";
|
||||
lkdtm.entry = (kprobe_opcode_t*) jp_shrink_page_list;
|
||||
lkdtm.kp.symbol_name = "shrink_inactive_list";
|
||||
lkdtm.entry = (kprobe_opcode_t*) jp_shrink_inactive_list;
|
||||
break;
|
||||
case TIMERADD:
|
||||
lkdtm.kp.symbol_name = "hrtimer_start";
|
||||
|
|
Загрузка…
Ссылка в новой задаче