Re: [PATCH] ACPI: PRM: Annotate struct prm_module_info with __counted_by

From: Rafael J. Wysocki
Date: Tue Oct 03 2023 - 15:26:43 EST


On Sat, Sep 23, 2023 at 11:41 AM Gustavo A. R. Silva
<gustavo@xxxxxxxxxxxxxx> wrote:
>
>
>
> On 9/22/23 11:53, Kees Cook wrote:
> > Prepare for the coming implementation by GCC and Clang of the __counted_by
> > attribute. Flexible array members annotated with __counted_by can have
> > their accesses bounds-checked at run-time checking via CONFIG_UBSAN_BOUNDS
> > (for array indexing) and CONFIG_FORTIFY_SOURCE (for strcpy/memcpy-family
> > functions).
> >
> > As found with Coccinelle[1], add __counted_by for struct prm_module_info.
> >
> > [1] https://github.com/kees/kernel-tools/blob/trunk/coccinelle/examples/counted_by.cocci
> >
> > Cc: "Rafael J. Wysocki" <rafael@xxxxxxxxxx>
> > Cc: Len Brown <lenb@xxxxxxxxxx>
> > Cc: linux-acpi@xxxxxxxxxxxxxxx
> > Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx>
>
> Reviewed-by: Gustavo A. R. Silva <gustavoars@xxxxxxxxxx>

Applied as 6.7 material, thanks!

> > ---
> > drivers/acpi/prmt.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/acpi/prmt.c b/drivers/acpi/prmt.c
> > index 7020584096bf..c78453c74ef5 100644
> > --- a/drivers/acpi/prmt.c
> > +++ b/drivers/acpi/prmt.c
> > @@ -69,7 +69,7 @@ struct prm_module_info {
> > bool updatable;
> >
> > struct list_head module_list;
> > - struct prm_handler_info handlers[];
> > + struct prm_handler_info handlers[] __counted_by(handler_count);
> > };
> >
> > static u64 efi_pa_va_lookup(u64 pa)