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

Alex Elder alex.elder at linaro.org
Wed Dec 4 08:57:39 EST 2013


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




More information about the linux-arm-kernel mailing list