From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28613 invoked by alias); 7 Jul 2010 15:04:25 -0000 Received: (qmail 28546 invoked by uid 9112); 7 Jul 2010 15:04:24 -0000 Date: Wed, 07 Jul 2010 15:04:00 -0000 Message-ID: <20100707150424.28531.qmail@sourceware.org> From: mark@sourceware.org To: systemtap-cvs@sourceware.org Subject: [SCM] systemtap: system-wide probe/trace tool branch, master, updated. release-1.2-426-gb80995d X-Git-Refname: refs/heads/master X-Git-Reftype: branch X-Git-Oldrev: 0491c523afe68ab9072934f194a66a71c90435e1 X-Git-Newrev: b80995d36d1e6b56ddb3c78a61d9dd41a2908421 Mailing-List: contact systemtap-cvs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: systemtap-cvs-owner@sourceware.org List-Archive: Reply-To: systemtap@sourceware.org X-SW-Source: 2010-q3/txt/msg00024.txt.bz2 This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "systemtap: system-wide probe/trace tool". The branch, master has been updated via b80995d36d1e6b56ddb3c78a61d9dd41a2908421 (commit) from 0491c523afe68ab9072934f194a66a71c90435e1 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit b80995d36d1e6b56ddb3c78a61d9dd41a2908421 Author: Mark Wielaard Date: Wed Jul 7 16:51:25 2010 +0200 Sanitize before usage in unwinder if they come from task_pt_regs. Introduce _stp_task_pt_regs_valid() that checks whether a full set of user registers was saved. Currently assumes yes for i386 and no otherwise. If not all registers were saved create a copy for the unwinder with everything zeroed out except the (arch specific, x86_64 only for now) known to be valid registers (would be nicer to do this as initial unwinder state, so we could mark them undefined, but the current form at least prevents leaking any data that might still be saved in the pt_regs that task_pt_regs() points to). * runtime/compatdefs.h (_stp_task_pt_regs_valid): New function. * runtime/stack.c (_stp_stack_print): Take and pass uregs_valid argument. (_stp_stack_sprint): Likewise. * runtime/stack-arm.c (__stp_stack_print): Likewise. * runtime/stack-i386.c (__stp_stack_print): Likewise. * runtime/stack-ia64.c (__stp_stack_print): Likewise. * runtime/stack-ppc.c (__stp_stack_print): Likewise. * runtime/stack-s390.c (__stp_stack_print): Likewise. * runtime/stack-x86_64.c (__stp_stack_print): Likewise. * tapset/context-unwind.stp (print_backtrace): Pass zero for valid. (sprint_backtrace): Likewise. (backtrace): Likewise. * tapset/ucontext-unwind.stp (print_ubacktrace): Check and pass uregs_valid. (sprint_ubacktrace): Likewise. (print_ubacktrace_brief): Likewise. (ubacktrace): Likewise. * runtime/unwind/i386.h (arch_unw_init_frame_info): Accept sanitize argument. * runtime/stack-x86_64.c (arch_unw_init_frame_info): Likewise and actually sanitize the pt_regs copy. ----------------------------------------------------------------------- Summary of changes: runtime/compatdefs.h | 22 ++++++++++++++++++ runtime/stack-arm.c | 3 +- runtime/stack-i386.c | 8 ++++-- runtime/stack-ia64.c | 2 +- runtime/stack-ppc.c | 3 +- runtime/stack-s390.c | 2 +- runtime/stack-x86_64.c | 6 +++- runtime/stack.c | 11 ++++++--- runtime/unwind/i386.h | 6 ++++- runtime/unwind/x86_64.h | 24 ++++++++++++++++++- tapset/context-unwind.stp | 6 ++-- tapset/ucontext-unwind.stp | 52 +++++++++++++++++++++++++++++++++---------- 12 files changed, 114 insertions(+), 31 deletions(-) hooks/post-receive -- systemtap: system-wide probe/trace tool