From 7df8fc578b63662ec03ad3e69ecc6f04f7d77fb8 Mon Sep 17 00:00:00 2001 From: Koen Kooi Date: Mon, 26 Mar 2012 08:52:27 -0500 Subject: linux-ti33x-psp 3.2: update to 3.2.13 Signed-off-by: Koen Kooi Signed-off-by: Denys Dmytriyenko --- ...3627ehf-Fix-memory-leak-in-probe-function.patch | 53 ++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.12/0035-hwmon-w83627ehf-Fix-memory-leak-in-probe-function.patch (limited to 'recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.12/0035-hwmon-w83627ehf-Fix-memory-leak-in-probe-function.patch') diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.12/0035-hwmon-w83627ehf-Fix-memory-leak-in-probe-function.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.12/0035-hwmon-w83627ehf-Fix-memory-leak-in-probe-function.patch new file mode 100644 index 00000000..0df8c385 --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.12/0035-hwmon-w83627ehf-Fix-memory-leak-in-probe-function.patch @@ -0,0 +1,53 @@ +From 61fa0a2298850898c90ce67bb0b9b440c452820a Mon Sep 17 00:00:00 2001 +From: Guenter Roeck +Date: Mon, 12 Mar 2012 08:33:10 -0700 +Subject: [PATCH 35/42] hwmon: (w83627ehf) Fix memory leak in probe function + +commit 32260d94408c553dca4ce54104edf79941a27536 upstream. + +The driver probe function leaked memory if creating the cpu0_vid attribute file +failed. Fix by converting the driver to use devm_kzalloc. + +Signed-off-by: Guenter Roeck +Acked-by: Jean Delvare +Signed-off-by: Greg Kroah-Hartman +--- + drivers/hwmon/w83627ehf.c | 7 +++---- + 1 file changed, 3 insertions(+), 4 deletions(-) + +diff --git a/drivers/hwmon/w83627ehf.c b/drivers/hwmon/w83627ehf.c +index 7a44a56..3ffa1fa 100644 +--- a/drivers/hwmon/w83627ehf.c ++++ b/drivers/hwmon/w83627ehf.c +@@ -2004,7 +2004,8 @@ static int __devinit w83627ehf_probe(struct platform_device *pdev) + goto exit; + } + +- data = kzalloc(sizeof(struct w83627ehf_data), GFP_KERNEL); ++ data = devm_kzalloc(&pdev->dev, sizeof(struct w83627ehf_data), ++ GFP_KERNEL); + if (!data) { + err = -ENOMEM; + goto exit_release; +@@ -2498,9 +2499,8 @@ static int __devinit w83627ehf_probe(struct platform_device *pdev) + + exit_remove: + w83627ehf_device_remove_files(dev); +- kfree(data); +- platform_set_drvdata(pdev, NULL); + exit_release: ++ platform_set_drvdata(pdev, NULL); + release_region(res->start, IOREGION_LENGTH); + exit: + return err; +@@ -2514,7 +2514,6 @@ static int __devexit w83627ehf_remove(struct platform_device *pdev) + w83627ehf_device_remove_files(&pdev->dev); + release_region(data->addr, IOREGION_LENGTH); + platform_set_drvdata(pdev, NULL); +- kfree(data); + + return 0; + } +-- +1.7.9.4 + -- cgit v1.2.3-54-g00ecf