NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: kern/50602: removing ethernet cable panics the kernel
The following reply was made to PR kern/50602; it has been noted by GNATS.
From: Ryota Ozaki <ozaki-r%netbsd.org@localhost>
To: "gnats-bugs%NetBSD.org@localhost" <gnats-bugs%netbsd.org@localhost>
Cc: kern-bug-people%netbsd.org@localhost, gnats-admin%netbsd.org@localhost, netbsd-bugs%netbsd.org@localhost,
Michael van Elst <mlelstv%serpens.de@localhost>
Subject: Re: kern/50602: removing ethernet cable panics the kernel
Date: Wed, 10 Feb 2016 13:24:14 +0900
So I've revisited this change.
I rebased mlelstv's patch:
http://www.netbsd.org/~ozaki-r/softint-if_link_state_change.diff
It works for me. I tested plugging/unplugging a cable repeatedly
under load or no load. I didn't see any panic and inconsistency
of the link state.
I think we can commit this change. Any thoughts?
ozaki-r
On Mon, Jan 4, 2016 at 6:37 PM, Ryota Ozaki <ozaki-r%netbsd.org@localhost> wrote:
> On Mon, Jan 4, 2016 at 4:15 PM, Michael van Elst <mlelstv%serpens.de@localhost> wrote:
>> The following reply was made to PR kern/50602; it has been noted by GNATS.
>>
>> From: mlelstv%serpens.de@localhost (Michael van Elst)
>> To: gnats-bugs%netbsd.org@localhost
>> Cc:
>> Subject: Re: kern/50602: removing ethernet cable panics the kernel
>> Date: Mon, 4 Jan 2016 07:09:51 +0000 (UTC)
>>
>> ozaki-r%netbsd.org@localhost (Ryota Ozaki) writes:
>>
>> >I remember that riastradh suggested me that we don't need the
>> >ifdef for kvm(3). IIUC, the added variables aren't accessed
>> >by kvm(3) so that we don't need to hide them to userland.
>>
>> >I'd remove it if nobody objects.
>>
>> The point is that the structure to userland must not change
>> without adding appropriate compatibility code.
>>
>> But since the added variables are only accessed by the kernel
>> the simple solution is to put them inside #ifdef _KERNEL
>> as it was already done for the if_slowtimo_ch variable.
>
> Hm. My understanding is that we can keep compatibility by
> appending new variables to a data structure while inserting
> variables to middle of a data structure or removing variables
> breaks compatibility. Basically struct ifnet is accessed from
> userland via struct ifreq and one exception is kvm(3) that is
> used by netstat(1) and vmstat(1). The former guarantees
> compatibility on changing ifnet and the compatibility for
> the latter is guaranteed by always appending new variables
> to ifnet when we change ifnet.
>
> Correct me if I'm wrong (probably I am!).
>
> ozaki-r
>
>>
>> --
>> --
>> Michael van Elst
>> Internet: mlelstv%serpens.de@localhost
>> "A potential Snark may lurk in every tree."
>>
Home |
Main Index |
Thread Index |
Old Index