lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20140623085345.GD8847@lee--X1>
Date:	Mon, 23 Jun 2014 09:53:45 +0100
From:	Lee Jones <lee.jones@...aro.org>
To:	gnomes@...rguk.ukuu.org.uk
Cc:	linux-kernel@...r.kernel.org
Subject: Alan, can you revisit a patch you authored please?

Hi Alan,

I'm looking at a patch you wrote which can be foudn below at [1].  Are
you sure it's correct to ignore i.e not return -ENOMEM from
platform_device_add_data() in pcf50633_probe()?  I believe if
platform_device_add_data() returns an error we should
platform_device_put() and return immediately.  Can you tell me if you
agree.  If you don't, would you mind explaining to me why please?

Kind regards,
Lee

[1]
commit 18273c5b463d9f98ef81f1a6217a7f4168dd809a
Author: Alan Cox <alan@...rguk.ukuu.org.uk>
Date:   Fri Jul 13 16:43:32 2012 +0100

    mfd: Add missing out of memory check for pcf50633
    
    Resolves-bug: https://bugzilla.kernel.org/show_bug.cgi?id=44561
    Reported-by: <rucsoftsec@...il.com>
    Cc: Lars-Peter Clausen <lars@...afoo.de>
    Signed-off-by: Alan Cox <alan@...ux.intel.com>
    Signed-off-by: Samuel Ortiz <sameo@...ux.intel.com>

diff --git a/drivers/mfd/pcf50633-core.c b/drivers/mfd/pcf50633-core.c
index 29c122b..45ce1fb 100644
--- a/drivers/mfd/pcf50633-core.c
+++ b/drivers/mfd/pcf50633-core.c
@@ -253,8 +253,13 @@ static int __devinit pcf50633_probe(struct i2c_client *client,
                }
 
                pdev->dev.parent = pcf->dev;
-               platform_device_add_data(pdev, &pdata->reg_init_data[i],
-                                       sizeof(pdata->reg_init_data[i]));
+               if (platform_device_add_data(pdev, &pdata->reg_init_data[i],
+                                       sizeof(pdata->reg_init_data[i])) < 0) {
+                       platform_device_put(pdev);
+                       dev_err(pcf->dev, "Out of memory for regulator parameters %d\n",
+                                                                       i);
+                       continue;
+               }
                pcf->regulator_pdev[i] = pdev;
 
                platform_device_add(pdev);

-- 
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ