[FIX] check page address value
authorVyacheslav Cherkashin <v.cherkashin@samsung.com>
Wed, 16 Oct 2013 15:38:21 +0000 (19:38 +0400)
committerVyacheslav Cherkashin <v.cherkashin@samsung.com>
Wed, 16 Oct 2013 15:38:21 +0000 (19:38 +0400)
Change-Id: Id164e2507ba70f53fbafe4cc37687e077568f03e
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
us_manager/sspt/sspt_file.c

index 081a37c..ffcab3d 100644 (file)
@@ -195,8 +195,11 @@ void sspt_file_install(struct sspt_file *file)
                head = &file->page_probes_table[i];
                swap_hlist_for_each_entry_rcu(page, node, head, hlist) {
                        page_addr = file->vm_start + page->offset;
-                       mm = page->file->proc->task->mm;
+                       if (page_addr < file->vm_start ||
+                           page_addr >= file->vm_end)
+                               continue;
 
+                       mm = page->file->proc->task->mm;
                        if (page_present(mm, page_addr))
                                sspt_register_page(page, file);
                }