interconnect: qcom: Fix icc_onecell_data allocation
authorLeonard Crestez <leonard.crestez@nxp.com>
Tue, 24 Sep 2019 18:01:15 +0000 (21:01 +0300)
committerGeorgi Djakov <georgi.djakov@linaro.org>
Sun, 20 Oct 2019 09:09:31 +0000 (12:09 +0300)
commit83c774f0c69d9d1b32812f3fcf7dde9b556d2670
tree60f65291b78877633cdd5e0e20570c1ce154716e
parent4f5cafb5cb8471e54afdc9054d973535614f7675
interconnect: qcom: Fix icc_onecell_data allocation

This is a struct with a trailing zero-length array of icc_node pointers
but it's allocated as if it were a single array of icc_nodes instead.

This allocates too much memory at probe time but shouldn't have any
noticeable effect. Both sdm845 and qcs404 are affected.

Fix by replacing kcalloc with kzalloc and using the "struct_size" macro.

Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com>
Fixes: 5e4e6c4d3ae0 ("interconnect: qcom: Add QCS404 interconnect provider driver")
Link: https://lore.kernel.org/linux-pm/a7360abb6561917e30bbfaa6084578449152bf1d.1569348056.git.leonard.crestez@nxp.com/
Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
drivers/interconnect/qcom/qcs404.c
drivers/interconnect/qcom/sdm845.c