DPDK patches and discussions
 help / color / mirror / Atom feed
* [PATCH] pcapng: avoid potential unaligned data
@ 2024-11-20 23:06 Stephen Hemminger
  2024-11-26 19:22 ` Thomas Monjalon
  0 siblings, 1 reply; 2+ messages in thread
From: Stephen Hemminger @ 2024-11-20 23:06 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger

The buffer used to construct headers (which contain 32 bit values)
was declared as uint8_t which can lead to unaligned access.
Change to declare buffer as uint32_t.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 lib/pcapng/rte_pcapng.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/lib/pcapng/rte_pcapng.c b/lib/pcapng/rte_pcapng.c
index e5326c1d38..16485b27cb 100644
--- a/lib/pcapng/rte_pcapng.c
+++ b/lib/pcapng/rte_pcapng.c
@@ -33,8 +33,8 @@
 /* conversion from DPDK speed to PCAPNG */
 #define PCAPNG_MBPS_SPEED 1000000ull
 
-/* upper bound for section, stats and interface blocks */
-#define PCAPNG_BLKSIZ	2048
+/* upper bound for section, stats and interface blocks (in uint32_t) */
+#define PCAPNG_BLKSIZ	(2048 / sizeof(uint32_t))
 
 /* Format of the capture file handle */
 struct rte_pcapng {
@@ -144,7 +144,7 @@ pcapng_section_block(rte_pcapng_t *self,
 {
 	struct pcapng_section_header *hdr;
 	struct pcapng_option *opt;
-	uint8_t buf[PCAPNG_BLKSIZ];
+	uint32_t buf[PCAPNG_BLKSIZ];
 	uint32_t len;
 
 	len = sizeof(*hdr);
@@ -212,7 +212,7 @@ rte_pcapng_add_interface(rte_pcapng_t *self, uint16_t port,
 	struct pcapng_option *opt;
 	const uint8_t tsresol = 9;	/* nanosecond resolution */
 	uint32_t len;
-	uint8_t buf[PCAPNG_BLKSIZ];
+	uint32_t buf[PCAPNG_BLKSIZ];
 	char ifname_buf[IF_NAMESIZE];
 	char ifhw[256];
 	uint64_t speed = 0;
@@ -330,7 +330,7 @@ rte_pcapng_write_stats(rte_pcapng_t *self, uint16_t port_id,
 	uint64_t start_time = self->offset_ns;
 	uint64_t sample_time;
 	uint32_t optlen, len;
-	uint8_t buf[PCAPNG_BLKSIZ];
+	uint32_t buf[PCAPNG_BLKSIZ];
 
 	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -EINVAL);
 
-- 
2.45.2


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

* Re: [PATCH] pcapng: avoid potential unaligned data
  2024-11-20 23:06 [PATCH] pcapng: avoid potential unaligned data Stephen Hemminger
@ 2024-11-26 19:22 ` Thomas Monjalon
  0 siblings, 0 replies; 2+ messages in thread
From: Thomas Monjalon @ 2024-11-26 19:22 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: dev, stable

21/11/2024 00:06, Stephen Hemminger:
> The buffer used to construct headers (which contain 32 bit values)
> was declared as uint8_t which can lead to unaligned access.
> Change to declare buffer as uint32_t.
> 
> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>

Fixes: dc2d6d20047e ("pcapng: avoid using alloca")
Cc: stable@dpdk.org

Applied, thanks.




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

end of thread, other threads:[~2024-11-26 19:22 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-11-20 23:06 [PATCH] pcapng: avoid potential unaligned data Stephen Hemminger
2024-11-26 19:22 ` Thomas Monjalon

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).