This patchset removes the use of variable length arrays in a couple of network devices and the net/ core code. In one case we can switch to a fixed-sized array on the stack; in the other three we have to use a heap allocation.
The codebase has very few VLAs, and if we can get rid of them all we can make the compiler error on new additions. This is a defensive measure against security bugs where an on-stack dynamic allocation isn't correctly size-checked (e.g. CVE-2021-3527). Philippe had a go at these in a patch in 2021: https://patchew.org/QEMU/20210505211047.1496765-1-phi...@redhat.com/20210505211047.1496765-16-phi...@redhat.com/ but these are re-implementations, mostly. Usual disclaimer: I have tested these patches only with "make check" and "make check-avocado". thanks -- PMM Peter Maydell (4): hw/net/fsl_etsec/rings.c: Avoid variable length array hw/net/rocker: Avoid variable length array net/dump: Avoid variable length array net/tap: Avoid variable-length array hw/net/fsl_etsec/rings.c | 12 ++++++++++-- hw/net/rocker/rocker_of_dpa.c | 2 +- net/dump.c | 2 +- net/tap.c | 3 ++- 4 files changed, 14 insertions(+), 5 deletions(-) -- 2.34.1