[PATCH v2] libpcapng: fix timestamp wrapping in output files

2022-05-17 Thread Quentin Armitage
ng files") Cc: sta...@dpdk.org Signed-off-by: Quentin Armitage --- v2: - Don't call clock_gettime() in fast path - Update pcapng_time.ns and pcapng_time.cycles to ensure delta < tsc_hz - Stop using constructor to initialise pcapng_time.tsc_hz since it is not initialised un

Re: [PATCH] libpcapng: fix timestamp wrapping in output files

2022-05-14 Thread Quentin Armitage
On Wed, 2022-05-11 at 09:46 -0700, Stephen Hemminger wrote: > On Sat,  7 May 2022 17:12:36 +0100 > Quentin Armitage wrote: > > > In pcap_tsc_to_ns(), delta * NSEC_PER_SEC will overflow approx 8 > > seconds after pcap_init is called when using a TSC with a frequency >

[PATCH] libpcapng: fix timestamp wrapping in output files

2022-05-07 Thread Quentin Armitage
a several second gap between calls to pcapng_tsc_to_ns() the actual check to reread the clock is: delta > ((1ULL << 63) / NSEC_PER_SEC) Fixes: 8d23ce8f5ee ("pcapng: add new library for writing pcapng files") Cc: sta...@dpdk.org Signed-off-by: Quentin Armitage ---

[PATCH v2] tap: fix write-after-free and double free of intr_handle

2022-05-03 Thread Quentin Armitage
) Changes in v2: Move rte_intr_instance_free() from tap_rx_intr_vec_uninstall() to tap_dev_close(). Signed-off-by: Quentin Armitage --- drivers/net/tap/rte_eth_tap.c | 2 ++ drivers/net/tap/tap_intr.c| 2 -- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/tap

[PATCH 1/1] tap: fix write-after-free and double free of intr_handle

2022-05-02 Thread Quentin Armitage
can then be immediately called, and this then uses pmd->intr_handle without it being reallocated. This commit moves the call of rte_intr_instance_free() from tap_tx_intr_vec_uninstall() to rte_pmd_tap_remove(). Signed-off-by: Quentin Armitage --- drivers/net/tap/rte_eth_tap.c | 5 + drive

[PATCH 0/1] tap: fix write-after-free and double free of intr_handle

2022-05-02 Thread Quentin Armitage
e which has now been overwritten due to being previously freed. When rte_intr_instance_free() is called via tap_rx_intr_vec_uninstall(), due to intr_handle->alloc_flags having been overwritten by a subsequent user of that memory, it enters the wrong block and calls free() rather than rte_free(). This ca