mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-04 12:16:41 +00:00
scsi: megaraid_sas: Use struct_size() in code related to struct MR_FW_RAID_MAP
Prefer struct_size() over open-coded versions of idiom: sizeof(struct-with-flex-array) + sizeof(type-of-flex-array) * count where count is the max number of items the flexible array is supposed to have. Link: https://github.com/KSPP/linux/issues/160 Link: https://lore.kernel.org/r/1211398fb8f7ab332a93f4f8f1a63e8168dbd002.1660592640.git.gustavoars@kernel.org Reviewed-by: Kees Cook <keescook@chromium.org> Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
ee92366a84
commit
41e830269d
@ -5155,9 +5155,9 @@ static void megasas_update_ext_vd_details(struct megasas_instance *instance)
|
||||
fusion->current_map_sz = ventura_map_sz;
|
||||
fusion->max_map_sz = ventura_map_sz;
|
||||
} else {
|
||||
fusion->old_map_sz = sizeof(struct MR_FW_RAID_MAP) +
|
||||
(sizeof(struct MR_LD_SPAN_MAP) *
|
||||
instance->fw_supported_vd_count);
|
||||
fusion->old_map_sz =
|
||||
struct_size((struct MR_FW_RAID_MAP *)0, ldSpanMap,
|
||||
instance->fw_supported_vd_count);
|
||||
fusion->new_map_sz = sizeof(struct MR_FW_RAID_MAP_EXT);
|
||||
|
||||
fusion->max_map_sz =
|
||||
|
@ -326,9 +326,9 @@ u8 MR_ValidateMapInfo(struct megasas_instance *instance, u64 map_id)
|
||||
else if (instance->supportmax256vd)
|
||||
expected_size = sizeof(struct MR_FW_RAID_MAP_EXT);
|
||||
else
|
||||
expected_size =
|
||||
(sizeof(struct MR_FW_RAID_MAP) +
|
||||
(sizeof(struct MR_LD_SPAN_MAP) * le16_to_cpu(pDrvRaidMap->ldCount)));
|
||||
expected_size = struct_size((struct MR_FW_RAID_MAP *)0,
|
||||
ldSpanMap,
|
||||
le16_to_cpu(pDrvRaidMap->ldCount));
|
||||
|
||||
if (le32_to_cpu(pDrvRaidMap->totalSize) != expected_size) {
|
||||
dev_dbg(&instance->pdev->dev, "megasas: map info structure size 0x%x",
|
||||
|
Loading…
Reference in New Issue
Block a user