Skip to content

Batch 1: Annotate structs with __counted_by

Kees Cook linux-hardening linux-hyperv linux-parisc linux-rdma lkml llvm netdev 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest14 patches 21 repliesIn review 13 of 14 applied

Patches in v1 13 of 14 applied

#Subject and filesSizeRepliesApplied
1/14ipv4: Annotate struct fib_info with __counted_byinclude/net/ip_fib.h+1 -11 replyApplied
2/14ipv4/igmp: Annotate struct ip_sf_socklist with __counted_byinclude/linux/igmp.h+1 -11 replyApplied
3/14ipv6: Annotate struct ip6_sf_socklist with __counted_byinclude/net/if_inet6.h+1 -11 replyApplied
4/14net: hns: Annotate struct ppe_common_cb with __counted_bydrivers/net/ethernet/hisilicon/hns/hns_dsaf_ppe.h+1 -11 replyApplied
5/14net: enetc: Annotate struct enetc_int_vector with __counted_bydrivers/net/ethernet/freescale/enetc/enetc.h+1 -11 replyApplied
6/14net: hisilicon: Annotate struct rcb_common_cb with __counted_bydrivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.h+1 -11 replyApplied
7/14net: mana: Annotate struct mana_rxq with __counted_byinclude/net/mana/mana.h+1 -11 replyApplied
8/14net: ipa: Annotate struct ipa_power with __counted_bydrivers/net/ipa/ipa_power.c+1 -13 repliesApplied
9/14net: mana: Annotate struct hwc_dma_buf with __counted_byinclude/net/mana/hw_channel.h+1 -11 replyApplied
10/14net: openvswitch: Annotate struct dp_meter_instance with __counted_bynet/openvswitch/meter.h+1 -11 replyApplied
11/14net: enetc: Annotate struct enetc_psfp_gate with __counted_bydrivers/net/ethernet/freescale/enetc/enetc_qos.c+1 -11 replyApplied
12/14net: openvswitch: Annotate struct dp_meter with __counted_bynet/openvswitch/meter.h+1 -11 replyApplied
13/14net: tulip: Annotate struct mediatable with __counted_bydrivers/net/ethernet/dec/tulip/tulip.h+1 -11 replyApplied
14/14net: sched: Annotate struct tc_pedit with __counted_bynet/sched/act_pedit.c+1 -13 replies

Reviews trailers per patch

13 of 14 patches have a Reviewed-by or Acked-by.

PatchGustavo A. R. SilvaAlex Elder
1/14R-b
2/14R-b
3/14R-b
4/14R-b
5/14R-b
6/14R-b
7/14R-b
8/14R-b R-b
9/14R-b
10/14R-b
11/14R-b
12/14R-b
13/14R-b
14/14

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

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

Hi,

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.)

-Kees

[1] https://github.com/kees/kernel-tools/blob/trunk/coccinelle/examples/counted_by.cocci

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
net: sched: Annotate struct tc_pedit with __counted_by

 drivers/net/ethernet/dec/tulip/tulip.h            | 2 +-
 drivers/net/ethernet/freescale/enetc/enetc.h      | 2 +-
 drivers/net/ethernet/freescale/enetc/enetc_qos.c  | 2 +-
 drivers/net/ethernet/hisilicon/hns/hns_dsaf_ppe.h | 2 +-
 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.h | 2 +-
 drivers/net/ipa/ipa_power.c                       | 2 +-
 include/linux/igmp.h                              | 2 +-
 include/net/if_inet6.h                            | 2 +-
 include/net/ip_fib.h                              | 2 +-
 include/net/mana/hw_channel.h                     | 2 +-
 include/net/mana/mana.h                           | 2 +-
 net/openvswitch/meter.h                           | 4 ++--
 net/sched/act_pedit.c                             | 2 +-
 13 files changed, 14 insertions(+), 14 deletions(-)
Signature · 1 line
2.34.1