diff options
| author | Thorsten Blum <thorsten.blum@linux.dev> | 2026-04-15 14:25:45 +0200 |
|---|---|---|
| committer | Kees Cook <kees@kernel.org> | 2026-05-13 10:54:08 -0700 |
| commit | 8f64fb098a5b1dfea57989fdf732b6168f0e1c35 (patch) | |
| tree | 026458de4d29d61bc179c04fa43b112d883d013c /lib | |
| parent | 233e1ab980269394bfa78191ac12446cc6a22683 (diff) | |
| download | ath-8f64fb098a5b1dfea57989fdf732b6168f0e1c35.tar.gz | |
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 <thorsten.blum@linux.dev>
Link: https://patch.msgid.link/20260415122542.370926-6-thorsten.blum@linux.dev
Signed-off-by: Kees Cook <kees@kernel.org>
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/string_helpers.c | 4 |
1 files changed, 2 insertions, 2 deletions
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; |
