From af2594a392e6b17307bdb0dd2ea41ed68f6d4de6 Mon Sep 17 00:00:00 2001 From: Vyacheslav Cherkashin Date: Thu, 13 Jun 2013 16:39:37 +0400 Subject: [PATCH] [FIX] add check page_present() when installing probe in do_page_fault() --- us_manager/sspt/sspt_file.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/us_manager/sspt/sspt_file.c b/us_manager/sspt/sspt_file.c index dc72724..b4a7f44 100644 --- a/us_manager/sspt/sspt_file.c +++ b/us_manager/sspt/sspt_file.c @@ -235,11 +235,14 @@ void sspt_file_install(struct sspt_file *file) struct hlist_node *node = NULL; struct hlist_head *head = NULL; int i, table_size = (1 << file->page_probes_hash_bits); + struct mm_struct *mm; for (i = 0; i < table_size; ++i) { head = &file->page_probes_table[i]; swap_hlist_for_each_entry_rcu(page, node, head, hlist) { - sspt_register_page(page, file); + mm = page->file->proc->task->mm; + if (page_present(mm, page->offset)) + sspt_register_page(page, file); } } } -- 2.7.4