All of lore.kernel.org
 help / color / mirror / Atom feed
* drivers/hwmon/acpi_power_meter.c:900 acpi_power_meter_add() warn: 'resource->model_number' double freed
@ 2020-10-02 13:25 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2020-10-02 13:25 UTC (permalink / raw)
  To: kbuild

[-- Attachment #1: Type: text/plain, Size: 6308 bytes --]

CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Misono Tomohiro <misono.tomohiro@jp.fujitsu.com>
CC: Guenter Roeck <linux@roeck-us.net>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   472e5b056f000a778abb41f1e443de58eb259783
commit: 8b97f9922211c44a739c5cbd9502ecbb9f17f6d1 hwmon: (acpi_power_meter) Fix potential memory leak in acpi_power_meter_add()
date:   3 months ago
:::::: branch date: 11 hours ago
:::::: commit date: 3 months ago
config: i386-randconfig-m021-20201002 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

smatch warnings:
drivers/hwmon/acpi_power_meter.c:900 acpi_power_meter_add() warn: 'resource->model_number' double freed

vim +900 drivers/hwmon/acpi_power_meter.c

de584afa5e188a drivers/acpi/power_meter.c       Darrick J. Wong 2009-09-18  856  
de584afa5e188a drivers/acpi/power_meter.c       Darrick J. Wong 2009-09-18  857  static int acpi_power_meter_add(struct acpi_device *device)
de584afa5e188a drivers/acpi/power_meter.c       Darrick J. Wong 2009-09-18  858  {
de584afa5e188a drivers/acpi/power_meter.c       Darrick J. Wong 2009-09-18  859  	int res;
de584afa5e188a drivers/acpi/power_meter.c       Darrick J. Wong 2009-09-18  860  	struct acpi_power_meter_resource *resource;
de584afa5e188a drivers/acpi/power_meter.c       Darrick J. Wong 2009-09-18  861  
de584afa5e188a drivers/acpi/power_meter.c       Darrick J. Wong 2009-09-18  862  	if (!device)
de584afa5e188a drivers/acpi/power_meter.c       Darrick J. Wong 2009-09-18  863  		return -EINVAL;
de584afa5e188a drivers/acpi/power_meter.c       Darrick J. Wong 2009-09-18  864  
de584afa5e188a drivers/acpi/power_meter.c       Darrick J. Wong 2009-09-18  865  	resource = kzalloc(sizeof(struct acpi_power_meter_resource),
de584afa5e188a drivers/acpi/power_meter.c       Darrick J. Wong 2009-09-18  866  			   GFP_KERNEL);
de584afa5e188a drivers/acpi/power_meter.c       Darrick J. Wong 2009-09-18  867  	if (!resource)
de584afa5e188a drivers/acpi/power_meter.c       Darrick J. Wong 2009-09-18  868  		return -ENOMEM;
de584afa5e188a drivers/acpi/power_meter.c       Darrick J. Wong 2009-09-18  869  
de584afa5e188a drivers/acpi/power_meter.c       Darrick J. Wong 2009-09-18  870  	resource->sensors_valid = 0;
de584afa5e188a drivers/acpi/power_meter.c       Darrick J. Wong 2009-09-18  871  	resource->acpi_dev = device;
de584afa5e188a drivers/acpi/power_meter.c       Darrick J. Wong 2009-09-18  872  	mutex_init(&resource->lock);
de584afa5e188a drivers/acpi/power_meter.c       Darrick J. Wong 2009-09-18  873  	strcpy(acpi_device_name(device), ACPI_POWER_METER_DEVICE_NAME);
de584afa5e188a drivers/acpi/power_meter.c       Darrick J. Wong 2009-09-18  874  	strcpy(acpi_device_class(device), ACPI_POWER_METER_CLASS);
de584afa5e188a drivers/acpi/power_meter.c       Darrick J. Wong 2009-09-18  875  	device->driver_data = resource;
de584afa5e188a drivers/acpi/power_meter.c       Darrick J. Wong 2009-09-18  876  
de584afa5e188a drivers/acpi/power_meter.c       Darrick J. Wong 2009-09-18  877  	free_capabilities(resource);
de584afa5e188a drivers/acpi/power_meter.c       Darrick J. Wong 2009-09-18  878  	res = read_capabilities(resource);
de584afa5e188a drivers/acpi/power_meter.c       Darrick J. Wong 2009-09-18  879  	if (res)
de584afa5e188a drivers/acpi/power_meter.c       Darrick J. Wong 2009-09-18  880  		goto exit_free;
de584afa5e188a drivers/acpi/power_meter.c       Darrick J. Wong 2009-09-18  881  
de584afa5e188a drivers/acpi/power_meter.c       Darrick J. Wong 2009-09-18  882  	resource->trip[0] = resource->trip[1] = -1;
de584afa5e188a drivers/acpi/power_meter.c       Darrick J. Wong 2009-09-18  883  
de584afa5e188a drivers/acpi/power_meter.c       Darrick J. Wong 2009-09-18  884  	res = setup_attrs(resource);
de584afa5e188a drivers/acpi/power_meter.c       Darrick J. Wong 2009-09-18  885  	if (res)
8b97f9922211c4 drivers/hwmon/acpi_power_meter.c Misono Tomohiro 2020-06-25  886  		goto exit_free_capability;
de584afa5e188a drivers/acpi/power_meter.c       Darrick J. Wong 2009-09-18  887  
de584afa5e188a drivers/acpi/power_meter.c       Darrick J. Wong 2009-09-18  888  	resource->hwmon_dev = hwmon_device_register(&device->dev);
de584afa5e188a drivers/acpi/power_meter.c       Darrick J. Wong 2009-09-18  889  	if (IS_ERR(resource->hwmon_dev)) {
de584afa5e188a drivers/acpi/power_meter.c       Darrick J. Wong 2009-09-18  890  		res = PTR_ERR(resource->hwmon_dev);
de584afa5e188a drivers/acpi/power_meter.c       Darrick J. Wong 2009-09-18  891  		goto exit_remove;
de584afa5e188a drivers/acpi/power_meter.c       Darrick J. Wong 2009-09-18  892  	}
de584afa5e188a drivers/acpi/power_meter.c       Darrick J. Wong 2009-09-18  893  
de584afa5e188a drivers/acpi/power_meter.c       Darrick J. Wong 2009-09-18  894  	res = 0;
de584afa5e188a drivers/acpi/power_meter.c       Darrick J. Wong 2009-09-18  895  	goto exit;
de584afa5e188a drivers/acpi/power_meter.c       Darrick J. Wong 2009-09-18  896  
de584afa5e188a drivers/acpi/power_meter.c       Darrick J. Wong 2009-09-18  897  exit_remove:
de584afa5e188a drivers/acpi/power_meter.c       Darrick J. Wong 2009-09-18  898  	remove_attrs(resource);
8b97f9922211c4 drivers/hwmon/acpi_power_meter.c Misono Tomohiro 2020-06-25  899  exit_free_capability:
8b97f9922211c4 drivers/hwmon/acpi_power_meter.c Misono Tomohiro 2020-06-25 @900  	free_capabilities(resource);
de584afa5e188a drivers/acpi/power_meter.c       Darrick J. Wong 2009-09-18  901  exit_free:
de584afa5e188a drivers/acpi/power_meter.c       Darrick J. Wong 2009-09-18  902  	kfree(resource);
de584afa5e188a drivers/acpi/power_meter.c       Darrick J. Wong 2009-09-18  903  exit:
de584afa5e188a drivers/acpi/power_meter.c       Darrick J. Wong 2009-09-18  904  	return res;
de584afa5e188a drivers/acpi/power_meter.c       Darrick J. Wong 2009-09-18  905  }
de584afa5e188a drivers/acpi/power_meter.c       Darrick J. Wong 2009-09-18  906  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 32549 bytes --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2020-10-02 13:25 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-02 13:25 drivers/hwmon/acpi_power_meter.c:900 acpi_power_meter_add() warn: 'resource->model_number' double freed kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.