ocfs2: Use struct_size()
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Sun, 16 Jul 2023 18:48:57 +0000 (20:48 +0200)
committerAndrew Morton <akpm@linux-foundation.org>
Fri, 18 Aug 2023 17:18:57 +0000 (10:18 -0700)
Use struct_size() instead of hand-writing it, when allocating a structure
with a flex array.

This is less verbose.

Link: https://lkml.kernel.org/r/9d99ea2090739f816d0dc0c4ebaa42b26fc48a9e.1689533270.git.christophe.jaillet@wanadoo.fr
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Reviewed-by: Joseph Qi <joseph.qi@linux.alibaba.com>
Cc: Mark Fasheh <mark@fasheh.com>
Cc: Joel Becker <jlbec@evilplan.org>
Cc: Junxiao Bi <junxiao.bi@oracle.com>
Cc: Changwei Ge <gechangwei@live.cn>
Cc: Gang He <ghe@suse.com>
Cc: Jun Piao <piaojun@huawei.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
fs/ocfs2/journal.c

index 2f7e701..4e779ef 100644 (file)
@@ -114,9 +114,9 @@ int ocfs2_compute_replay_slots(struct ocfs2_super *osb)
        if (osb->replay_map)
                return 0;
 
-       replay_map = kzalloc(sizeof(struct ocfs2_replay_map) +
-                            (osb->max_slots * sizeof(char)), GFP_KERNEL);
-
+       replay_map = kzalloc(struct_size(replay_map, rm_replay_slots,
+                                        osb->max_slots),
+                            GFP_KERNEL);
        if (!replay_map) {
                mlog_errno(-ENOMEM);
                return -ENOMEM;