All of lore.kernel.org
 help / color / mirror / Atom feed
* [Intel-wired-lan] [PATCH net-next 0/3] compiler_types: add Endianness-dependent __counted_by_{le, be}
@ 2024-03-26 16:41 ` Alexander Lobakin
  0 siblings, 0 replies; 18+ messages in thread
From: Alexander Lobakin @ 2024-03-26 16:41 UTC (permalink / raw)
  To: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni
  Cc: Kees Cook, netdev, Gustavo A. R. Silva, linux-kernel,
	Nathan Chancellor, Alexander Lobakin, intel-wired-lan,
	linux-hardening, Simon Horman, nex.sw.ncis.osdt.itp.upstreaming

Some structures contain flexible arrays at the end and the counter for
them, but the counter has explicit Endianness and thus __counted_by()
can't be used directly.

To increase test coverage for potential problems without breaking
anything, introduce __counted_by_{le,be} defined depending on platform's
Endianness to either __counted_by() when applicable or noop otherwise.
The first user will be virtchnl2.h from idpf just as example with 9 flex
structures having Little Endian counters.

Maybe it would be a good idea to introduce such attributes on compiler
level if possible, but for now let's stop on what we have.

Alexander Lobakin (3):
  compiler_types: add Endianness-dependent __counted_by_{le,be}
  idpf: make virtchnl2.h self-contained
  idpf: sprinkle __counted_by{,_le}() in the virtchnl2 header

 Documentation/conf.py                       |  2 ++
 scripts/kernel-doc                          |  1 +
 include/linux/compiler_types.h              | 11 ++++++++++
 drivers/net/ethernet/intel/idpf/virtchnl2.h | 24 ++++++++++-----------
 4 files changed, 26 insertions(+), 12 deletions(-)

---
From RFC[0]:

* teach kdoc new attributes (Simon, Kees);
* add Acked-by (Kees);
* fix a couple typos;
* send to net-next (Kees).

[0] https://lore.kernel.org/netdev/20240318130354.2713265-1-aleksander.lobakin@intel.com
-- 
2.44.0


^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2024-03-27 14:18 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-03-26 16:41 [Intel-wired-lan] [PATCH net-next 0/3] compiler_types: add Endianness-dependent __counted_by_{le, be} Alexander Lobakin
2024-03-26 16:41 ` [PATCH net-next 0/3] compiler_types: add Endianness-dependent __counted_by_{le,be} Alexander Lobakin
2024-03-26 16:41 ` [Intel-wired-lan] [PATCH net-next 1/3] compiler_types: add Endianness-dependent __counted_by_{le, be} Alexander Lobakin
2024-03-26 16:41   ` [PATCH net-next 1/3] compiler_types: add Endianness-dependent __counted_by_{le,be} Alexander Lobakin
2024-03-26 17:02   ` [Intel-wired-lan] [PATCH net-next 1/3] compiler_types: add Endianness-dependent __counted_by_{le, be} Gustavo A. R. Silva
2024-03-26 17:02     ` [PATCH net-next 1/3] compiler_types: add Endianness-dependent __counted_by_{le,be} Gustavo A. R. Silva
2024-03-26 16:41 ` [Intel-wired-lan] [PATCH net-next 2/3] idpf: make virtchnl2.h self-contained Alexander Lobakin
2024-03-26 16:41   ` Alexander Lobakin
2024-03-26 17:04   ` [Intel-wired-lan] " Gustavo A. R. Silva
2024-03-26 17:04     ` Gustavo A. R. Silva
2024-03-27  4:04   ` [Intel-wired-lan] " Jakub Kicinski
2024-03-27  4:04     ` Jakub Kicinski
2024-03-27 14:17     ` [Intel-wired-lan] " Alexander Lobakin
2024-03-27 14:17       ` Alexander Lobakin
2024-03-26 16:41 ` [Intel-wired-lan] [PATCH net-next 3/3] idpf: sprinkle __counted_by{, _le}() in the virtchnl2 header Alexander Lobakin
2024-03-26 16:41   ` [PATCH net-next 3/3] idpf: sprinkle __counted_by{,_le}() " Alexander Lobakin
2024-03-26 17:03   ` [Intel-wired-lan] [PATCH net-next 3/3] idpf: sprinkle __counted_by{, _le}() " Gustavo A. R. Silva
2024-03-26 17:03     ` [PATCH net-next 3/3] idpf: sprinkle __counted_by{,_le}() " Gustavo A. R. Silva

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.