[PATCH] Fix for LKDTM MEM_SWAPOUT crashpoint
authorAnkita Garg <ankita@in.ibm.com>
Mon, 6 Nov 2006 07:52:07 +0000 (23:52 -0800)
committerLinus Torvalds <torvalds@g5.osdl.org>
Mon, 6 Nov 2006 09:46:23 +0000 (01:46 -0800)
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>
drivers/misc/lkdtm.c

index 46a9c35943bd9988bf3a95758a4c3a52a5991ae2..db9d7df75ae0640c763f4a7167d6cd8ac42c147c 100644 (file)
@@ -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";