Use kcalloc() in rcu_torture_writer() to gain built-in overflow protection,
making memory allocation safer when calculating allocation size compared to
explicit multiplication.

Change sizeof(ulo[0]) and sizeof(rgo[0]) to sizeof(*ulo) and sizeof(*rgo),
as this is more consistent with coding conventions.

Signed-off-by: Qianfeng Rong <rongqianf...@vivo.com>
---
 kernel/rcu/rcutorture.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/kernel/rcu/rcutorture.c b/kernel/rcu/rcutorture.c
index 7a893d51d02b..60cac761efc9 100644
--- a/kernel/rcu/rcutorture.c
+++ b/kernel/rcu/rcutorture.c
@@ -1571,12 +1571,12 @@ rcu_torture_writer(void *arg)
                return 0;
        }
        if (cur_ops->poll_active > 0) {
-               ulo = kzalloc(cur_ops->poll_active * sizeof(ulo[0]), 
GFP_KERNEL);
+               ulo = kcalloc(cur_ops->poll_active, sizeof(*ulo), GFP_KERNEL);
                if (!WARN_ON(!ulo))
                        ulo_size = cur_ops->poll_active;
        }
        if (cur_ops->poll_active_full > 0) {
-               rgo = kzalloc(cur_ops->poll_active_full * sizeof(rgo[0]), 
GFP_KERNEL);
+               rgo = kcalloc(cur_ops->poll_active_full, sizeof(*rgo), 
GFP_KERNEL);
                if (!WARN_ON(!rgo))
                        rgo_size = cur_ops->poll_active_full;
        }
-- 
2.34.1


Reply via email to