Messages in this thread | | | Date | Wed, 30 Dec 2015 12:23:17 +0100 | From | Willy Tarreau <> | Subject | Re: [PATCH] unix: properly account for FDs passed over unix sockets |
| |
On Wed, Dec 30, 2015 at 09:58:42AM +0100, Hannes Frederic Sowa wrote: > The MSG_PEEK code should not be harmful and the patch is good as is. I > first understood from the published private thread, that it is possible > for a program to exceed the rlimit of fds. But the DoS is only by > keeping the fds in flight and not attaching them to any program.
Exactly. The real issue is when these FDs become very expensive such as pipes full of data.
> __alloc_fd, called on the receiver side, does check for the rlimit > maximum anyway, so I don't see a loophole anymore: > > Acked-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
Thanks!
> Another idea would be to add the amount of memory used to manage the fds > to sock_rmem/wmem but I don't see any advantages or disadvantages.
Compared to the impact of the pending data in pipes themselves in flight, this would remain fairly minimal.
Thanks, Willy
| |