Mirror of the lttng-dev mailing list
 help / color / mirror / Atom feed
* [lttng-dev] lttng lib: ring buffer
@ 2011-11-30  8:44 Dan Carpenter
  2011-11-30 13:07 ` Mathieu Desnoyers
  0 siblings, 1 reply; 6+ messages in thread
From: Dan Carpenter @ 2011-11-30  8:44 UTC (permalink / raw)


Hello Mathieu Desnoyers,

This is a semi-automatic email about new static checker warnings.

The patch c844b2f5cfea: "lttng lib: ring buffer" from Nov 28, 2011, 
leads to the following Smatch complaint:

drivers/staging/lttng/lib/ringbuffer/ring_buffer_mmap.c +33 lib_ring_buffer_fault()
	 warn: variable dereferenced before check 'buf' (see line 26)

drivers/staging/lttng/lib/ringbuffer/ring_buffer_mmap.c
    25		struct lib_ring_buffer *buf = vma->vm_private_data;
    26		struct channel *chan = buf->backend.chan;
                                       ^^^^^^^^^^^^^^^^^
Dereference.

    27		const struct lib_ring_buffer_config *config = chan->backend.config;
    28		pgoff_t pgoff = vmf->pgoff;
    29		struct page **page;
    30		void **virt;
    31		unsigned long offset, sb_bindex;
    32	
    33		if (!buf)
                    ^^^^
Check.

    34			return VM_FAULT_OOM;
    35	

regards,
dan carpenter




^ permalink raw reply	[flat|nested] 6+ messages in thread

* [lttng-dev] lttng lib: ring buffer
  2011-11-30  8:44 [lttng-dev] lttng lib: ring buffer Dan Carpenter
@ 2011-11-30 13:07 ` Mathieu Desnoyers
  0 siblings, 0 replies; 6+ messages in thread
From: Mathieu Desnoyers @ 2011-11-30 13:07 UTC (permalink / raw)


Will remove the duplicated check (it's already checked within
lib_ring_buffer_mmap_buf), and push to gregkh in my next round, thanks!

Mathieu

* Dan Carpenter (dan.carpenter at oracle.com) wrote:
> Hello Mathieu Desnoyers,
> 
> This is a semi-automatic email about new static checker warnings.
> 
> The patch c844b2f5cfea: "lttng lib: ring buffer" from Nov 28, 2011, 
> leads to the following Smatch complaint:
> 
> drivers/staging/lttng/lib/ringbuffer/ring_buffer_mmap.c +33 lib_ring_buffer_fault()
> 	 warn: variable dereferenced before check 'buf' (see line 26)
> 
> drivers/staging/lttng/lib/ringbuffer/ring_buffer_mmap.c
>     25		struct lib_ring_buffer *buf = vma->vm_private_data;
>     26		struct channel *chan = buf->backend.chan;
>                                        ^^^^^^^^^^^^^^^^^
> Dereference.
> 
>     27		const struct lib_ring_buffer_config *config = chan->backend.config;
>     28		pgoff_t pgoff = vmf->pgoff;
>     29		struct page **page;
>     30		void **virt;
>     31		unsigned long offset, sb_bindex;
>     32	
>     33		if (!buf)
>                     ^^^^
> Check.
> 
>     34			return VM_FAULT_OOM;
>     35	
> 
> regards,
> dan carpenter
> 

-- 
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com



^ permalink raw reply	[flat|nested] 6+ messages in thread

* [lttng-dev] lttng lib: ring buffer
  2011-11-30  8:45 Dan Carpenter
@ 2011-11-30 13:16 ` Mathieu Desnoyers
  0 siblings, 0 replies; 6+ messages in thread
From: Mathieu Desnoyers @ 2011-11-30 13:16 UTC (permalink / raw)


Fixed by moving the check higher up, to lib_ring_buffer_open.

Thanks!

Mathieu

* Dan Carpenter (dan.carpenter at oracle.com) wrote:
> Hello Mathieu Desnoyers,
> 
> This is a semi-automatic email about new static checker warnings.
> 
> The patch c844b2f5cfea: "lttng lib: ring buffer" from Nov 28, 2011, 
> leads to the following Smatch complaint:
> 
> drivers/staging/lttng/lib/ringbuffer/ring_buffer_mmap.c +86 lib_ring_buffer_mmap_buf()
> 	 warn: variable dereferenced before check 'buf' (see line 79)
> 
> drivers/staging/lttng/lib/ringbuffer/ring_buffer_mmap.c
>     78		unsigned long length = vma->vm_end - vma->vm_start;
>     79		struct channel *chan = buf->backend.chan;
>                                        ^^^^^^^^^^^^^^^^^
> Dereference.
> 
>     80		const struct lib_ring_buffer_config *config = chan->backend.config;
>     81		unsigned long mmap_buf_len;
>     82	
>     83		if (config->output != RING_BUFFER_MMAP)
>     84			return -EINVAL;
>     85	
>     86		if (!buf)
>                     ^^^^
> Check.
> 
>     87			return -EBADF;
>     88	
> 
> regards,
> dan carpenter
> 

-- 
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com



^ permalink raw reply	[flat|nested] 6+ messages in thread

* [lttng-dev] lttng lib: ring buffer
  2011-11-30  8:44 Dan Carpenter
@ 2011-11-30 13:03 ` Mathieu Desnoyers
  0 siblings, 0 replies; 6+ messages in thread
From: Mathieu Desnoyers @ 2011-11-30 13:03 UTC (permalink / raw)


Fixed, I'll push the patch to GregKH in my next round.

Thanks!

Mathieu

* Dan Carpenter (dan.carpenter at oracle.com) wrote:
> Hello Mathieu Desnoyers,
> 
> This is a semi-automatic email about new static checker warnings.
> 
> 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		/*
> 
> regards,
> dan carpenter
> 

-- 
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com



^ permalink raw reply	[flat|nested] 6+ messages in thread

* [lttng-dev] lttng lib: ring buffer
@ 2011-11-30  8:45 Dan Carpenter
  2011-11-30 13:16 ` Mathieu Desnoyers
  0 siblings, 1 reply; 6+ messages in thread
From: Dan Carpenter @ 2011-11-30  8:45 UTC (permalink / raw)


Hello Mathieu Desnoyers,

This is a semi-automatic email about new static checker warnings.

The patch c844b2f5cfea: "lttng lib: ring buffer" from Nov 28, 2011, 
leads to the following Smatch complaint:

drivers/staging/lttng/lib/ringbuffer/ring_buffer_mmap.c +86 lib_ring_buffer_mmap_buf()
	 warn: variable dereferenced before check 'buf' (see line 79)

drivers/staging/lttng/lib/ringbuffer/ring_buffer_mmap.c
    78		unsigned long length = vma->vm_end - vma->vm_start;
    79		struct channel *chan = buf->backend.chan;
                                       ^^^^^^^^^^^^^^^^^
Dereference.

    80		const struct lib_ring_buffer_config *config = chan->backend.config;
    81		unsigned long mmap_buf_len;
    82	
    83		if (config->output != RING_BUFFER_MMAP)
    84			return -EINVAL;
    85	
    86		if (!buf)
                    ^^^^
Check.

    87			return -EBADF;
    88	

regards,
dan carpenter




^ permalink raw reply	[flat|nested] 6+ messages in thread

* [lttng-dev] lttng lib: ring buffer
@ 2011-11-30  8:44 Dan Carpenter
  2011-11-30 13:03 ` Mathieu Desnoyers
  0 siblings, 1 reply; 6+ messages in thread
From: Dan Carpenter @ 2011-11-30  8:44 UTC (permalink / raw)


Hello Mathieu Desnoyers,

This is a semi-automatic email about new static checker warnings.

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		/*

regards,
dan carpenter




^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2011-11-30 13:16 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-11-30  8:44 [lttng-dev] lttng lib: ring buffer Dan Carpenter
2011-11-30 13:07 ` Mathieu Desnoyers
  -- strict thread matches above, loose matches on Subject: below --
2011-11-30  8:45 Dan Carpenter
2011-11-30 13:16 ` Mathieu Desnoyers
2011-11-30  8:44 Dan Carpenter
2011-11-30 13:03 ` Mathieu Desnoyers

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox