Subject: kern/16251: Incorrect kmemstat entry used in i82586 driver's multicast code
To: None <gnats-bugs@gnats.netbsd.org>
From: None <franklin@elfie.org>
List: netbsd-bugs
Date: 04/08/2002 15:29:20
>Number:         16251
>Category:       kern
>Synopsis:       Incorrect kmemstat entry used in i82586 driver's multicast code
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Apr 08 12:30:01 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator:     John Franklin
>Release:        NetBSD 1.5ZC
>Organization:
	
>Environment:
	
	
System: NetBSD deathmitten 1.5ZC NetBSD 1.5ZC (DM) #0: Sun Apr 7 16:02:35 EDT 2002 franklin@deathmitten:/usr/src/sys/arch/i386-UP/compile/DM i386
Architecture: i386
Machine: i386
>Description:
	
The i82586 driver passes M_IPMADDR to malloc() when allocating space for link-level multicast addresses.  M_IFMADDR should be used instead.
>How-To-Repeat:
	
	code inspection of /sys/dev/ic/i82586.c
>Fix:
	

Index: i82586.c
===================================================================
RCS file: /cvsroot/syssrc/sys/dev/ic/i82586.c,v
retrieving revision 1.42
diff -u -r1.42 i82586.c
--- i82586.c	2001/11/26 23:30:59	1.42
+++ i82586.c	2002/04/08 19:20:19
@@ -1847,9 +1847,9 @@
 	if (size > sc->mcast_addrs_size) {
 		/* Need to allocate more space */
 		if (sc->mcast_addrs_size)
-			free(sc->mcast_addrs, M_IPMADDR);
+			free(sc->mcast_addrs, M_IFMADDR);
 		sc->mcast_addrs = (char *)
-			malloc(size, M_IPMADDR, M_WAITOK);
+			malloc(size, M_IFMADDR, M_WAITOK);
 		sc->mcast_addrs_size = size;
 	}
 
>Release-Note:
>Audit-Trail:
>Unformatted: