From: Mathieu Desnoyers Date: Wed, 30 Nov 2011 18:34:15 +0000 (-0500) Subject: lttng lib: ring buffer remove duplicate null pointer X-Git-Url: http://git.efficios.com/?a=commitdiff_plain;h=e5f7787388da7562b955a36b46e909e500a5974b;p=deliverable%2Flinux.git lttng lib: ring buffer remove duplicate null pointer * 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_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 Signed-off-by: Mathieu Desnoyers Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/lttng/lib/ringbuffer/ring_buffer_mmap.c b/drivers/staging/lttng/lib/ringbuffer/ring_buffer_mmap.c index 68221ee9a870..cf374348d907 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.