"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 <dan.carpenter@xxxxxxxxxx> diff --git a/drivers/misc/eeprom/idt_89hpesx.c b/drivers/misc/eeprom/idt_89hpesx.c index 25d47d09e1cb..f5f2c5a8d9b0 100644 --- a/drivers/misc/eeprom/idt_89hpesx.c +++ b/drivers/misc/eeprom/idt_89hpesx.c @@ -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); } /* -- To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html