netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next v5 0/7] tun: Unify vnet implementation
@ 2025-02-05  6:22 Akihiko Odaki
  2025-02-05  6:22 ` [PATCH net-next v5 1/7] tun: Refactor CONFIG_TUN_VNET_CROSS_LE Akihiko Odaki
                   ` (6 more replies)
  0 siblings, 7 replies; 17+ messages in thread
From: Akihiko Odaki @ 2025-02-05  6:22 UTC (permalink / raw)
  To: Jonathan Corbet, Willem de Bruijn, Jason Wang, David S. Miller,
	Eric Dumazet, Jakub Kicinski, Paolo Abeni, Michael S. Tsirkin,
	Xuan Zhuo, Shuah Khan, linux-doc, linux-kernel, netdev, kvm,
	virtualization, linux-kselftest, Yuri Benditovich,
	Andrew Melnychenko, Stephen Hemminger, gur.stavi, devel,
	Akihiko Odaki
  Cc: Willem de Bruijn

When I implemented virtio's hash-related features to tun/tap [1],
I found tun/tap does not fill the entire region reserved for the virtio
header, leaving some uninitialized hole in the middle of the buffer
after read()/recvmesg().

This series fills the uninitialized hole. More concretely, the
num_buffers field will be initialized with 1, and the other fields will
be inialized with 0. Setting the num_buffers field to 1 is mandated by
virtio 1.0 [2].

The change to virtio header is preceded by another change that refactors
tun and tap to unify their virtio-related code.

[1]: https://lore.kernel.org/r/20241008-rss-v5-0-f3cf68df005d@daynix.com
[2]: https://lore.kernel.org/r/20241227084256-mutt-send-email-mst@kernel.org/

Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
---
Changes in v5:
- s/vnet_hdr_len_sz/vnet_hdr_sz/ for patch "tun: Decouple vnet handling"
  (Willem de Bruijn)
- Changed to inline vnet implementations to TUN and TAP.
- Dropped patch "tun: Avoid double-tracking iov_iter length changes" and
  "tap: Avoid double-tracking iov_iter length changes".
- Link to v4: https://lore.kernel.org/r/20250120-tun-v4-0-ee81dda03d7f@daynix.com

Changes in v4:
- s/sz/vnet_hdr_len_sz/ for patch "tun: Decouple vnet handling"
  (Willem de Bruijn)
- Reverted to add CONFIG_TUN_VNET.
- Link to v3: https://lore.kernel.org/r/20250116-tun-v3-0-c6b2871e97f7@daynix.com

Changes in v3:
- Dropped changes to fill the vnet header.
- Splitted patch "tun: Unify vnet implementation".
- Reverted spurious changes in patch "tun: Unify vnet implementation".
- Merged tun_vnet.c into TAP.
- Link to v2: https://lore.kernel.org/r/20250109-tun-v2-0-388d7d5a287a@daynix.com

Changes in v2:
- Fixed num_buffers endian.
- Link to v1: https://lore.kernel.org/r/20250108-tun-v1-0-67d784b34374@daynix.com

---
Akihiko Odaki (7):
      tun: Refactor CONFIG_TUN_VNET_CROSS_LE
      tun: Keep hdr_len in tun_get_user()
      tun: Decouple vnet from tun_struct
      tun: Decouple vnet handling
      tun: Extract the vnet handling code
      tap: Keep hdr_len in tap_get_user()
      tap: Use tun's vnet-related code

 MAINTAINERS            |   2 +-
 drivers/net/tap.c      | 168 ++++++------------------------------------
 drivers/net/tun.c      | 193 ++++++-------------------------------------------
 drivers/net/tun_vnet.h | 184 ++++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 231 insertions(+), 316 deletions(-)
---
base-commit: a32e14f8aef69b42826cf0998b068a43d486a9e9
change-id: 20241230-tun-66e10a49b0c7

Best regards,
-- 
Akihiko Odaki <akihiko.odaki@daynix.com>


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

end of thread, other threads:[~2025-02-06 16:09 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-02-05  6:22 [PATCH net-next v5 0/7] tun: Unify vnet implementation Akihiko Odaki
2025-02-05  6:22 ` [PATCH net-next v5 1/7] tun: Refactor CONFIG_TUN_VNET_CROSS_LE Akihiko Odaki
2025-02-05 21:06   ` Willem de Bruijn
2025-02-06  6:53     ` Akihiko Odaki
2025-02-05  6:22 ` [PATCH net-next v5 2/7] tun: Keep hdr_len in tun_get_user() Akihiko Odaki
2025-02-05  6:22 ` [PATCH net-next v5 3/7] tun: Decouple vnet from tun_struct Akihiko Odaki
2025-02-05  6:22 ` [PATCH net-next v5 4/7] tun: Decouple vnet handling Akihiko Odaki
2025-02-05  6:22 ` [PATCH net-next v5 5/7] tun: Extract the vnet handling code Akihiko Odaki
2025-02-05 21:12   ` Willem de Bruijn
2025-02-06  6:58     ` Akihiko Odaki
2025-02-05  6:22 ` [PATCH net-next v5 6/7] tap: Keep hdr_len in tap_get_user() Akihiko Odaki
2025-02-05 21:12   ` Willem de Bruijn
2025-02-05 21:21   ` Willem de Bruijn
2025-02-06  7:04     ` Akihiko Odaki
2025-02-06 16:09       ` Willem de Bruijn
2025-02-05  6:22 ` [PATCH net-next v5 7/7] tap: Use tun's vnet-related code Akihiko Odaki
2025-02-05 21:14   ` Willem de Bruijn

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).