diff options
Diffstat (limited to 'runtime')
-rw-r--r-- | runtime/ChangeLog | 4 | ||||
-rw-r--r-- | runtime/autoconf-oneachcpu-retry.c | 8 | ||||
-rw-r--r-- | runtime/staprun/ChangeLog | 4 | ||||
-rw-r--r-- | runtime/staprun/mainloop.c | 12 | ||||
-rw-r--r-- | runtime/task_finder_vma.c | 2 |
5 files changed, 25 insertions, 5 deletions
diff --git a/runtime/ChangeLog b/runtime/ChangeLog index f40ff6ee..8aea0411 100644 --- a/runtime/ChangeLog +++ b/runtime/ChangeLog @@ -1,3 +1,7 @@ +2008-10-17 Wenji Huang <wenji.huang@oracle.com> + + * task_finder_vma.c (__stp_tf_vma_get_free_entry): Initialize entry. + 2008-10-07 Frank Ch. Eigler <fche@elastic.org> PR 4886. diff --git a/runtime/autoconf-oneachcpu-retry.c b/runtime/autoconf-oneachcpu-retry.c index 304d9842..d4745a48 100644 --- a/runtime/autoconf-oneachcpu-retry.c +++ b/runtime/autoconf-oneachcpu-retry.c @@ -1,7 +1,13 @@ +#include <linux/stddef.h> +#include <linux/irqflags.h> #include <linux/smp.h> +static void no_op(void *arg) +{ +} + void ____autoconf_func(void) { /* Older on_each_cpu() calls had a "retry" parameter */ - (void)on_each_cpu(NULL, NULL, 0, 0); + (void)on_each_cpu(no_op, NULL, 0, 0); } diff --git a/runtime/staprun/ChangeLog b/runtime/staprun/ChangeLog index c6d75106..6e8a49f6 100644 --- a/runtime/staprun/ChangeLog +++ b/runtime/staprun/ChangeLog @@ -1,3 +1,7 @@ +2008-10-15 Frank Ch. Eigler <fche@elastic.org> + + * mainloop.c (start_cmd): Fix wordexp error handling. + 2008-09-18 David Smith <dsmith@redhat.com> PR 6903. diff --git a/runtime/staprun/mainloop.c b/runtime/staprun/mainloop.c index 6fc061ae..8db42d7d 100644 --- a/runtime/staprun/mainloop.c +++ b/runtime/staprun/mainloop.c @@ -126,9 +126,15 @@ void start_cmd(void) work well if target_cmd is a shell builtin. We really want to probe a new child process, not a mishmash of shell-interpreted stuff. */ - rc = wordexp (target_cmd, & words, WRDE_NOCMD); - if (rc != 0) { _perr ("wordexp parsing error"); _exit (1); } - if (words.we_wordc < 1) { _perr ("empty target_cmd"); _exit (1); } + rc = wordexp (target_cmd, & words, WRDE_NOCMD|WRDE_UNDEF); + switch (rc) + { + case 0: break; + case WRDE_BADCHAR: _err ("wordexp: invalid shell meta-character in -c COMMAND\n"); _exit(1); + case WRDE_SYNTAX: _err ("wordexp: syntax error (unmatched quotes?) in -c COMMAND\n"); _exit(1); + default: _err ("wordexp: parsing error (%d)\n", rc); _exit (1); + } + if (words.we_wordc < 1) { _err ("empty -c COMMAND"); _exit (1); } rc = ptrace (PTRACE_TRACEME, 0, 0, 0); if (rc < 0) perror ("ptrace me"); diff --git a/runtime/task_finder_vma.c b/runtime/task_finder_vma.c index 8c60175e..4dce4be8 100644 --- a/runtime/task_finder_vma.c +++ b/runtime/task_finder_vma.c @@ -60,7 +60,7 @@ __stp_tf_vma_get_free_entry(void) { struct hlist_head *head = &__stp_tf_vma_free_list[0]; struct hlist_node *node; - struct __stp_tf_vma_entry *entry; + struct __stp_tf_vma_entry *entry = NULL; if (hlist_empty(head)) return NULL; |