Bug #540
closed
Multiple issues in defrag code
Added by Eric Leblond about 12 years ago.
Updated about 12 years ago.
Description
There is some issues in defrag code.
One is an error in Defrag4Reassemble and Defrag6Reassemble which clean the tracker which is used by the calling function.
An other one, is a possible use of invalid data by if two threads are using the same tracker and the first who get the lock on the tracker clean it.
This two bugs implies architecture problem and this part of the code need should be rewritten.
Looks like the defrag code uses Pool with the assumption of no extra allocs and frees. If the pool is a fixed size and the trackers are never freed (part of) the problem goes away it seems.
Agree. We need at least a careful check and some comments.
- Status changed from New to Assigned
- Assignee set to Victor Julien
- Target version set to 1.4beta2
Going to rewrite the hashing to match the flow and host tables.
- Status changed from Assigned to Closed
Addressed by commit:
commit 7a044a99ee14101fbca0bc44ffa96b74ff88883d
Author: Victor Julien <victor@inliniac.net>
Date: Tue Sep 18 18:13:09 2012 +0200
Defrag engine
Big rewrite of defrag engine to make it more scalable and fix some
locking logic flaws.
Now uses a hash of trackers similar to Flow and Host hashes.
Also available in: Atom
PDF