lttng lib: ring buffer remove duplicate null pointer
authorMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Wed, 30 Nov 2011 18:34:15 +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_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

This check is performed at mapping setup time in
lib_ring_buffer_mmap_buf() already, so we can safely remove this
duplicata.

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_mmap.c

index 68221ee9a87030563ed212ac3b32afde26572f92..cf374348d907334f81e3f2d9b67ef8bce44789d2 100644 (file)
@@ -30,9 +30,6 @@ static int lib_ring_buffer_fault(struct vm_area_struct *vma, struct vm_fault *vm
        void **virt;
        unsigned long offset, sb_bindex;
 
-       if (!buf)
-               return VM_FAULT_OOM;
-
        /*
         * Verify that faults are only done on the range of pages owned by the
         * reader.