From: Thorsten Blum Date: Wed, 15 Apr 2026 12:25:45 +0000 (+0200) Subject: lib/string_helpers: annotate struct strarray with __counted_by_ptr X-Git-Url: http://git.ipfire.org/gitweb/index.cgi?a=commitdiff_plain;h=8f64fb098a5b1dfea57989fdf732b6168f0e1c35;p=thirdparty%2Flinux.git lib/string_helpers: annotate struct strarray with __counted_by_ptr Add the __counted_by_ptr() compiler attribute to 'array' to improve bounds checking via CONFIG_UBSAN_BOUNDS and CONFIG_FORTIFY_SOURCE. Signed-off-by: Thorsten Blum Link: https://patch.msgid.link/20260415122542.370926-6-thorsten.blum@linux.dev Signed-off-by: Kees Cook --- diff --git a/lib/string_helpers.c b/lib/string_helpers.c index 6a8db441b6fd1..98d6ed0eaab7e 100644 --- a/lib/string_helpers.c +++ b/lib/string_helpers.c @@ -805,7 +805,7 @@ void kfree_strarray(char **array, size_t n) EXPORT_SYMBOL_GPL(kfree_strarray); struct strarray { - char **array; + char **array __counted_by_ptr(n); size_t n; }; @@ -824,13 +824,13 @@ char **devm_kasprintf_strarray(struct device *dev, const char *prefix, size_t n) if (!ptr) return ERR_PTR(-ENOMEM); + ptr->n = n; ptr->array = kasprintf_strarray(GFP_KERNEL, prefix, n); if (!ptr->array) { devres_free(ptr); return ERR_PTR(-ENOMEM); } - ptr->n = n; devres_add(dev, ptr); return ptr->array;