eeprom/idt_89hpesx: freeing devm_ pointer with kfree()
Subsystems (2)
PATCH 1/1 eeprom/idt_89hpesx: freeing devm_ pointer with kfree()
"pdev->ee_file" was allocated with devm_kmalloc() so freeing it with kfree() is a double free. In fact, we don't need to free it at all.
Fixes cfad6425382e ("eeprom: Add IDT 89HPESx EEPROM/CSR driver")
Signed-off-by Dan Carpenter <[email protected]>
drivers/misc/eeprom/idt_89hpesx.c +0 -4
@@ -1359,7 +1359,6 @@ static int idt_create_sysfs_files(struct idt_89hpesx_dev *pdev) pdev->ee_file->size = pdev->eesize; ret =sysfs_create_bin_file (&dev->kobj, pdev->ee_file);if (ret !=0 ) { -kfree (pdev->ee_file);dev_err (dev,"Failed to create EEPROM sysfs-node" );return ret; }
@@ -1381,9 +1380,6 @@ static void idt_remove_sysfs_files(struct idt_89hpesx_dev *pdev)/* Remove EEPROM sysfs file */ sysfs_remove_bin_file (&dev->kobj, pdev->ee_file); - -/* Free memory allocated for bin_attribute structure */ -kfree (pdev->ee_file); }/*
Quoted 19 lines · Dan Carpenter
"
pdev->ee_file" was allocated withdevm_kmalloc()so freeing it withkfree()is a double free. In fact, we don't need to free it at all.Fixes cfad6425382e ("eeprom: Add IDT 89HPESx EEPROM/CSR driver")Signed-off-by Dan Carpenter <[email protected]>drivers/misc/eeprom/idt_89hpesx.c +0
-1@@ -1359,7 +1359,6 @@ static int idt_create_sysfs_files(struct idt_89hpesx_dev *pdev) pdev->ee_file->size = pdev->eesize; ret =sysfs_create_bin_file (&dev->kobj, pdev->ee_file);if (ret !=0 ) { -kfree (pdev->ee_file);dev_err (dev,"Failed to create EEPROM sysfs-node" );return ret; }
drivers/misc/eeprom/idt_89hpesx.c static void idt_remove_sysfs_files(struct idt_89hpesx_dev *pdev) · line 1385
Quoted 9 lines
drivers/misc/eeprom/idt_89hpesx.c +0
-3@@ -1381,9 +1380,6 @@ static void idt_remove_sysfs_files(struct idt_89hpesx_dev *pdev)/* Remove EEPROM sysfs file */ sysfs_remove_bin_file (&dev->kobj, pdev->ee_file); - -/* Free memory allocated for bin_attribute structure */ -kfree (pdev->ee_file); }/*
Just got the same patch a day earlier, but still thanks for the pointing the issue out.
Regards,
-Sergey