Re: [PATCH 00/14] Batch 1: Annotate structs with __counted_by

From: Kees Cook
Date: Wed Sep 27 2023 - 11:57:43 EST


On Fri, Sep 22, 2023 at 10:28:42AM -0700, Kees Cook wrote:
> This is the batch 1 of patches touching netdev for preparing 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 to structs that would
> benefit from the annotation.
>
> Since the element count member must be set before accessing the annotated
> flexible array member, some patches also move the member's initialization
> earlier. (These are noted in the individual patches.)

Hi, just checking on this batch of changes. Is it possible to take the
1-13 subset:

> Kees Cook (14):
> ipv4: Annotate struct fib_info with __counted_by
> ipv4/igmp: Annotate struct ip_sf_socklist with __counted_by
> ipv6: Annotate struct ip6_sf_socklist with __counted_by
> net: hns: Annotate struct ppe_common_cb with __counted_by
> net: enetc: Annotate struct enetc_int_vector with __counted_by
> net: hisilicon: Annotate struct rcb_common_cb with __counted_by
> net: mana: Annotate struct mana_rxq with __counted_by
> net: ipa: Annotate struct ipa_power with __counted_by
> net: mana: Annotate struct hwc_dma_buf with __counted_by
> net: openvswitch: Annotate struct dp_meter_instance with __counted_by
> net: enetc: Annotate struct enetc_psfp_gate with __counted_by
> net: openvswitch: Annotate struct dp_meter with __counted_by
> net: tulip: Annotate struct mediatable with __counted_by

I'll respin 14 and add it to the next batch:

> net: sched: Annotate struct tc_pedit with __counted_by

After these 13, there are 32 more patches to various drivers and
protocols...

Thanks!

-Kees

--
Kees Cook