From ede2d10f84730151da2eae8bb62f48419ba859f1 Mon Sep 17 00:00:00 2001 From: Guennadi Liakhovetski Date: Tue, 16 Jun 2026 15:09:50 +0200 Subject: [PATCH] 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 --- src/library_manager/lib_manager.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/library_manager/lib_manager.c b/src/library_manager/lib_manager.c index 56cd616cd9f5..fc8f85c7d904 100644 --- a/src/library_manager/lib_manager.c +++ b/src/library_manager/lib_manager.c @@ -281,7 +281,10 @@ void lib_manager_get_instance_bss_address(uint32_t instance_id, const struct sof_man_module *mod, void __sparse_cache **va_addr, size_t *size) { - *size = mod->segment[SOF_MAN_SEGMENT_BSS].flags.r.length / mod->instance_max_count * + /* mod->instance_max_count should never be 0, assume 1 if that happens */ + unsigned int inst_cnt = mod->instance_max_count ? : 1; + + *size = mod->segment[SOF_MAN_SEGMENT_BSS].flags.r.length / inst_cnt * PAGE_SZ; size_t inst_offset = *size * instance_id; *va_addr = (void __sparse_cache *)(mod->segment[SOF_MAN_SEGMENT_BSS].v_base_addr +