Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/dev/ic Fix multicast handling (and while there a bogus m...



details:   https://anonhg.NetBSD.org/src/rev/849d937f7cf4
branches:  trunk
changeset: 336244:849d937f7cf4
user:      martin <martin%NetBSD.org@localhost>
date:      Sat Feb 21 11:39:05 2015 +0000

description:
Fix multicast handling (and while there a bogus memcpy).
Fixes PR kern/49472, patch from Nick Hudson.

diffstat:

 sys/dev/ic/i82596.c |  8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diffs (31 lines):

diff -r f9d10ec9dcb2 -r 849d937f7cf4 sys/dev/ic/i82596.c
--- a/sys/dev/ic/i82596.c       Sat Feb 21 10:42:15 2015 +0000
+++ b/sys/dev/ic/i82596.c       Sat Feb 21 11:39:05 2015 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: i82596.c,v 1.31 2014/02/24 07:23:43 skrll Exp $ */
+/* $NetBSD: i82596.c,v 1.32 2015/02/21 11:39:05 martin Exp $ */
 
 /*
  * Copyright (c) 2003 Jochen Kunz.
@@ -43,7 +43,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: i82596.c,v 1.31 2014/02/24 07:23:43 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: i82596.c,v 1.32 2015/02/21 11:39:05 martin Exp $");
 
 /* autoconfig and device stuff */
 #include <sys/param.h>
@@ -513,10 +513,10 @@
                                break;
                        }
                        memcpy(__UNVOLATILE(&cb->cb_mcast.mc_addrs[
-                           cb->cb_mcast.mc_size * ETHER_ADDR_LEN]),
+                           cb->cb_mcast.mc_size]),
                            enm->enm_addrlo, ETHER_ADDR_LEN);
                        ETHER_NEXT_MULTI(step, enm);
-                       cb->cb_mcast.mc_size++;
+                       cb->cb_mcast.mc_size += ETHER_ADDR_LEN;
                }
                if (cb->cb_mcast.mc_size == 0) {
                        /* Can't do exact mcast filtering, do ALLMULTI mode. */



Home | Main Index | Thread Index | Old Index