Emit a special VDSO_COOKIE for VDSO regions instead of simply marking
them as anon.

Signed-off-by: Amitabha Roy <[EMAIL PROTECTED]>
---
diff --git a/drivers/oprofile/buffer_sync.c b/drivers/oprofile/buffer_sync.c
index 78c2e6e..7f879db 100644
--- a/drivers/oprofile/buffer_sync.c
+++ b/drivers/oprofile/buffer_sync.c
@@ -250,7 +250,14 @@ static unsigned long lookup_dcookie(stru
                                vma->vm_file->f_path.mnt);
                        *offset = (vma->vm_pgoff << PAGE_SHIFT) + addr -
                                vma->vm_start;
-               } else {
+               }
+#ifdef CONFIG_X86_32
+               else if(mm->context.vdso==vma->vm_start){
+                        cookie = VDSO_COOKIE;
+                       *offset = addr;
+               }
+#endif
+               else {
                        /* must be an anonymous map */
                        *offset = addr;
                }
diff --git a/drivers/oprofile/event_buffer.h b/drivers/oprofile/event_buffer.h
index 9241627..edc8ee2 100644
--- a/drivers/oprofile/event_buffer.h
+++ b/drivers/oprofile/event_buffer.h
@@ -35,6 +35,7 @@ #define CTX_TGID_CODE                 7
#define TRACE_BEGIN_CODE                8
#define TRACE_END_CODE                  9

+#define VDSO_COOKIE ~1UL
#define INVALID_COOKIE ~0UL
#define NO_COOKIE 0UL
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to