summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVadim Kochan <vadim4j@gmail.com>2017-12-17 23:25:40 +0200
committerTobias Klauser <tklauser@distanz.ch>2017-12-18 14:48:52 +0100
commit85f3536846adb8da882227b40ddbe0bc91f3ce71 (patch)
treef26d7d4aa5e881759f58b989f4c5dc4bfdc1aea2
parente207624c6d92e9c2979e1e310cab660f0320ca48 (diff)
flowtop: Use RCU flow deletion from process entry
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 <vadim4j@gmail.com> Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
-rw-r--r--flowtop.c2
1 files changed, 1 insertions, 1 deletions
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--;
}