This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: User Stack Trace


grundym@us.ibm.com (grundy) writes:

> [...]
>         struct frame_head {
>                 struct frame_head * ebp;
>                 unsigned long ret;
>         } __attribute__((packed)) stack_frame[2], *head;
> [...]
>         head = (struct frame_head *)nregs->ebp;
>         if (user_mode_vm(nregs)) {
> [...]
>                         _stp_copy_from_user ((char *)stack_frame, 
>                                 (const char __user *) head->ebp,
>                                 sizeof(stack_frame));
>                         head = stack_frame;
> [...]

To what extent does this work for user code compiled without frame
pointers?  Or containing corrupt/malicious stack data?

- FChE


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]