aboutsummaryrefslogtreecommitdiffstats
path: root/net/sched/cls_api.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/sched/cls_api.c')
-rw-r--r--net/sched/cls_api.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/net/sched/cls_api.c b/net/sched/cls_api.c
index 31bd1439cf60..0a75cb2e5e7b 100644
--- a/net/sched/cls_api.c
+++ b/net/sched/cls_api.c
@@ -1252,7 +1252,7 @@ replay:
1252 } 1252 }
1253 chain = tcf_chain_get(block, chain_index, true); 1253 chain = tcf_chain_get(block, chain_index, true);
1254 if (!chain) { 1254 if (!chain) {
1255 NL_SET_ERR_MSG(extack, "Cannot find specified filter chain"); 1255 NL_SET_ERR_MSG(extack, "Cannot create specified filter chain");
1256 err = -ENOMEM; 1256 err = -ENOMEM;
1257 goto errout; 1257 goto errout;
1258 } 1258 }
@@ -1399,7 +1399,7 @@ static int tc_del_tfilter(struct sk_buff *skb, struct nlmsghdr *n,
1399 goto errout; 1399 goto errout;
1400 } 1400 }
1401 NL_SET_ERR_MSG(extack, "Cannot find specified filter chain"); 1401 NL_SET_ERR_MSG(extack, "Cannot find specified filter chain");
1402 err = -EINVAL; 1402 err = -ENOENT;
1403 goto errout; 1403 goto errout;
1404 } 1404 }
1405 1405
@@ -1902,6 +1902,8 @@ replay:
1902 RTM_NEWCHAIN, false); 1902 RTM_NEWCHAIN, false);
1903 break; 1903 break;
1904 case RTM_DELCHAIN: 1904 case RTM_DELCHAIN:
1905 tfilter_notify_chain(net, skb, block, q, parent, n,
1906 chain, RTM_DELTFILTER);
1905 /* Flush the chain first as the user requested chain removal. */ 1907 /* Flush the chain first as the user requested chain removal. */
1906 tcf_chain_flush(chain); 1908 tcf_chain_flush(chain);
1907 /* In case the chain was successfully deleted, put a reference 1909 /* In case the chain was successfully deleted, put a reference