1

firewire: Annotate struct fw_iso_packet with __counted_by()

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 via CONFIG_UBSAN_BOUNDS (for
array indexing) and CONFIG_FORTIFY_SOURCE (for strcpy/memcpy-family
functions).

Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Link: https://lore.kernel.org/r/ZgIrOuR3JI/jzqoH@neat
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
This commit is contained in:
Gustavo A. R. Silva 2024-03-25 19:56:10 -06:00 committed by Takashi Sakamoto
parent f83a052f9a
commit d3155742db

View File

@ -463,7 +463,8 @@ struct fw_iso_packet {
u32 tag:2; /* tx: Tag in packet header */ u32 tag:2; /* tx: Tag in packet header */
u32 sy:4; /* tx: Sy in packet header */ u32 sy:4; /* tx: Sy in packet header */
u32 header_length:8; /* Length of immediate header */ u32 header_length:8; /* Length of immediate header */
u32 header[]; /* tx: Top of 1394 isoch. data_block */ /* tx: Top of 1394 isoch. data_block */
u32 header[] __counted_by(header_length);
}; };
#define FW_ISO_CONTEXT_TRANSMIT 0 #define FW_ISO_CONTEXT_TRANSMIT 0