Re: cvs commit: src/sys/dev/arl if_arl.c src/sys/dev/cs if_cs.c src/sys/dev/ed if_ed.c src/sys/dev/ex if_ex.c src/sys/dev/fe if_fe.c src/sys/dev/lnc if_lnc.c src/sys/dev/sbni if_sbni.c src/sys/dev/sn if_sn.c src/sys/dev/wl if_wl.c src/sys/dev/xe ...

[ Available lists | Index of cvs-all | Month of Apr 2004 | Week of 15 Apr 2004 | Raw email | View thread | Wrap long lines | Reply | Tag ]
From
Brooks Davis <brooks@one-eyed-alien.net>
Date
15 Apr 2004 13:43:50
Subject
Re: cvs commit: src/sys/dev/arl if_arl.c src/sys/dev/cs if_cs.c src/sys/dev/ed if_ed.c src/sys/dev/ex if_ex.c src/sys/dev/fe if_fe.c src/sys/dev/lnc if_lnc.c src/sys/dev/sbni if_sbni.c src/sys/dev/sn if_sn.c src/sys/dev/wl if_wl.c src/sys/dev/xe ...
Message-ID
20040415204251.GA18850@Odin.AC.HMC.Edu


[ Hide this part ]
On Thu, Apr 15, 2004 at 01:31:11PM -0700, Luigi Rizzo wrote:
> luigi 2004/04/15 13:31:11 PDT
>
> FreeBSD src repository
>
> Modified files:
> sys/dev/arl if_arl.c
> sys/dev/cs if_cs.c
> sys/dev/ed if_ed.c
> sys/dev/ex if_ex.c
> sys/dev/fe if_fe.c
> sys/dev/lnc if_lnc.c
> sys/dev/sbni if_sbni.c
> sys/dev/sn if_sn.c
> sys/dev/wl if_wl.c
> sys/dev/xe if_xe.c
> Log:
> Remove improper use of if_addrhead in device drivers to check
> if the link-level address has been initialized already.
>
> The majority of modern drivers never does this and works fine, which
> makes me think that the check is totally unnecessary and a residue
> of cut&paste from other drivers.

I suspect I know where this came from. Until rev 1.177 of net/if.c,
there was an assumption that creating the ifaddr for the lladdr could
fail due to a malloc failure in if_attach. These drivers were probably
programming based on the assumption that this check could fail. Since
malloc was called with M_WAITOK this shouldn't be possiable and so
I removed the check there while redoing the allocation for interface
renaming support. In reality, given the fact that if_attach can't fail
(since it has a void return) the check should have resulted in a panic
rather then attaching an unusable interface.

-- Brooks

--
Any statement of the form "X is the one, true Y" is FALSE.
PGP fingerprint 655D 519C 26A7 82E7 2529 9BF0 5D8E 8BE9 F238 1AD4


[ Show this part (application/pgp-signature) ]

Elapsed time: 0.127 seconds