Skip to contentSkip to conversation

iio: imu: mpu6050: add mpu6500 register settings

DISCUSSION Dan Carpenter 4 participants 5 messages Mar 2, 2016 – Mar 7, 2016 IIO

lore
Share & tools
lore
#0 lore raw

Hello Matt Ranostay,

This is a semi-automatic email about new static checker warnings.

The patch 33da559f861b: "iio: imu: mpu6050: add mpu6500 register settings" from Feb 22, 2016, leads to the following Smatch complaint:

drivers/iio/imu/inv_mpu6050/inv_mpu_spi.c:58 inv_mpu_probe()
error: we previously assumed 'id' could be null (see line 48)

drivers/iio/imu/inv_mpu6050/inv_mpu_spi.c

    47		const struct spi_device_id *id = spi_get_device_id(spi);
    48		const char *name = id ? id->name : NULL;
                                   ^^

Existing code assumed id could be NULL.

    49	
    50		regmap = devm_regmap_init_spi(spi, &inv_mpu_regmap_config);
    51		if (IS_ERR(regmap)) {
    52			dev_err(&spi->dev, "Failed to register spi regmap %d\n",
    53				(int)PTR_ERR(regmap));
    54			return PTR_ERR(regmap);
    55		}
    56	
    57		return inv_mpu_core_probe(regmap, spi->irq, name,
    58					  inv_mpu_i2c_disable, id->driver_data);
                                                               ^^^^^^^^^^^^^^^

The patch adds an unchecked dereference.

    59	}
    60	

regards,
dan carpenter

#1 lore raw

I sent that too quickly. The i2c version of inv_mpu_probe() has the same issue as well.

	drivers/iio/imu/inv_mpu6050/inv_mpu_i2c.c:134 inv_mpu_probe()
	error: we previously assumed 'id' could be null (see line 119)

regards,
dan carpenter

#2 lore raw

Will fix and submit this afternoon!

Sent from my iPhone

Quoted 15 lines · Dan Carpenter

I sent that too quickly. The i2c version of inv_mpu_probe() has the same issue as well.

drivers/iio/imu/inv_mpu6050/inv_mpu_i2c.c:134 inv_mpu_probe()
error: we previously assumed 'id' could be null (see line 119)

regards,
dan carpenter

--
To unsubscribe from this list: send the line "unsubscribe linux-iio" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

maintainer
#3 lore raw
Quoted 14 lines · Matt Ranostay

Will fix and submit this afternoon!

Sent from my iPhone

Quoted 10 lines · Dan Carpenter

I sent that too quickly. The i2c version of inv_mpu_probe() has the same issue as well.

drivers/iio/imu/inv_mpu6050/inv_mpu_i2c.c:134 inv_mpu_probe()
error: we previously assumed 'id' could be null (see line 119)

regards,
dan carpenter

Whilst true, I'm now wondering why we assumed it might be. Paranoia perhaps? Hmm, guess we should keep it consistent (he says having just bounced this back to Matt)- I'll take it as is but as a cleanup rather than a fix.

J

Quoted 10 lines
Quoted 5 lines

--
To unsubscribe from this list: send the line "unsubscribe linux-iio" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe linux-iio" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

#4 lore raw

My understanding from the previous commits is that it might be NULL when enumerating via ACPI (I didn't dig into core to check this so I'm not able to confirm if that is still the case).
(commit: 4f33fbae555000bf73aaacbc4f5b24668afc8c7a)

Quoted 35 lines · Jonathan Cameron
Quoted 14 lines · Matt Ranostay

Will fix and submit this afternoon!

Sent from my iPhone

Quoted 10 lines · Dan Carpenter

I sent that too quickly. The i2c version of inv_mpu_probe() has the same issue as well.

drivers/iio/imu/inv_mpu6050/inv_mpu_i2c.c:134 inv_mpu_probe()
error: we previously assumed 'id' could be null (see line 119)

regards,
dan carpenter

Whilst true, I'm now wondering why we assumed it might be. Paranoia perhaps? Hmm, guess we should keep it consistent (he says having just bounced this back to Matt)- I'll take it as is but as a cleanup rather than a fix.

J

Quoted 10 lines
Quoted 5 lines

--
To unsubscribe from this list: send the line "unsubscribe linux-iio" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe linux-iio" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe linux-iio" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html