diff options
author | André Fabian Silva Delgado <emulatorman@parabola.nu> | 2016-12-13 20:16:40 -0300 |
---|---|---|
committer | André Fabian Silva Delgado <emulatorman@parabola.nu> | 2016-12-13 20:16:40 -0300 |
commit | 6baeafd1f2a54ca041ff71778ebda9fac75aad12 (patch) | |
tree | 57d2d68fa5d1d91f57cd7fcf0aed0a97892cc8cc /net/sched/cls_cgroup.c | |
parent | 189382f7a338c02b448ab27e1d5566e052165dc8 (diff) |
Linux-libre 4.8.14-gnuHEADpck-4.8.14-gnumaster
Diffstat (limited to 'net/sched/cls_cgroup.c')
-rw-r--r-- | net/sched/cls_cgroup.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/net/sched/cls_cgroup.c b/net/sched/cls_cgroup.c index 4c85bd3a7..c104c2019 100644 --- a/net/sched/cls_cgroup.c +++ b/net/sched/cls_cgroup.c @@ -130,11 +130,10 @@ static bool cls_cgroup_destroy(struct tcf_proto *tp, bool force) if (!force) return false; - - if (head) { - RCU_INIT_POINTER(tp->root, NULL); + /* Head can still be NULL due to cls_cgroup_init(). */ + if (head) call_rcu(&head->rcu, cls_cgroup_destroy_rcu); - } + return true; } |