sizeof when applied to a pointer typed expression gives the size of
the pointer.
The proper fix in this particular case is to code sizeof(*cpu_groups)
instead of sizeof(cpu_groups).
This issue was detected with the help of Coccinelle.

Signed-off-by: Tian Tao <tiant...@hisilicon.com>
---
 drivers/firmware/psci/psci_checker.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/firmware/psci/psci_checker.c 
b/drivers/firmware/psci/psci_checker.c
index 9a369a2..116eb46 100644
--- a/drivers/firmware/psci/psci_checker.c
+++ b/drivers/firmware/psci/psci_checker.c
@@ -155,7 +155,7 @@ static int alloc_init_cpu_groups(cpumask_var_t 
**pcpu_groups)
        if (!alloc_cpumask_var(&tmp, GFP_KERNEL))
                return -ENOMEM;
 
-       cpu_groups = kcalloc(nb_available_cpus, sizeof(cpu_groups),
+       cpu_groups = kcalloc(nb_available_cpus, sizeof(*cpu_groups),
                             GFP_KERNEL);
        if (!cpu_groups) {
                free_cpumask_var(tmp);
-- 
2.7.4

Reply via email to