Index | Thread | Search

From:
Jan Klemkow <jan@openbsd.org>
Subject:
add missing M_PKTHDR check
To:
tech@openbsd.org
Date:
Tue, 12 Aug 2025 20:59:25 +0200

Download raw body.

Thread
Hi,

In all other archs _bus_dmamap_load_mbuf() checks the M_PKTHDR flag
before using the m_pkthdr struct.

ok?

bye,
Jan

Index: arch/sparc64/sparc64/machdep.c
===================================================================
RCS file: /cvs/src/sys/arch/sparc64/sparc64/machdep.c,v
diff -u -p -r1.218 machdep.c
--- arch/sparc64/sparc64/machdep.c	22 May 2024 05:51:49 -0000	1.218
+++ arch/sparc64/sparc64/machdep.c	12 Aug 2025 15:36:18 -0000
@@ -957,6 +957,11 @@ _bus_dmamap_load_mbuf(bus_dma_tag_t t, b
  	map->dm_mapsize = 0;
  	map->dm_nsegs = 0;
 
+#ifdef DIAGNOSTIC
+	if ((m->m_flags & M_PKTHDR) == 0)
+		panic("_bus_dmamap_load_mbuf: no packet header");
+#endif
+
 	if (m->m_pkthdr.len > map->_dm_size)
 		return (EINVAL);