Re: [PATCH v5 1/8] interconnect: Add generic on-chip interconnect API

From: Georgi Djakov
Date: Sun Jul 01 2018 - 07:09:44 EST


Hi Vincent,

On 27.06.18 Ð. 9:19, Vincent Guittot wrote:
> Hi Georgi
>
> On Wed, 20 Jun 2018 at 14:11, Georgi Djakov <georgi.djakov@xxxxxxxxxx> wrote:
>
> [snip]
>
>> +
>> +static struct icc_path *path_allocate(struct icc_node *dst, ssize_t num_nodes)
>> +{
>> + struct icc_node *node = dst;
>> + struct icc_path *path;
>> + size_t i;
>> +
>> + path = kzalloc(sizeof(*path) + num_nodes * sizeof(*path->reqs),
>
> Should be (num_nodes -1) * sizeof(*path->reqs) as there is already 1
> icc_req in icc_path struct

reqs[] is a flexible array member and it's size is not included in
sizeof(*path)

Thanks,
Georgi

>> + GFP_KERNEL);
>> + if (!path)
>> + return ERR_PTR(-ENOMEM);
>> +
>> + path->num_nodes = num_nodes;
>> +
>> + for (i = 0; i < num_nodes; i++) {
>> + hlist_add_head(&path->reqs[i].req_node, &node->req_list);
>> +
>> + path->reqs[i].node = node;
>> + /* reference to previous node was saved during path traversal */
>> + node = node->reverse;
>> + }
>> +
>> + return path;
>> +}
>> +
>
> [snip]
>