Re: [PATCH v2] arm: mach-omap2: potential NULL dereference

From: Kevin Hilman
Date: Tue Feb 01 2011 - 17:22:29 EST


Vasiliy Kulikov <segoon@xxxxxxxxxxxx> writes:

> kzalloc() may fail, if so return -ENOMEM. Also Walter Harms suggested
> to use kasprintf() instead of kzalloc+strcpy+strcat.
>
> Signed-off-by: Vasiliy Kulikov <segoon@xxxxxxxxxxxx>
> ---
> Cannot compile this driver, so it is not tested at all.

Boot tested on 3430/n900 and 3630/Zoom3.

Queueing for 2.6.39 (branch: for_2.6.39/pm-misc)

Kevin

> arch/arm/mach-omap2/smartreflex.c | 8 +++++---
> 1 files changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/smartreflex.c b/arch/arm/mach-omap2/smartreflex.c
> index 77ecebf..697d8d4 100644
> --- a/arch/arm/mach-omap2/smartreflex.c
> +++ b/arch/arm/mach-omap2/smartreflex.c
> @@ -260,9 +260,11 @@ static int sr_late_init(struct omap_sr *sr_info)
> if (sr_class->class_type == SR_CLASS2 &&
> sr_class->notify_flags && sr_info->irq) {
>
> - name = kzalloc(SMARTREFLEX_NAME_LEN + 1, GFP_KERNEL);
> - strcpy(name, "sr_");
> - strcat(name, sr_info->voltdm->name);
> + name = kasprintf(GFP_KERNEL, "sr_%s", sr_info->voltdm->name);
> + if (name == NULL) {
> + ret = -ENOMEM;
> + goto error;
> + }
> ret = request_irq(sr_info->irq, sr_interrupt,
> 0, name, (void *)sr_info);
> if (ret)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/