tree: https://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu.git armnommu head: d03e292d5f72c15f004a13503f4a5cca0a26bec0 commit: d03e292d5f72c15f004a13503f4a5cca0a26bec0 [3/3] ARM: versatile: support configuring versatile machine for no-MMU config: arm-randconfig-r073-20241230 (https://download.01.org/0day-ci/archive/20241231/202412310053.VgXsTpPO-lkp@xxxxxxxxx/config) compiler: arm-linux-gnueabi-gcc (GCC) 14.2.0 If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@xxxxxxxxx> | Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> | Closes: https://lore.kernel.org/r/202412310053.VgXsTpPO-lkp@xxxxxxxxx/ smatch warnings: drivers/mtd/maps/pismo.c:243 pismo_probe() error: we previously assumed 'pdata' could be null (see line 226) vim +/pdata +243 drivers/mtd/maps/pismo.c 0b79d5d1e5982b Uwe Kleine-König 2023-02-26 209 static int pismo_probe(struct i2c_client *client) f6a8c60960bbea Russell King - ARM Linux 2009-11-29 210 { f6a8c60960bbea Russell King - ARM Linux 2009-11-29 211 struct pismo_pdata *pdata = client->dev.platform_data; f6a8c60960bbea Russell King - ARM Linux 2009-11-29 212 struct pismo_eeprom eeprom; f6a8c60960bbea Russell King - ARM Linux 2009-11-29 213 struct pismo_data *pismo; f6a8c60960bbea Russell King - ARM Linux 2009-11-29 214 int ret, i; f6a8c60960bbea Russell King - ARM Linux 2009-11-29 215 752031210ca145 Wolfram Sang 2019-07-22 216 if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) { f6a8c60960bbea Russell King - ARM Linux 2009-11-29 217 dev_err(&client->dev, "functionality mismatch\n"); f6a8c60960bbea Russell King - ARM Linux 2009-11-29 218 return -EIO; f6a8c60960bbea Russell King - ARM Linux 2009-11-29 219 } f6a8c60960bbea Russell King - ARM Linux 2009-11-29 220 f6a8c60960bbea Russell King - ARM Linux 2009-11-29 221 pismo = kzalloc(sizeof(*pismo), GFP_KERNEL); f6a8c60960bbea Russell King - ARM Linux 2009-11-29 222 if (!pismo) f6a8c60960bbea Russell King - ARM Linux 2009-11-29 223 return -ENOMEM; f6a8c60960bbea Russell King - ARM Linux 2009-11-29 224 f6a8c60960bbea Russell King - ARM Linux 2009-11-29 225 pismo->client = client; f6a8c60960bbea Russell King - ARM Linux 2009-11-29 @226 if (pdata) { ^^^^^ This code assumes pdata can be NULL f6a8c60960bbea Russell King - ARM Linux 2009-11-29 227 pismo->vpp = pdata->set_vpp; f6a8c60960bbea Russell King - ARM Linux 2009-11-29 228 pismo->vpp_data = pdata->vpp_data; f6a8c60960bbea Russell King - ARM Linux 2009-11-29 229 } f6a8c60960bbea Russell King - ARM Linux 2009-11-29 230 i2c_set_clientdata(client, pismo); f6a8c60960bbea Russell King - ARM Linux 2009-11-29 231 f6a8c60960bbea Russell King - ARM Linux 2009-11-29 232 ret = pismo_eeprom_read(client, &eeprom, 0, sizeof(eeprom)); f6a8c60960bbea Russell King - ARM Linux 2009-11-29 233 if (ret < 0) { f6a8c60960bbea Russell King - ARM Linux 2009-11-29 234 dev_err(&client->dev, "error reading EEPROM: %d\n", ret); 395b228858778d Wolfram Sang 2010-03-20 235 goto exit_free; f6a8c60960bbea Russell King - ARM Linux 2009-11-29 236 } f6a8c60960bbea Russell King - ARM Linux 2009-11-29 237 f6a8c60960bbea Russell King - ARM Linux 2009-11-29 238 dev_info(&client->dev, "%.15s board found\n", eeprom.board); f6a8c60960bbea Russell King - ARM Linux 2009-11-29 239 f6a8c60960bbea Russell King - ARM Linux 2009-11-29 240 for (i = 0; i < ARRAY_SIZE(eeprom.cs); i++) f6a8c60960bbea Russell King - ARM Linux 2009-11-29 241 if (eeprom.cs[i].type != 0xff) f6a8c60960bbea Russell King - ARM Linux 2009-11-29 242 pismo_add_one(pismo, i, &eeprom.cs[i], f6a8c60960bbea Russell King - ARM Linux 2009-11-29 @243 pdata->cs_addrs[i]); ^^^^^^^ Unchecked dereference f6a8c60960bbea Russell King - ARM Linux 2009-11-29 244 f6a8c60960bbea Russell King - ARM Linux 2009-11-29 245 return 0; 395b228858778d Wolfram Sang 2010-03-20 246 395b228858778d Wolfram Sang 2010-03-20 247 exit_free: 395b228858778d Wolfram Sang 2010-03-20 248 kfree(pismo); 395b228858778d Wolfram Sang 2010-03-20 249 return ret; f6a8c60960bbea Russell King - ARM Linux 2009-11-29 250 } -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki