From: Russell King <rmk+lkml@arm.linux.org.uk>
To: Andrew Morton <akpm@osdl.org>
Cc: Jean Delvare <khali@linux-fr.org>,
linux-kernel@vger.kernel.org, aarnold@elsa.de
Subject: Re: [BUG 2.2/2.4/2.6] broken memsets in net/sk_mca.c (multicast)
Date: Sat, 10 Apr 2004 09:49:24 +0100 [thread overview]
Message-ID: <20040410094924.C32143@flint.arm.linux.org.uk> (raw)
In-Reply-To: <20040410014040.48cb037b.akpm@osdl.org>; from akpm@osdl.org on Sat, Apr 10, 2004 at 01:40:40AM -0700
On Sat, Apr 10, 2004 at 01:40:40AM -0700, Andrew Morton wrote:
> Jean Delvare <khali@linux-fr.org> wrote:
> > I just found two very weird memsets in drivers/net/sk_mca.c.
>
> yup.
Erm...
> --- 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));
Initialise the whole of block.LAdrF to all-bits-set, and then...
> + 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);
Set bits, which are already set from the previous memset.
Surely this can't be right?
--
Russell King
Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
maintainer of: 2.6 PCMCIA - http://pcmcia.arm.linux.org.uk/
2.6 Serial core
next prev parent reply other threads:[~2004-04-10 8:49 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-04-10 8:20 [BUG 2.2/2.4/2.6] broken memsets in net/sk_mca.c (multicast) Jean Delvare
2004-04-10 8:40 ` Andrew Morton
2004-04-10 8:49 ` Russell King [this message]
2004-04-10 8:59 ` Andrew Morton
2004-04-10 14:49 ` Jean Delvare
2004-04-10 11:52 ` Denis Vlasenko
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20040410094924.C32143@flint.arm.linux.org.uk \
--to=rmk+lkml@arm.linux.org.uk \
--cc=aarnold@elsa.de \
--cc=akpm@osdl.org \
--cc=khali@linux-fr.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox