NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: bin/47311: rtadvd(8) crashes when RA arrives on a newly created interface
The following reply was made to PR bin/47311; it has been noted by GNATS.
From: christos%zoulas.com@localhost (Christos Zoulas)
To: gnats-bugs%NetBSD.org@localhost, gnats-admin%netbsd.org@localhost,
netbsd-bugs%netbsd.org@localhost
Cc:
Subject: Re: bin/47311: rtadvd(8) crashes when RA arrives on a newly created
interface
Date: Tue, 11 Dec 2012 12:02:09 -0500
On Dec 11, 2:55pm, uwe%NetBSD.org@localhost (uwe%NetBSD.org@localhost) wrote:
-- Subject: bin/47311: rtadvd(8) crashes when RA arrives on a newly created i
| >Number: 47311
| >Category: bin
| >Synopsis: rtadvd(8) crashes when RA arrives on a newly created
interface
| >Confidential: no
| >Severity: non-critical
| >Priority: low
| >Responsible: bin-bug-people
| >State: open
| >Class: sw-bug
| >Submitter-Id: net
| >Arrival-Date: Tue Dec 11 14:55:00 +0000 2012
| >Originator: Valery Ushakov
| >Release: NetBSD 6
| >Organization:
| >Environment:
| NetBSD amd64 6.0_STABLE NetBSD 6.0_STABLE (GENERIC) #0: Sun Nov 18 04:21:07
MSK 2012
uwe@amd64:/home/uwe/work/netbsd/cvs/src-release-6/sys/arch/amd64/compile/GENERIC
amd64
|
| >Description:
| When rtadvd(8) is up and running and a new interface is created behind
| its back it doesn't notice that. When later an RA arrives on a new
| interface rtadvd(8) crashes at rtadvd.c:617 (line number as of rev. 1.38):
|
| if ((iflist[pi->ipi6_ifindex]->ifm_flags & IFF_UP) == 0) {
|
| where pi->ipi6_ifindex names a new interface and it's out of bounds for
| iflist[] array that was populated before the new interface was created.
|
| >How-To-Repeat:
| I don't have a ready test case to reproduce it. What I'm doing is I'm
| playing with lwIP stack using tap(4) bridge(4)'ed to the real ethernet.
|
| The system has
|
| rtadvd=YES
| rtadvd_flags="wm2"
|
| in rc.conf(5) so rtadvd(8) is started at boot. Later I create a tap
interface bridged to wm1 and run lwIP on that tap. When my lwIP app sends its
first RA out on tap, rtadvd(8) crashes as described.
|
| To reproduce this it's probably easiest to just create/open a tap and send
canned ethernet frame with RA packet in it.
should make it handle RTM_IFANNOUNCE. The FreeBSD code does it; perhaps use
theirs?
christos
Home |
Main Index |
Thread Index |
Old Index