MIPS: Loongson: Fix potential NULL dereference in loongson3_platform_init()
authorTiezhu Yang <yangtiezhu@loongson.cn>
Fri, 10 Jan 2020 01:30:42 +0000 (09:30 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 24 Feb 2020 07:36:27 +0000 (08:36 +0100)
[ Upstream commit 72d052e28d1d2363f9107be63ef3a3afdea6143c ]

If kzalloc fails, it should return -ENOMEM, otherwise may trigger a NULL
pointer dereference.

Fixes: 3adeb2566b9b ("MIPS: Loongson: Improve LEFI firmware interface")
Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn>
Signed-off-by: Paul Burton <paulburton@kernel.org>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Huacai Chen <chenhc@lemote.com>
Cc: Jiaxun Yang <jiaxun.yang@flygoat.com>
Cc: linux-mips@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Sasha Levin <sashal@kernel.org>
arch/mips/loongson64/loongson-3/platform.c

index 13f3404..9674ae1 100644 (file)
@@ -27,6 +27,9 @@ static int __init loongson3_platform_init(void)
                        continue;
 
                pdev = kzalloc(sizeof(struct platform_device), GFP_KERNEL);
+               if (!pdev)
+                       return -ENOMEM;
+
                pdev->name = loongson_sysconf.sensors[i].name;
                pdev->id = loongson_sysconf.sensors[i].id;
                pdev->dev.platform_data = &loongson_sysconf.sensors[i];