diff options
author | Alexander Lobakin <[email protected]> | 2023-07-28 17:52:06 +0200 |
---|---|---|
committer | Tony Nguyen <[email protected]> | 2023-08-16 09:05:04 -0700 |
commit | 5e7f59fa07f86f554c301c7a383bba54d5ef9819 (patch) | |
tree | c987be526d4fc90adbcbc409ab18bdb3d651774b /tools/perf/scripts/python/event_analyzing_sample.py | |
parent | dd2e84bb3804103ad1c26a21deb4b35b0e166746 (diff) |
virtchnl: fix fake 1-elem arrays in structures allocated as `nents + 1`
There are five virtchnl structures, which are allocated and checked in
the code as `nents + 1`, meaning that they always have memory for one
excessive element regardless of their actual number. This comes from
that their sizeof() includes space for 1 element and then they get
allocated via struct_size() or its open-coded equivalents, passing
the actual number of elements.
Expand virtchnl_struct_size() to handle such structures and replace
those 1-elem arrays with proper flex ones. Also fix several places
which open-code %IAVF_VIRTCHNL_VF_RESOURCE_SIZE. Finally, let the
virtchnl_ether_addr_list size be computed automatically when there's
no enough space for the whole list, otherwise we have to open-code
reverse struct_size() logics.
Signed-off-by: Alexander Lobakin <[email protected]>
Reviewed-by: Kees Cook <[email protected]>
Tested-by: Rafal Romanowski <[email protected]>
Signed-off-by: Tony Nguyen <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python/event_analyzing_sample.py')
0 files changed, 0 insertions, 0 deletions