[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>

authored by Ankita Garg and committed by Linus Torvalds 18a61e4a 4b96b1a1

+4 -4
+4 -4
drivers/misc/lkdtm.c
··· 157 158 struct scan_control; 159 160 - unsigned long jp_shrink_page_list(struct list_head *page_list, 161 - struct scan_control *sc) 162 { 163 lkdtm_handler(); 164 jprobe_return(); ··· 297 lkdtm.entry = (kprobe_opcode_t*) jp_ll_rw_block; 298 break; 299 case MEM_SWAPOUT: 300 - lkdtm.kp.symbol_name = "shrink_page_list"; 301 - lkdtm.entry = (kprobe_opcode_t*) jp_shrink_page_list; 302 break; 303 case TIMERADD: 304 lkdtm.kp.symbol_name = "hrtimer_start";
··· 157 158 struct scan_control; 159 160 + unsigned long jp_shrink_inactive_list(unsigned long max_scan, 161 + struct zone *zone, struct scan_control *sc) 162 { 163 lkdtm_handler(); 164 jprobe_return(); ··· 297 lkdtm.entry = (kprobe_opcode_t*) jp_ll_rw_block; 298 break; 299 case MEM_SWAPOUT: 300 + lkdtm.kp.symbol_name = "shrink_inactive_list"; 301 + lkdtm.entry = (kprobe_opcode_t*) jp_shrink_inactive_list; 302 break; 303 case TIMERADD: 304 lkdtm.kp.symbol_name = "hrtimer_start";