net: ipa: use struct_size() for the interconnect array
authorAlex Elder <elder@linaro.org>
Fri, 11 Mar 2022 16:24:23 +0000 (10:24 -0600)
committerJakub Kicinski <kuba@kernel.org>
Sat, 12 Mar 2022 06:50:07 +0000 (22:50 -0800)
In review for commit 8ee7ec4890e2b ("net: ipa: embed interconnect
array in the power structure"), Jakub Kicinski suggested that a
follow-up patch use struct_size() when computing the size of the
IPA power structure, which ends with a flexible array member.

Do that.

Suggested-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Alex Elder <elder@linaro.org>
Link: https://lore.kernel.org/r/20220311162423.872645-1-elder@linaro.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ipa/ipa_power.c

index 16ece27d14d7e8bba1e68d6649962f5777d148fe..db5ac7552286e354a70f2dacefd47bcdf7866f80 100644 (file)
@@ -374,8 +374,8 @@ ipa_power_init(struct device *dev, const struct ipa_power_data *data)
                goto err_clk_put;
        }
 
-       size = data->interconnect_count * sizeof(power->interconnect[0]);
-       power = kzalloc(sizeof(*power) + size, GFP_KERNEL);
+       size = struct_size(power, interconnect, data->interconnect_count);
+       power = kzalloc(size, GFP_KERNEL);
        if (!power) {
                ret = -ENOMEM;
                goto err_clk_put;