misc: set error code when devm_kstrdup fails
authorPan Bian <bianpan2016@163.com>
Sat, 3 Dec 2016 09:29:28 +0000 (17:29 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 10 Jan 2017 20:46:41 +0000 (21:46 +0100)
In function sram_reserve_regions(), the value of return variable ret
should be negative on failures. However, the value of ret may be 0 even
if the call to devm_kstrdup() returns a NULL pointer. This patch
explicitly assigns "-ENOMEM" to ret on the path that devm_kstrdup()
fails.

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=188651

Signed-off-by: Pan Bian <bianpan2016@163.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/misc/sram.c

index b33ab8c..07ec2a8 100644 (file)
@@ -249,8 +249,10 @@ static int sram_reserve_regions(struct sram_dev *sram, struct resource *res)
 
                        block->label = devm_kstrdup(sram->dev,
                                                    label, GFP_KERNEL);
-                       if (!block->label)
+                       if (!block->label) {
+                               ret = -ENOMEM;
                                goto err_chunks;
+                       }
 
                        dev_dbg(sram->dev, "found %sblock '%s' 0x%x-0x%x\n",
                                block->export ? "exported " : "", block->label,