Alexander Lobakin 93d24acfa0 idpf: sprinkle __counted_by{,_le}() in the virtchnl2 header
Both virtchnl2.h and its consumer idpf_virtchnl.c are very error-prone.
There are 10 structures with flexible arrays at the end, but 9 of them
has flex member counter in Little Endian.
Make the code a bit more robust by applying __counted_by_le() to those
9. LE platforms is the main target for this driver, so they would
receive additional protection.
While we're here, add __counted_by() to virtchnl2_ptype::proto_id, as
its counter is `u8` regardless of the Endianness.
Compile test on x86_64 (LE) didn't reveal any new issues after applying
the attributes.

Acked-by: Kees Cook <keescook@chromium.org>
Acked-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Signed-off-by: Alexander Lobakin <aleksander.lobakin@intel.com>
Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com>
Link: https://lore.kernel.org/r/20240327142241.1745989-4-aleksander.lobakin@intel.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2024-03-28 18:50:47 -07:00
..
2024-03-13 18:34:05 -07:00
2024-03-21 13:34:15 -07:00
2024-03-22 12:46:07 -07:00
2024-03-07 21:52:03 +00:00
2024-03-19 11:57:26 -07:00
2024-03-18 15:11:44 -07:00
2024-03-15 11:58:32 -07:00
2024-03-07 20:37:04 +00:00
2024-03-15 12:25:13 -07:00
2024-03-24 13:54:06 -07:00
2024-03-21 19:04:31 -07:00
2024-03-14 09:56:15 -07:00
2024-03-21 10:01:02 -07:00
2024-03-18 15:34:03 -07:00
2024-03-06 14:03:31 +00:00
2024-03-24 10:45:31 -07:00
2024-03-07 20:32:47 +00:00
2024-03-07 20:26:24 -08:00
2024-03-15 17:53:48 -07:00
2024-03-18 17:30:46 +00:00
2024-03-13 10:59:28 -07:00
2024-03-21 12:44:10 -07:00
2024-03-23 08:43:21 -07:00
2024-03-18 17:30:46 +00:00
2024-03-07 20:32:38 +00:00
2024-03-15 11:58:32 -07:00
2024-03-21 13:23:07 -06:00
2024-03-21 13:34:15 -07:00
2024-03-14 10:58:27 -07:00
2024-03-21 12:35:20 -07:00
2024-03-16 11:24:51 -07:00
2024-03-13 11:33:10 -07:00
2024-03-12 17:44:08 -07:00
2024-03-25 07:31:26 +01:00
2024-03-22 09:52:37 -07:00
2024-03-21 10:37:39 -07:00
2024-03-21 17:16:46 -07:00
2024-03-25 19:46:49 -07:00
2024-03-22 13:31:07 -07:00
2024-03-21 15:18:18 -07:00
2024-03-15 12:22:52 -07:00
2024-03-22 09:57:00 -07:00
2024-03-16 16:31:12 -07:00
2024-03-12 10:35:24 -07:00
2024-03-21 12:44:10 -07:00
2024-03-16 16:31:12 -07:00
2024-03-21 12:35:20 -07:00
2024-03-15 13:21:13 -07:00
2024-03-19 08:57:39 -07:00
2024-03-17 12:06:10 -07:00
2024-03-19 08:48:09 -07:00