Hi All,

sorry for the spam, the first time was sent with html part and was rejected.

We observed an issue where a classifier instance next member is pointing back to itself, causing a CPU soft lockup. We found it by running traffic on many udp connections and then adding a new flower rule using tc.

We added a quick workaround to verify it:

In tc_classify:

        for (; tp; tp = rcu_dereference_bh(tp->next)) {
                int err;
+               if (tp == tp->next)
+                     RCU_INIT_POINTER(tp->next, NULL);


We also had a print here showing tp->next is pointing to tp. With this workaround we are not hitting the issue anymore. We are not sure we fully understand the mechanism here - with the rtnl and rcu locks.
We'll appreciate your help solving this issue.

Thanks,
Shahar

Reply via email to