Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

drm/nouveau: fifo: Avoid -Wflex-array-member-not-at-end warning

-Wflex-array-member-not-at-end was introduced in GCC-14, and we are
getting ready to enable it, globally.

Use the new TRAILING_OVERLAP() helper to fix the following warning:

drivers/gpu/drm/nouveau/nvif/fifo.c:29:42: warning: structure containing a flexible array member is not at the end of another structure [-Wflex-array-member-not-at-end]

This helper creates a union between a flexible-array member (FAM)
and a set of members that would otherwise follow it. This overlays
the trailing members onto the FAM while preserving the original
memory layout.

Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Reviewed-by: Justin Stitt <justinstitt@google.com>
Acked-by: Danilo Krummrich <dakr@kernel.org>
Link: https://patch.msgid.link/aJ17oxJYcqqr3946@kspp
Signed-off-by: Kees Cook <kees@kernel.org>

authored by

Gustavo A. R. Silva and committed by
Kees Cook
06190e1c 9448598b

+2 -3
+2 -3
drivers/gpu/drm/nouveau/nvif/fifo.c
··· 25 25 nvif_fifo_runlists(struct nvif_device *device) 26 26 { 27 27 struct nvif_object *object = &device->object; 28 - struct { 29 - struct nv_device_info_v1 m; 28 + TRAILING_OVERLAP(struct nv_device_info_v1, m, data, 30 29 struct { 31 30 struct nv_device_info_v1_data runlists; 32 31 struct nv_device_info_v1_data runlist[64]; 33 32 } v; 34 - } *a; 33 + ) *a; 35 34 int ret, i; 36 35 37 36 if (device->runlist)