mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-07-22 02:17:36 -04:00
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>
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user