lkml.org 
[lkml]   [2004]   [Apr]   [10]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
DateSat, 10 Apr 2004 01:40:40 -0700
FromAndrew Morton <>
SubjectRe: [BUG 2.2/2.4/2.6] broken memsets in net/sk_mca.c (multicast)
Jean Delvare <khali@linux-fr.org> wrote:
>
> I just found two very weird memsets in drivers/net/sk_mca.c.

yup.


--- 25/drivers/net/sk_mca.c~sk_mca-multicast-fix	2004-04-10 01:37:06.739989760 -0700
+++ 25-akpm/drivers/net/sk_mca.c	2004-04-10 01:38:33.684772144 -0700
@@ -996,14 +996,12 @@ static void skmca_set_multicast_list(str
 	else
 		block.Mode &= ~LANCE_INIT_PROM;
 
-	if (dev->flags & IFF_ALLMULTI) {	/* get all multicasts */
-		memset(block.LAdrF, 8, 0xff);
-	} else {		/* get selected/no multicasts */
-
+	memset(block.LAdrF, 0xff, sizeof(block.LAdrF));
+	if (!(dev->flags & IFF_ALLMULTI)) {
+		/* get selected/no multicasts */
 		struct dev_mc_list *mptr;
 		int code;
 
-		memset(block.LAdrF, 8, 0x00);
 		for (mptr = dev->mc_list; mptr != NULL; mptr = mptr->next) {
 			code = GetHash(mptr->dmi_addr);
 			block.LAdrF[(code >> 3) & 7] |= 1 << (code & 7);
_

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:02    [from the cache]
©2003-2008