User: Password:
|
|
Subscribe / Log in / New account

Ghosts of Unix past, part 4: High-maintenance designs

Ghosts of Unix past, part 4: High-maintenance designs

Posted Dec 2, 2010 22:27 UTC (Thu) by oak (guest, #2786)
In reply to: Ghosts of Unix past, part 4: High-maintenance designs by nevyn
Parent article: Ghosts of Unix past, part 4: High-maintenance designs

> I've also yet to see any kind of analysis on DOSing D-Bus.

DOSing D-BUS is trivial, just register services and send messages.

D-BUS daemon needs an FD per client connection so you can DOS it by creating new connections to it until it doesn't anymore accept connections (it runs out of FDs before you do as it already has several clients).

D-BUS doesn't seem to have limits on its memory usage. For example if you send messages to (e.g. your own) service and it doesn't read them, D-BUS doesn't block either sender or receiver, it just buffers all the messages until the system runs to swap and D-BUS goes OOM.

The D-BUS memory management code seems also a bit horrible, both inefficient (doesn't free memory to system, just fragments its heap) and complicated. It's also a bit strange that a thing that mostly is supposed to push bits from one socket to another is CPU, not IO bound (at least when it has many clients, like you have on Maemo).


(Log in to post comments)


Copyright © 2017, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds