| From e5f7787388da7562b955a36b46e909e500a5974b Mon Sep 17 00:00:00 2001 |
| From: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> |
| Date: Wed, 30 Nov 2011 13:34:15 -0500 |
| Subject: lttng lib: ring buffer remove duplicate null pointer |
| |
| * 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> |
| --- |
| .../lttng/lib/ringbuffer/ring_buffer_mmap.c | 3 --- |
| 1 files changed, 0 insertions(+), 3 deletions(-) |
| |
| diff --git a/drivers/staging/lttng/lib/ringbuffer/ring_buffer_mmap.c b/drivers/staging/lttng/lib/ringbuffer/ring_buffer_mmap.c |
| index 68221ee..cf37434 100644 |
| --- a/drivers/staging/lttng/lib/ringbuffer/ring_buffer_mmap.c |
| +++ b/drivers/staging/lttng/lib/ringbuffer/ring_buffer_mmap.c |
| @@ -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. |
| -- |
| 1.7.9 |
| |