Line 494 should be dropped. The whole fail label could be dropped as well.
julia ---------- Forwarded message ---------- Date: Mon, 10 Sep 2018 20:27:41 +0800 From: kbuild test robot <l...@intel.com> To: kbu...@01.org Cc: Julia Lawall <julia.law...@lip6.fr> Subject: Re: [PATCH 1/2] eeprom: eeprom_93xx46: use resource management In-Reply-To: <20180910074404.8041-2-b...@bgdev.pl> References: <20180910074404.8041-2-b...@bgdev.pl> Hi Bartosz, I love your patch! Perhaps something to improve: [auto build test WARNING on char-misc/char-misc-testing] [also build test WARNING on v4.19-rc2 next-20180906] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Bartosz-Golaszewski/eeprom-eeprom_93xx46-use-resource-management/20180910-192124 :::::: branch date: 66 minutes ago :::::: commit date: 66 minutes ago >> drivers/misc/eeprom/eeprom_93xx46.c:494:1-6: WARNING: invalid free of devm_ >> allocated data # https://github.com/0day-ci/linux/commit/d51b089674382bcc4f773d88ecd7c76d5ce472f7 git remote add linux-review https://github.com/0day-ci/linux git remote update linux-review git checkout d51b089674382bcc4f773d88ecd7c76d5ce472f7 vim +494 drivers/misc/eeprom/eeprom_93xx46.c c074abe02 Cory Tusar 2016-01-06 423 80c8ae289 Bill Pemberton 2012-11-19 424 static int eeprom_93xx46_probe(struct spi_device *spi) 06b4501e8 Anatolij Gustschin 2011-07-25 425 { 06b4501e8 Anatolij Gustschin 2011-07-25 426 struct eeprom_93xx46_platform_data *pd; 06b4501e8 Anatolij Gustschin 2011-07-25 427 struct eeprom_93xx46_dev *edev; 06b4501e8 Anatolij Gustschin 2011-07-25 428 int err; 06b4501e8 Anatolij Gustschin 2011-07-25 429 c074abe02 Cory Tusar 2016-01-06 430 if (spi->dev.of_node) { c074abe02 Cory Tusar 2016-01-06 431 err = eeprom_93xx46_probe_dt(spi); c074abe02 Cory Tusar 2016-01-06 432 if (err < 0) c074abe02 Cory Tusar 2016-01-06 433 return err; c074abe02 Cory Tusar 2016-01-06 434 } c074abe02 Cory Tusar 2016-01-06 435 06b4501e8 Anatolij Gustschin 2011-07-25 436 pd = spi->dev.platform_data; 06b4501e8 Anatolij Gustschin 2011-07-25 437 if (!pd) { 06b4501e8 Anatolij Gustschin 2011-07-25 438 dev_err(&spi->dev, "missing platform data\n"); 06b4501e8 Anatolij Gustschin 2011-07-25 439 return -ENODEV; 06b4501e8 Anatolij Gustschin 2011-07-25 440 } 06b4501e8 Anatolij Gustschin 2011-07-25 441 d51b08967 Bartosz Golaszewski 2018-09-10 442 edev = devm_kzalloc(&spi->dev, sizeof(*edev), GFP_KERNEL); 06b4501e8 Anatolij Gustschin 2011-07-25 443 if (!edev) 06b4501e8 Anatolij Gustschin 2011-07-25 444 return -ENOMEM; 06b4501e8 Anatolij Gustschin 2011-07-25 445 06b4501e8 Anatolij Gustschin 2011-07-25 446 if (pd->flags & EE_ADDR8) 06b4501e8 Anatolij Gustschin 2011-07-25 447 edev->addrlen = 7; 06b4501e8 Anatolij Gustschin 2011-07-25 448 else if (pd->flags & EE_ADDR16) 06b4501e8 Anatolij Gustschin 2011-07-25 449 edev->addrlen = 6; 06b4501e8 Anatolij Gustschin 2011-07-25 450 else { 06b4501e8 Anatolij Gustschin 2011-07-25 451 dev_err(&spi->dev, "unspecified address type\n"); 06b4501e8 Anatolij Gustschin 2011-07-25 452 err = -EINVAL; 06b4501e8 Anatolij Gustschin 2011-07-25 453 goto fail; 06b4501e8 Anatolij Gustschin 2011-07-25 454 } 06b4501e8 Anatolij Gustschin 2011-07-25 455 06b4501e8 Anatolij Gustschin 2011-07-25 456 mutex_init(&edev->lock); 06b4501e8 Anatolij Gustschin 2011-07-25 457 dd69a18ae Mark Brown 2016-04-20 458 edev->spi = spi; 06b4501e8 Anatolij Gustschin 2011-07-25 459 edev->pdata = pd; 06b4501e8 Anatolij Gustschin 2011-07-25 460 1c4b6e2c7 Andrew Lunn 2016-02-26 461 edev->size = 128; 1c4b6e2c7 Andrew Lunn 2016-02-26 462 edev->nvmem_config.name = dev_name(&spi->dev); 1c4b6e2c7 Andrew Lunn 2016-02-26 463 edev->nvmem_config.dev = &spi->dev; 1c4b6e2c7 Andrew Lunn 2016-02-26 464 edev->nvmem_config.read_only = pd->flags & EE_READONLY; 1c4b6e2c7 Andrew Lunn 2016-02-26 465 edev->nvmem_config.root_only = true; 1c4b6e2c7 Andrew Lunn 2016-02-26 466 edev->nvmem_config.owner = THIS_MODULE; 1c4b6e2c7 Andrew Lunn 2016-02-26 467 edev->nvmem_config.compat = true; 1c4b6e2c7 Andrew Lunn 2016-02-26 468 edev->nvmem_config.base_dev = &spi->dev; a8ab316ab Srinivas Kandagatla 2016-04-24 469 edev->nvmem_config.reg_read = eeprom_93xx46_read; a8ab316ab Srinivas Kandagatla 2016-04-24 470 edev->nvmem_config.reg_write = eeprom_93xx46_write; a8ab316ab Srinivas Kandagatla 2016-04-24 471 edev->nvmem_config.priv = edev; a8ab316ab Srinivas Kandagatla 2016-04-24 472 edev->nvmem_config.stride = 4; a8ab316ab Srinivas Kandagatla 2016-04-24 473 edev->nvmem_config.word_size = 1; a8ab316ab Srinivas Kandagatla 2016-04-24 474 edev->nvmem_config.size = edev->size; 1c4b6e2c7 Andrew Lunn 2016-02-26 475 d51b08967 Bartosz Golaszewski 2018-09-10 476 edev->nvmem = devm_nvmem_register(&spi->dev, &edev->nvmem_config); 1c4b6e2c7 Andrew Lunn 2016-02-26 477 if (IS_ERR(edev->nvmem)) { 1c4b6e2c7 Andrew Lunn 2016-02-26 478 err = PTR_ERR(edev->nvmem); 06b4501e8 Anatolij Gustschin 2011-07-25 479 goto fail; 1c4b6e2c7 Andrew Lunn 2016-02-26 480 } 06b4501e8 Anatolij Gustschin 2011-07-25 481 06b4501e8 Anatolij Gustschin 2011-07-25 482 dev_info(&spi->dev, "%d-bit eeprom %s\n", 06b4501e8 Anatolij Gustschin 2011-07-25 483 (pd->flags & EE_ADDR8) ? 8 : 16, 06b4501e8 Anatolij Gustschin 2011-07-25 484 (pd->flags & EE_READONLY) ? "(readonly)" : ""); 06b4501e8 Anatolij Gustschin 2011-07-25 485 06b4501e8 Anatolij Gustschin 2011-07-25 486 if (!(pd->flags & EE_READONLY)) { 06b4501e8 Anatolij Gustschin 2011-07-25 487 if (device_create_file(&spi->dev, &dev_attr_erase)) 06b4501e8 Anatolij Gustschin 2011-07-25 488 dev_err(&spi->dev, "can't create erase interface\n"); 06b4501e8 Anatolij Gustschin 2011-07-25 489 } 06b4501e8 Anatolij Gustschin 2011-07-25 490 5ba75b559 Jingoo Han 2013-04-05 491 spi_set_drvdata(spi, edev); 06b4501e8 Anatolij Gustschin 2011-07-25 492 return 0; 06b4501e8 Anatolij Gustschin 2011-07-25 493 fail: 06b4501e8 Anatolij Gustschin 2011-07-25 @494 kfree(edev); 06b4501e8 Anatolij Gustschin 2011-07-25 495 return err; 06b4501e8 Anatolij Gustschin 2011-07-25 496 } 06b4501e8 Anatolij Gustschin 2011-07-25 497 :::::: The code at line 494 was first introduced by commit :::::: 06b4501e88ad10f02849a3f9d7408ed6ae15a53f misc/eeprom: add driver for microwire 93xx46 EEPROMs :::::: TO: Anatolij Gustschin <ag...@denx.de> :::::: CC: Linus Torvalds <torva...@linux-foundation.org> --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation