Re: [PATCH] mfd: fix a potential NULL pointer dereference

From: Mukesh Ojha
Date: Mon Mar 25 2019 - 05:13:36 EST


On 3/25/2019 1:26 PM, Lee Jones wrote:
On Fri, 22 Mar 2019, Kangjie Lu wrote:

Hi Lee Jones,

Can you review this patch?
Don't poke.

I have a very long list of reviews on my TODO. Poking only surfaces
your patch to the top of my Inbox, and since I review patches in
reverse chronological order, it puts the review to the back of the
queue.

On Mar 9, 2019, at 2:04 AM, Kangjie Lu <kjlu@xxxxxxx> wrote:

In case devm_kzalloc fails, the fix does NULL check and returns
-ENOMEM upon failure so as to avoid NULL pointer dereference.

Signed-off-by: Kangjie Lu <kjlu@xxxxxxx>
---
drivers/mfd/sm501.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/drivers/mfd/sm501.c b/drivers/mfd/sm501.c
index a530972c5a7e..e0173bf4b0dc 100644
--- a/drivers/mfd/sm501.c
+++ b/drivers/mfd/sm501.c
@@ -1145,6 +1145,9 @@ static int sm501_register_gpio_i2c_instance(struct sm501_devdata *sm,
lookup = devm_kzalloc(&pdev->dev,
sizeof(*lookup) + 3 * sizeof(struct gpiod_lookup),
GFP_KERNEL);
+ if (!lookup)
+ return -ENOMEM;

Seems you are using quite old codebase.
This patch is already there ..

https://elixir.bootlin.com/linux/v5.1-rc2/source/drivers/mfd/sm501.c#L1147

commit ae7b8eda27b3( mfd: sm501: Fix potential NULL pointer dereference )


Thanks,
Mukesh


+
lookup->dev_id = "i2c-gpio";
if (iic->pin_sda < 32)
lookup->table[0].chip_label = "SM501-LOW";