Skip to contentSkip to conversation

mmc: mmc_test: Set "cnt" to the allocated size explicitly

PATCH New Kees Cook 1 participant 1 message Nov 13

Subsystems (2)
lore
Share & tools
lore

Kees Cook

author
#0 lore raw

PATCH 1/1 mmc: mmc_test: Set "cnt" to the allocated size explicitly

Since commit c35fac6481a1d ("mmc: mmc_test: Fix __counted_by handling after kzalloc_flex() conversion"), mmc_test_alloc_mem() bounds its fill loop with mem->cnt, relying on kzalloc_flex() to have set it to "max_segs". kzalloc_flex() only sets the __counted_by() counter when the compiler supports __builtin_counted_by_ref(). Otherwise mem->cnt is still zero after the first segment is stored.

Set mem->cnt after the allocation, as that commit's description intends.

Build tested ARCH=x86_64 defconfig with CONFIG_MMC_TEST=m and W=1, with GCC 16.2.0.

Fixes c35fac6481a1d ("mmc: mmc_test: Fix __counted_by handling after kzalloc_flex() conversion")
---
 drivers/mmc/core/mmc_test.c | 1 +
 1 file changed, 1 insertion(+)
drivers/mmc/core/mmc_test.c +1 -0
index 4dc16649e61d..aa30df9d33d8 100644
@@ -357,6 +357,7 @@ static struct mmc_test_mem *mmc_test_alloc_mem(unsigned long min_sz,
 	mem = kzalloc_flex(*mem, arr, max_segs);
 	if (!mem)
 		return NULL;
+	mem->cnt = max_segs;
 
 	while (max_page_cnt) {
 		struct page *page;
Signature · 1 line
2.55.0