MIPS: SGI-IP27: Free some unused memory
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Sat, 23 Apr 2022 13:24:03 +0000 (15:24 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 26 Oct 2022 10:34:36 +0000 (12:34 +0200)
[ Upstream commit 33d7085682b4aa212ebfadbc21da81dfefaaac16 ]

platform_device_add_data() duplicates the memory it is passed. So we can
free some memory to save a few bytes that would remain unused otherwise.

Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Stable-dep-of: 11bec9cba4de ("MIPS: SGI-IP27: Fix platform-device leak in bridge_platform_create()")
Signed-off-by: Sasha Levin <sashal@kernel.org>
arch/mips/sgi-ip27/ip27-xtalk.c

index 000ede1..e762886 100644 (file)
@@ -53,6 +53,8 @@ static void bridge_platform_create(nasid_t nasid, int widget, int masterwid)
        }
        platform_device_add_resources(pdev, &w1_res, 1);
        platform_device_add_data(pdev, wd, sizeof(*wd));
+       /* platform_device_add_data() duplicates the data */
+       kfree(wd);
        platform_device_add(pdev);
 
        bd = kzalloc(sizeof(*bd), GFP_KERNEL);
@@ -83,6 +85,8 @@ static void bridge_platform_create(nasid_t nasid, int widget, int masterwid)
        bd->io_offset   = offset;
 
        platform_device_add_data(pdev, bd, sizeof(*bd));
+       /* platform_device_add_data() duplicates the data */
+       kfree(bd);
        platform_device_add(pdev);
        pr_info("xtalk:n%d/%x bridge widget\n", nasid, widget);
        return;