Use cds_list_del_rcu for safer deletion flow from the process flow
list to prevent possible use-after-free by UI thread when it is
refreshing the processes.

It may fix the #183 issue.

Signed-off-by: Vadim Kochan <vadi...@gmail.com>
---
 flowtop.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/flowtop.c b/flowtop.c
index 0a3c514..8b69d65 100644
--- a/flowtop.c
+++ b/flowtop.c
@@ -477,7 +477,7 @@ static int flow_list_del_entry(struct flow_list *fl, const 
struct nf_conntrack *
        n = flow_list_find_id(fl, nfct_get_attr_u32(ct, ATTR_ID));
        if (n) {
                if (n->proc) {
-                       cds_list_del(&n->proc_head);
+                       cds_list_del_rcu(&n->proc_head);
                        n->proc->flows_count--;
                }
 
-- 
2.14.1

-- 
You received this message because you are subscribed to the Google Groups 
"netsniff-ng" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to netsniff-ng+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to