Hello!
> > We have already discussed this. It is not safe, certainly,
> > and needs refcounting.
>
> What I think is a bigger problem is the unsafe use of the spinlock:
> nothing prevents a timer on the same CPU from bumping into the spinlock,
> causing a deadlock.
No dedalock, it causes reference to freed memory rather
than deadlock.
> Hmm, probably the locks need to be split (list lock,
> frag queue lock protected with del_timer_async + refcount) or maybe even
Nothing but refcount on fq. It is very simple and convenient solution.
Andi, I have already asked you: may I change IPv4/v6 defragmenters?
I remember, you had some large patches for it.
> irq save spinlocks (costly)
Why?!
Alexey
|