[PATCH 0/9] drm: Annotate structs with __counted_by

From: Kees Cook
Date: Fri Sep 22 2023 - 13:32:48 EST


Hi,

This is a batch of patches touching drm 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 (9):
drm/amd/pm: Annotate struct smu10_voltage_dependency_table with
__counted_by
drm/amdgpu/discovery: Annotate struct ip_hw_instance with __counted_by
drm/i915/selftests: Annotate struct perf_series with __counted_by
drm/msm/dpu: Annotate struct dpu_hw_intr with __counted_by
drm/nouveau/pm: Annotate struct nvkm_perfdom with __counted_by
drm/vc4: Annotate struct vc4_perfmon with __counted_by
drm/virtio: Annotate struct virtio_gpu_object_array with __counted_by
drm/vmwgfx: Annotate struct vmw_surface_dirty with __counted_by
drm/v3d: Annotate struct v3d_perfmon with __counted_by

drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c | 2 +-
drivers/gpu/drm/amd/pm/powerplay/hwmgr/smu10_hwmgr.h | 2 +-
drivers/gpu/drm/i915/selftests/i915_request.c | 2 +-
drivers/gpu/drm/msm/disp/dpu1/dpu_hw_interrupts.h | 2 +-
drivers/gpu/drm/nouveau/nvkm/engine/pm/priv.h | 2 +-
drivers/gpu/drm/v3d/v3d_drv.h | 2 +-
drivers/gpu/drm/vc4/vc4_drv.h | 2 +-
drivers/gpu/drm/virtio/virtgpu_drv.h | 2 +-
drivers/gpu/drm/vmwgfx/vmwgfx_surface.c | 2 +-
9 files changed, 9 insertions(+), 9 deletions(-)

--
2.34.1