[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20100701173805.GW19184@bicker>
Date: Thu, 1 Jul 2010 19:38:05 +0200
From: Dan Carpenter <error27@...il.com>
To: Kulikov Vasiliy <segooon@...il.com>
Cc: Kernel Janitors <kernel-janitors@...r.kernel.org>,
Doug Gilbert <dgilbert@...erlog.com>,
"James E.J. Bottomley" <James.Bottomley@...e.de>,
Andrew Morton <akpm@...ux-foundation.org>,
FUJITA Tomonori <fujita.tomonori@....ntt.co.jp>,
Jens Axboe <jens.axboe@...cle.com>,
Alexey Dobriyan <adobriyan@...il.com>,
linux-scsi@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 10/25] scsi/sg: remove casts from void*
On Thu, Jul 01, 2010 at 05:16:43PM +0400, Kulikov Vasiliy wrote:
> - Sg_fd *sfp;
> + Sg_fd *sfp = filp->private_data;
^^^^^^^^^^^^^^^^^^
Dereferenced here.
> unsigned long req_sz, len, sa;
> Sg_scatter_hold *rsv_schp;
> int k, length;
>
> - if ((!filp) || (!vma) || (!(sfp = (Sg_fd *) filp->private_data)))
> + if ((!filp) || (!vma) || !(sfp))
^^^^^
Checked here.
I obviously just spotted that during the review but another way would be
to use smatch to catch these. (http://smatch.sf.net)
$ /path/to/smatch_scripts/kchecker drivers/scsi/sg.c
CHK include/linux/version.h
CHK include/generated/utsrelease.h
CALL scripts/checksyscalls.sh
CHECK drivers/scsi/sg.c
drivers/scsi/sg.c +1236 sg_mmap(7) warn: variable dereferenced before check 'filp'
CC [M] drivers/scsi/sg.o
$
You could also get rid of the extra parenthesis.
+ if (!filp || !vma || !sfp)
> return -ENXIO;
> req_sz = vma->vm_end - vma->vm_start;
> SCSI_LOG_TIMEOUT(3, printk("sg_mmap starting, vm_start=%p, len=%d\n",
Btw. These are _way_ better than when you sent them the first time.
Thanks for doing resending them.
regards,
dan carpenter
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists