Hi Vincent,
On 27.06.18 г. 9:19, Vincent Guittot wrote:
Hi Georgi
On Wed, 20 Jun 2018 at 14:11, Georgi Djakov [off-list ref] wrote:
[snip]
quoted
+
+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
quoted
+ 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]