Re: [PATCH] fix race in AF_UNIX
From: Miklos Szeredi
Date: Mon Jun 18 2007 - 08:01:01 EST
> > No, correctness always trumps performance. Lost packets on an AF_UNIX
> > socket are _unexceptable_, and this is definitely not a theoretical
> > problem.
>
> If its so unacceptable why has nobody noticed until now - its a bug
> clearly, it needs fixing clearly, but unless you can produce some kind of
> exploit from it (eg a DoS attack or kernel memory leak exploiter) it
> doesn't appear to be that serious.
It's serious in that it affects the operation of one of my
applications in a way that is rather hard to work around. Sure, I
could resend the lost sockets, but it's something one doesn't do
unnecessarily for reliable transports.
And it's entirely possible, that it could bite other apps in rare and
mysterious ways. All you need is
- an application that sends a unix socket over a unix socket
- a parallel close() operation on an independent unix socket
The two might happen to be from totally unrelated apps.
It's all the more serious, because it could happen rarely and
unreproducibly, and could well be crashing the app which is not
expecting this behavior.
> > And BTW my second patch does _not_ have the performance problems you
> > are arguing about, it's just plain ugly. But hey, if you can't live
> > with ugly code, go and fix it.
>
> If you put ugly code into the kernel you pay for maintaining it for years
> to come. If you get it right then you don't
>
> > Do you want me to send the patch to Andrew instead? His attitude
> > towards bugfixes is rather better ;)
>
> And it'll get NAKked and binned. DaveM is (as happens sometimes ;)) right
> to insist on the code being clean and efficient.
Right, but treating a bug in your subsystem as if it's entirely the
responsibility of the reporter is not the right attitude either I
think.
Miklos
-
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/