On 13 Mar 2015, at 16:33, Christos Zoulas <christos%zoulas.com@localhost> wrote:
> On Mar 13, 4:12pm, hannken%eis.cs.tu-bs.de@localhost ("J. Hannken-Illjes") wrote:
> -- Subject: Re: DoS attack against TCP services
>
> | > Can't it just try to acquire the lock and if it fails it spams, and
> | > does not deadlock? Or even better, finds the driver that blocks it,
> | > and bumps its timeout? It is annoying to have a monitoring service
> | > DoS the whole machine...
> |
> | Suppose sysmon should use a second mutex for workqueue management only.
> |
> | This way it should be possible to detect a non-empty workqueue,
> | print a message and stop adding new work.
>
> That's a good idea. Do you want to do it, or should I put it in my
> infinite TODO list? :-)
What about the attached diff. It adds a counter of busy items and
stops enqueueing more work if an item is still busy.
Adds a short time lock to protect this counter and keeps sme_mtx as
long time lock.
--
J. Hannken-Illjes - hannken%eis.cs.tu-bs.de@localhost - TU Braunschweig (Germany)
Attachment:
sysmon.diff
Description: Binary data