s390/appldata: use struct_size() helper
authorGustavo A. R. Silva <gustavoars@kernel.org>
Wed, 17 Jun 2020 21:29:30 +0000 (16:29 -0500)
committerHeiko Carstens <heiko.carstens@de.ibm.com>
Mon, 29 Jun 2020 14:32:34 +0000 (16:32 +0200)
Make use of the struct_size() helper instead of an open-coded version
in order to avoid any potential type mistakes.

This code was detected with the help of Coccinelle and, audited and
fixed manually.

Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Message-Id: <20200617212930.GA11728@embeddedor>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
arch/s390/appldata/appldata_os.c

index 5503217..a363d30 100644 (file)
@@ -129,8 +129,7 @@ static void appldata_get_os_data(void *data)
 
        os_data->nr_cpus = j;
 
-       new_size = sizeof(struct appldata_os_data) +
-                  (os_data->nr_cpus * sizeof(struct appldata_os_per_cpu));
+       new_size = struct_size(os_data, os_cpu, os_data->nr_cpus);
        if (ops.size != new_size) {
                if (ops.active) {
                        rc = appldata_diag(APPLDATA_RECORD_OS_ID,
@@ -165,8 +164,7 @@ static int __init appldata_os_init(void)
 {
        int rc, max_size;
 
-       max_size = sizeof(struct appldata_os_data) +
-                  (num_possible_cpus() * sizeof(struct appldata_os_per_cpu));
+       max_size = struct_size(appldata_os_data, os_cpu, num_possible_cpus());
        if (max_size > APPLDATA_MAX_REC_SIZE) {
                pr_err("Maximum OS record size %i exceeds the maximum "
                       "record size %i\n", max_size, APPLDATA_MAX_REC_SIZE);