Re: [ofa-general] Re: dst_ifdown breaks infiniband?

From: Eric W. Biederman
Date: Mon Mar 19 2007 - 01:31:12 EST


David Miller <davem@xxxxxxxxxxxxx> writes:

> From: "Michael S. Tsirkin" <mst@xxxxxxxxxxxxxxxxxx>
> Date: Mon, 19 Mar 2007 00:42:34 +0200

>> > Hmm. Then the code moving dst->dev to point to the loopback
>> > device will have to be fixed too. I'll post a patch a bit later.
>>
>> Does this look sane (untested)?
>>
>> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxxxxxxxxxx>
>
> You can't point it at NULL, we don't point it at loopback
> just for fun.
>
> There can be asynchronous paths elsewhere in the networking still
> referencing the neigh or dst and they will (correctly) feel free to
> derefence whatever device is hanging there. So transitioning
> to NULL is invalid.
>
> You guys will need to come up with a better solution for this silly
> situation with network namespaces. Loopback is always available to
> point dead routes and neighbour entries at, and this assumption is
> massively rooted in the networking.

Sure. In the network namespace case I think the careful ordering of the
shutdown handles that case. Even with per network namespace lo
unregistered it still existed until the network namespace actually
exited. And it only happened on exit.

So while there may be a tiny race there it hasn't been an issue yet
in practice.

I wasn't proposing that we fix it this way. I was simply saying that
there was the possibility for the case to exist. The existence of
a per network namespace loopback device is fairly fundamental to the
network namespace concept. Heck I think Herbert has been looking at
it for vserver which almost totally socket isolation.

Eric
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/