diff --git a/net/sched/cls_api.c b/net/sched/cls_api.c
index 045d13679ad69b12fdec83f8ed2871ad0f8dd527..231181c602edbae39fa7aecc345a12a25b35a6bb 100644
--- a/net/sched/cls_api.c
+++ b/net/sched/cls_api.c
@@ -909,6 +909,7 @@ void tcf_exts_destroy(struct tcf_exts *exts)
 #ifdef CONFIG_NET_CLS_ACT
 	LIST_HEAD(actions);
 
+	ASSERT_RTNL();
 	tcf_exts_to_list(exts, &actions);
 	tcf_action_destroy(&actions, TCA_ACT_UNBIND);
 	kfree(exts->actions);