lttng lib: ring buffer: remove stale null-pointer
authorMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Wed, 30 Nov 2011 18:34:14 +0000 (13:34 -0500)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 1 Dec 2011 17:37:47 +0000 (09:37 -0800)
* Dan Carpenter <dan.carpenter@oracle.com> wrote:
[...]
> The patch c844b2f5cfea: "lttng lib: ring buffer" from Nov 28, 2011,
> leads to the following Smatch complaint:
>
> drivers/staging/lttng/lib/ringbuffer/ring_buffer_frontend.c +1150
> +lib_ring_buffer_print_buffer_errors()
>          warn: variable dereferenced before check 'chan' (see line 1143)
>
> drivers/staging/lttng/lib/ringbuffer/ring_buffer_frontend.c
>   1142  {
>   1143          const struct lib_ring_buffer_config *config =
> +chan->backend.config;
>
> +^^^^^^^^^^^^^^^^^^^^
> Dereference.
>
>   1144          unsigned long write_offset, cons_offset;
>   1145
>   1146          /*
>   1147           * Can be called in the error path of allocation when
>   1148           * trans_channel_data is not yet set.
>   1149           */
>   1150          if (!chan)
>                 ^^^^^^^^^
> Check.  At first glance the comment seems out of date, I think check can
> be removed safely.
>
>   1151                  return;
>   1152          /*

Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/staging/lttng/lib/ringbuffer/ring_buffer_frontend.c

index 802f5cd4cd161620a83f52328bd92c913391cd75..957d7f3d7ac6184f5401d44099275b6893403e45 100644 (file)
@@ -1143,12 +1143,6 @@ void lib_ring_buffer_print_buffer_errors(struct lib_ring_buffer *buf,
        const struct lib_ring_buffer_config *config = chan->backend.config;
        unsigned long write_offset, cons_offset;
 
-       /*
-        * Can be called in the error path of allocation when
-        * trans_channel_data is not yet set.
-        */
-       if (!chan)
-               return;
        /*
         * No need to order commit_count, write_offset and cons_offset reads
         * because we execute at teardown when no more writer nor reader