From mboxrd@z Thu Jan 1 00:00:00 1970 From: mathieu.desnoyers@efficios.com (Mathieu Desnoyers) Date: Wed, 30 Nov 2011 13:34:14 -0500 Subject: [lttng-dev] [PATCH 01/15] lttng lib: ring buffer: remove stale null-pointer In-Reply-To: <1322678068-5255-1-git-send-email-mathieu.desnoyers@efficios.com> References: <1322678068-5255-1-git-send-email-mathieu.desnoyers@efficios.com> Message-ID: <1322678068-5255-2-git-send-email-mathieu.desnoyers@efficios.com> * Dan Carpenter 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 Signed-off-by: Mathieu Desnoyers --- .../lttng/lib/ringbuffer/ring_buffer_frontend.c | 6 ------ 1 files changed, 0 insertions(+), 6 deletions(-) diff --git a/drivers/staging/lttng/lib/ringbuffer/ring_buffer_frontend.c b/drivers/staging/lttng/lib/ringbuffer/ring_buffer_frontend.c index 802f5cd..957d7f3 100644 --- a/drivers/staging/lttng/lib/ringbuffer/ring_buffer_frontend.c +++ b/drivers/staging/lttng/lib/ringbuffer/ring_buffer_frontend.c @@ -1144,12 +1144,6 @@ void lib_ring_buffer_print_buffer_errors(struct lib_ring_buffer *buf, 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 * references are left. -- 1.7.5.4