public inbox for passt-dev@passt.top
 help / color / mirror / code / Atom feed
From: David Gibson <david@gibson.dropbear.id.au>
To: Stefano Brivio <sbrivio@redhat.com>, passt-dev@passt.top
Subject: Re: [PATCH v2 00/12] Cleanups to packet pool handling and sizing
Date: Fri, 20 Dec 2024 20:00:13 +1100	[thread overview]
Message-ID: <Z2UyHZF1mOt-VIc4@zatzit> (raw)
In-Reply-To: <20241220083535.1372523-1-david@gibson.dropbear.id.au>

[-- Attachment #1: Type: text/plain, Size: 2211 bytes --]

On Fri, Dec 20, 2024 at 07:35:23PM +1100, David Gibson wrote:
> This... is not any of the things I said I would be working on.  I can
> only say that a herd of very hairy yaks led me astray.  Looking at bug
> 66 I spotted some problems with our handling of MTUs / maximum frame
> sizes.  Looking at that I found some weirdness and some real, if
> minor, bugs in the sizing and handling of the packet pools.
> 
> Changes in v2:
>  * Stefano convinced me that packet_check_range() is still worthwhile.
>    * So don't remove it... but in looking at it I spotted various
>      flaws in the checks, so address those in a number of new patches.
> 
> David Gibson (12):
>   test focus
>   hack: stop on fail, but not perf fail
>   make passt dumpable

Argh, oops.  Of course, 1..3 are test/debug patches that should not be
included in the series.

>   packet: Use flexible array member in struct pool
>   packet: Don't pass start and offset separately too
>     packet_check_range()
>   packet: Don't hard code maximum packet size to UINT16_MAX
>   packet: Remove unhelpful packet_get_try() macro
>   util: Add abort_with_msg() and ASSERT_WITH_MSG() helpers
>   packet: Distinguish severities of different packet_{add,git}_do()
>     errors
>   packet: Move packet length checks into packet_check_range()
>   tap: Don't size pool_tap[46] for the maximum number of packets
>   packet: More cautious checks to avoid pointer arithmetic UB
> 
>  dhcpv6.c      |   2 +-
>  ip.c          |   2 +-
>  isolation.c   |   2 +-
>  packet.c      | 106 ++++++++++++++++++++++----------------------------
>  packet.h      |  19 ++++++---
>  passt.h       |   2 -
>  tap.c         |  18 +++++++--
>  tap.h         |   3 +-
>  test/lib/term |   1 +
>  test/lib/test |   4 +-
>  test/run      |  38 +++++++++---------
>  util.c        |  19 +++++++++
>  util.h        |  25 +++++-------
>  vu_common.c   |  34 ++++++++++------
>  14 files changed, 153 insertions(+), 122 deletions(-)
> 

-- 
David Gibson (he or they)	| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you, not the other way
				| around.
http://www.ozlabs.org/~dgibson

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  parent reply	other threads:[~2024-12-20  9:00 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-12-20  8:35 [PATCH v2 00/12] Cleanups to packet pool handling and sizing David Gibson
2024-12-20  8:35 ` [PATCH v2 01/12] test focus David Gibson
2024-12-20  8:35 ` [PATCH v2 02/12] hack: stop on fail, but not perf fail David Gibson
2024-12-20  8:35 ` [PATCH v2 03/12] make passt dumpable David Gibson
2024-12-20  8:35 ` [PATCH v2 04/12] packet: Use flexible array member in struct pool David Gibson
2024-12-20  8:35 ` [PATCH v2 05/12] packet: Don't pass start and offset separately too packet_check_range() David Gibson
2024-12-20  8:35 ` [PATCH v2 06/12] packet: Don't hard code maximum packet size to UINT16_MAX David Gibson
2024-12-20  8:35 ` [PATCH v2 07/12] packet: Remove unhelpful packet_get_try() macro David Gibson
2024-12-20  8:35 ` [PATCH v2 08/12] util: Add abort_with_msg() and ASSERT_WITH_MSG() helpers David Gibson
2024-12-20  8:35 ` [PATCH v2 09/12] packet: Distinguish severities of different packet_{add,git}_do() errors David Gibson
2024-12-20  8:35 ` [PATCH v2 10/12] packet: Move packet length checks into packet_check_range() David Gibson
2024-12-20  8:35 ` [PATCH v2 11/12] tap: Don't size pool_tap[46] for the maximum number of packets David Gibson
2024-12-20  8:35 ` [PATCH v2 12/12] packet: More cautious checks to avoid pointer arithmetic UB David Gibson
2024-12-20  9:00 ` David Gibson [this message]
2024-12-20 10:06   ` [PATCH v2 00/12] Cleanups to packet pool handling and sizing Stefano Brivio

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Z2UyHZF1mOt-VIc4@zatzit \
    --to=david@gibson.dropbear.id.au \
    --cc=passt-dev@passt.top \
    --cc=sbrivio@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://passt.top/passt

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 IMAP folder(s).