NetBSD-Bugs archive

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

Re: port-arm/54153: emac multicast hash calculation needs ETHER_LOCK



On Wed, May 8, 2019 at 11:02 PM sc dying <sc.dying%gmail.com@localhost> wrote:
>
> On Wed, May 8, 2019 at 7:09 PM Ryota Ozaki <ozaki-r%netbsd.org@localhost> wrote:
> > > >Description:
> > > sunxi emac(4) multicast hash calculation needs wrapped with
> > > ETHER_LOCK - ETHER_UNLOCK, especially if NET_MPSAFE is defined.
> > >
> > > >How-To-Repeat:
> > >
> > > >Fix:
> > > Please add ETHER_LOCK before ETHER_FIRST_MULTI and add ETHER_UNLOCK
> > > after following while loop.
> >
> > Fixed, thanks.
>
> Thank you for fix, but I should tell which driver needs fixed.
> I did not notice arm/sunxi/ have two emac driver, {sun4i,sunxi}_emac.c.
> I thought my nanopi (sun8i-h3-nanopi-neo) uses sunxi_emac.c and
> looked into it.
> sunxi_emac.c has the same problem that sun4i_emac.c had.
> Could you fix sunxi_emac.c too?

Oh, I didn't notice the driver.  I fixed it now.

>
> >
> > >
> > > Please pull-up to 8.0, too.
> >
> > Have you encountered any issues around the code?  Even if NET_MPSAFE is enabled
> > emac(4) is protected with KERENL_LOCK AFAIK so the code is actually
> > not problematic
> > on netbsd-8.  (I fixed it on -current for further MP-ification in the future.)
>
> I don't have any problem about this, but just notice by looking into
> another problem.

Actually sunxi_emac.c is racy with NET_MPSAFE, so I'll pull the fix up
to netbsd-8.

Thank you for the report!
  ozaki-r


Home | Main Index | Thread Index | Old Index