On Tue, Jan 07, 2014 at 12:00:09PM +0900, Namhyung Kim wrote:

SNIP

>  void trace_seq_init(struct trace_seq *s);
> diff --git a/tools/lib/traceevent/trace-seq.c 
> b/tools/lib/traceevent/trace-seq.c
> index d7f2e68bc5b9..1747aa50ecb0 100644
> --- a/tools/lib/traceevent/trace-seq.c
> +++ b/tools/lib/traceevent/trace-seq.c
> @@ -32,8 +32,9 @@
>  #define TRACE_SEQ_POISON     ((void *)0xdeadbeef)
>  #define TRACE_SEQ_CHECK(s)                                           \
>  do {                                                                 \
> -     if ((s)->buffer == TRACE_SEQ_POISON)                    \
> -             die("Usage of trace_seq after it was destroyed");       \
> +     if (WARN_ONCE((s)->buffer == TRACE_SEQ_POISON,                  \
> +                   "Usage of trace_seq after it was destroyed"))     \
> +             (s)->state = TRACE_SEQ__BUFFER_POISONED;                \
>  } while (0)
>  
>  /**
> @@ -46,6 +47,7 @@ void trace_seq_init(struct trace_seq *s)
>       s->readpos = 0;
>       s->buffer_size = TRACE_SEQ_BUF_SIZE;
>       s->buffer = malloc_or_die(s->buffer_size);
> +     s->state = TRACE_SEQ__GOOD;
>  }
>  
>  /**
> @@ -81,7 +83,7 @@ static void expand_buffer(struct trace_seq *s)
>       s->buffer_size += TRACE_SEQ_BUF_SIZE;
>       s->buffer = realloc(s->buffer, s->buffer_size);
>       if (!s->buffer)
> -             die("Can't allocate trace_seq buffer memory");
> +             s->state = TRACE_SEQ__MEM_ALLOC_FAILED;

and also here?

        if (WARN_ONCE(!s->buffer))
                s->state = TRACE_SEQ__MEM_ALLOC_FAILED;

otherwise the whole series seems ok,
jirka
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
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