Skip to content

Commit e62284b

Browse files
lyakhkv2019i
authored andcommitted
lib-manager: check for invalid module instance count
Module instance_max_count should never be 0, assume 1 if such a module is loaded. Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
1 parent 96951d8 commit e62284b

1 file changed

Lines changed: 4 additions & 1 deletion

File tree

src/library_manager/lib_manager.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -281,7 +281,10 @@ void lib_manager_get_instance_bss_address(uint32_t instance_id,
281281
const struct sof_man_module *mod,
282282
void __sparse_cache **va_addr, size_t *size)
283283
{
284-
*size = mod->segment[SOF_MAN_SEGMENT_BSS].flags.r.length / mod->instance_max_count *
284+
/* mod->instance_max_count should never be 0, assume 1 if that happens */
285+
unsigned int inst_cnt = mod->instance_max_count ? : 1;
286+
287+
*size = mod->segment[SOF_MAN_SEGMENT_BSS].flags.r.length / inst_cnt *
285288
PAGE_SZ;
286289
size_t inst_offset = *size * instance_id;
287290
*va_addr = (void __sparse_cache *)(mod->segment[SOF_MAN_SEGMENT_BSS].v_base_addr +

0 commit comments

Comments
 (0)