Hello Javier Martinez Canillas,
This is a semi-automatic email about new static checker warnings.
The patch 4065d1e7b216: "Input: add Cypress TTSP capacitive
multi-touch screen support" from Jan 31, 2012, leads to the following
Smatch complaint:
drivers/input/touchscreen/cyttsp_core.c +526 cyttsp_probe()
warn: variable dereferenced before check 'dev' (see line 521)
drivers/input/touchscreen/cyttsp_core.c
520 {
521 const struct cyttsp_platform_data *pdata = dev->platform_data;
^^^^^
dereference.
522 struct cyttsp *ts;
523 struct input_dev *input_dev;
524 int error;
525
526 if (!dev || !bus_ops || !pdata || !pdata->name || irq <= 0) {
^^^^
check.
527 error = -EINVAL;
528 goto err_out;
"dev" is never NULL here so the check can be removed probably.
regards,
dan carpenter
On Wed, Feb 1, 2012 at 10:40 AM, Dan Carpenter [off-list ref] wrote:
Hello Javier Martinez Canillas,
This is a semi-automatic email about new static checker warnings.
The patch 4065d1e7b216: "Input: add Cypress TTSP capacitive
multi-touch screen support" from Jan 31, 2012, leads to the following
Smatch complaint:
drivers/input/touchscreen/cyttsp_core.c +526 cyttsp_probe()
warn: variable dereferenced before check 'dev' (see line 521)
drivers/input/touchscreen/cyttsp_core.c
520 {
521 const struct cyttsp_platform_data *pdata = dev->platform_data;
^^^^^
dereference.
522 struct cyttsp *ts;
523 struct input_dev *input_dev;
524 int error;
525
526 if (!dev || !bus_ops || !pdata || !pdata->name || irq <= 0) {
^^^^
check.
527 error = -EINVAL;
528 goto err_out;
"dev" is never NULL here so the check can be removed probably.
regards,
dan carpenter
Hello Dan,
Thank you for running smatch on this driver.
dev is never NULL since both i2c and spi bus drivers pass as an
argument a pointer to a member of an previously allocated structure
(struct i2c_client and struct spi_device respectively).
But you are right that is wrong to check after dereferencing the
pointer. Instead of remove the !dev check I will move the pdata
assignment after the check. I'll send a patch now to fix the issue.
Thank you and best regards,
Javier
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html