diff options
Diffstat (limited to 'target/linux/ps3/patches-2.6.28/0001-powerpc-ps3-Fix-memory-leak-in-device-init.patch')
-rw-r--r-- | target/linux/ps3/patches-2.6.28/0001-powerpc-ps3-Fix-memory-leak-in-device-init.patch | 82 |
1 files changed, 0 insertions, 82 deletions
diff --git a/target/linux/ps3/patches-2.6.28/0001-powerpc-ps3-Fix-memory-leak-in-device-init.patch b/target/linux/ps3/patches-2.6.28/0001-powerpc-ps3-Fix-memory-leak-in-device-init.patch deleted file mode 100644 index 624be88c30..0000000000 --- a/target/linux/ps3/patches-2.6.28/0001-powerpc-ps3-Fix-memory-leak-in-device-init.patch +++ /dev/null @@ -1,82 +0,0 @@ -From d4ad304841a9790d4fa35e51d6aa9baeba631559 Mon Sep 17 00:00:00 2001 -From: Masakazu Mokuno <mokuno@sm.sony.co.jp> -Date: Thu, 30 Oct 2008 08:17:18 +0000 -Subject: [PATCH] powerpc/ps3: Fix memory leak in device init - -Free dynamically allocated device data structures when device registration -fails. This fixes memory leakage when the registration fails. - -Signed-off-by: Masakazu Mokuno <mokuno@sm.sony.co.jp> -Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com> -Signed-off-by: Paul Mackerras <paulus@samba.org> ---- - arch/powerpc/platforms/ps3/device-init.c | 29 ++++++++++++++++++++++++----- - 1 files changed, 24 insertions(+), 5 deletions(-) - -diff --git a/arch/powerpc/platforms/ps3/device-init.c b/arch/powerpc/platforms/ps3/device-init.c -index ffdd8e9..43816da 100644 ---- a/arch/powerpc/platforms/ps3/device-init.c -+++ b/arch/powerpc/platforms/ps3/device-init.c -@@ -314,11 +314,17 @@ static int __init ps3_setup_vuart_device(enum ps3_match_id match_id, - - result = ps3_system_bus_device_register(&p->dev); - -- if (result) -+ if (result) { - pr_debug("%s:%d ps3_system_bus_device_register failed\n", - __func__, __LINE__); -- -+ goto fail_device_register; -+ } - pr_debug(" <- %s:%d\n", __func__, __LINE__); -+ return 0; -+ -+fail_device_register: -+ kfree(p); -+ pr_debug(" <- %s:%d fail\n", __func__, __LINE__); - return result; - } - -@@ -463,11 +469,17 @@ static int __init ps3_register_sound_devices(void) - - result = ps3_system_bus_device_register(&p->dev); - -- if (result) -+ if (result) { - pr_debug("%s:%d ps3_system_bus_device_register failed\n", - __func__, __LINE__); -- -+ goto fail_device_register; -+ } - pr_debug(" <- %s:%d\n", __func__, __LINE__); -+ return 0; -+ -+fail_device_register: -+ kfree(p); -+ pr_debug(" <- %s:%d failed\n", __func__, __LINE__); - return result; - } - -@@ -491,11 +503,18 @@ static int __init ps3_register_graphics_devices(void) - - result = ps3_system_bus_device_register(&p->dev); - -- if (result) -+ if (result) { - pr_debug("%s:%d ps3_system_bus_device_register failed\n", - __func__, __LINE__); -+ goto fail_device_register; -+ } - - pr_debug(" <- %s:%d\n", __func__, __LINE__); -+ return 0; -+ -+fail_device_register: -+ kfree(p); -+ pr_debug(" <- %s:%d failed\n", __func__, __LINE__); - return result; - } - --- -1.6.0.4 - |