Re: [PATCH 2/3] clk: bcm281xx: add initial clock framework support

From: Alex Elder
Date: Wed Dec 04 2013 - 08:57:48 EST


On 12/04/2013 07:06 AM, Alex Elder wrote:
>>> + name_size = strlen(node->name) + 1;
>>> >> + ccu = kzalloc(sizeof(*ccu) + name_size, GFP_KERNEL);
>>> >> + if (!ccu) {
>>> >> + pr_err("%s: unable to map allocate CCU struct for %s\n",
>>> >> + __func__, node->name);
>>> >> + return;
>>> >> + }
>>> >> + memcpy((char *)ccu->name, node->name, name_size);
>> >
>> > You could simplify this with kstrdup.
> You are correct, and I will make that change. I think at
> one point I needed the length but that doesn't appear to
> be the case here.

On second thought, no, you may have missed what was happening here.
I was avoiding two kmallocs() by setting aside space at the end
of the structure to hold its name. It may seem silly, but this
avoids a possible (well, conceivable) failure case.

However, based on your earlier question about "what about freeing
ccu->name?" I am going to use kstrdup() here. I'd rather the code
put you at ease than look weird just to avoid an unlikely failure.

-Alex

--
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/