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

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/idpf_txrx.h |  2 ++
 drivers/net/ethernet/intel/idpf/virtchnl2.h | 24 ++++++++++-----------
 5 files changed, 28 insertions(+), 12 deletions(-)

---
From v1[0]:
* fix compilation of #2 (Jakub);
* pick Acked-bys (Gustavo).

From RFC[1]:

* 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/20240326164116.645718-1-aleksander.lobakin@intel.com
[1] https://lore.kernel.org/netdev/20240318130354.2713265-1-aleksander.lobakin@intel.com
-- 
2.44.0


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

end of thread, other threads:[~2024-03-29  2:20 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-03-27 14:22 [PATCH net-next v2 0/3] compiler_types: add Endianness-dependent __counted_by_{le,be} Alexander Lobakin
2024-03-27 14:22 ` [Intel-wired-lan] [PATCH net-next v2 0/3] compiler_types: add Endianness-dependent __counted_by_{le, be} Alexander Lobakin
2024-03-27 14:22 ` [PATCH net-next v2 1/3] compiler_types: add Endianness-dependent __counted_by_{le,be} Alexander Lobakin
2024-03-27 14:22   ` [Intel-wired-lan] [PATCH net-next v2 1/3] compiler_types: add Endianness-dependent __counted_by_{le, be} Alexander Lobakin
2024-03-27 14:22 ` [PATCH net-next v2 2/3] idpf: make virtchnl2.h self-contained Alexander Lobakin
2024-03-27 14:22   ` [Intel-wired-lan] " Alexander Lobakin
2024-03-27 14:22 ` [PATCH net-next v2 3/3] idpf: sprinkle __counted_by{,_le}() in the virtchnl2 header Alexander Lobakin
2024-03-27 14:22   ` [Intel-wired-lan] [PATCH net-next v2 3/3] idpf: sprinkle __counted_by{, _le}() " Alexander Lobakin
2024-03-28 10:11 ` [PATCH net-next v2 0/3] compiler_types: add Endianness-dependent __counted_by_{le,be} Przemek Kitszel
2024-03-28 10:11   ` [Intel-wired-lan] [PATCH net-next v2 0/3] compiler_types: add Endianness-dependent __counted_by_{le, be} Przemek Kitszel
2024-03-29  2:20 ` patchwork-bot+netdevbpf
2024-03-29  2:20   ` [PATCH net-next v2 0/3] compiler_types: add Endianness-dependent __counted_by_{le,be} patchwork-bot+netdevbpf

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.