Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

staging: rts5208: Assign array_size() to a variable

Assign array_size() to variable _size_ and use it in multiple places.

This issue was found with the help of Coccinelle and, audited and fixed
manually.

Addresses-KSPP-ID: https://github.com/KSPP/linux/issues/83
Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Link: https://lore.kernel.org/r/20200710183350.GA8376@embeddedor
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Gustavo A. R. Silva and committed by
Greg Kroah-Hartman
8ffe5f36 cb22ab20

+6 -6
+6 -6
drivers/staging/rts5208/rtsx_chip.c
··· 1440 1440 u16 aligned_addr = addr - offset; 1441 1441 int dw_len, i, j; 1442 1442 int retval; 1443 + size_t size; 1443 1444 1444 1445 if (!buf) 1445 1446 return STATUS_NOMEM; ··· 1452 1451 1453 1452 dev_dbg(rtsx_dev(chip), "dw_len = %d\n", dw_len); 1454 1453 1455 - data = vzalloc(array_size(dw_len, 4)); 1454 + size = array_size(dw_len, 4); 1455 + data = vzalloc(size); 1456 1456 if (!data) 1457 1457 return STATUS_NOMEM; 1458 1458 1459 - mask = vzalloc(array_size(dw_len, 4)); 1459 + mask = vzalloc(size); 1460 1460 if (!mask) { 1461 1461 vfree(data); 1462 1462 return STATUS_NOMEM; ··· 1473 1471 } 1474 1472 } 1475 1473 1476 - print_hex_dump_bytes(KBUILD_MODNAME ": ", DUMP_PREFIX_NONE, mask, 1477 - dw_len * 4); 1478 - print_hex_dump_bytes(KBUILD_MODNAME ": ", DUMP_PREFIX_NONE, data, 1479 - dw_len * 4); 1474 + print_hex_dump_bytes(KBUILD_MODNAME ": ", DUMP_PREFIX_NONE, mask, size); 1475 + print_hex_dump_bytes(KBUILD_MODNAME ": ", DUMP_PREFIX_NONE, data, size); 1480 1476 1481 1477 for (i = 0; i < dw_len; i++) { 1482 1478 retval = rtsx_write_cfg_dw(chip, func, aligned_addr + i * 4,