aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/cgroup.c
diff options
context:
space:
mode:
authorGreg Thelen <gthelen@google.com>2012-11-28 16:50:45 -0500
committerTejun Heo <tj@kernel.org>2012-11-28 16:52:14 -0500
commit9718ceb3431acdeee9bdec5c18e18266333970aa (patch)
tree5f8cf33738076409cf0c311100b2972c0571ec27 /kernel/cgroup.c
parent205a872bd6f9a9a09ef035ef1e90185a8245cc58 (diff)
cgroup: list_del_init() on removed events
Use list_del_init() rather than list_del() to remove events from cgrp->event_list. No functional change. This is just defensive coding. Signed-off-by: Greg Thelen <gthelen@google.com> Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'kernel/cgroup.c')
-rw-r--r--kernel/cgroup.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/kernel/cgroup.c b/kernel/cgroup.c
index 589433f7a74b..46dcdbd7485b 100644
--- a/kernel/cgroup.c
+++ b/kernel/cgroup.c
@@ -3767,7 +3767,7 @@ static int cgroup_event_wake(wait_queue_t *wait, unsigned mode,
3767 if (flags & POLLHUP) { 3767 if (flags & POLLHUP) {
3768 __remove_wait_queue(event->wqh, &event->wait); 3768 __remove_wait_queue(event->wqh, &event->wait);
3769 spin_lock(&cgrp->event_list_lock); 3769 spin_lock(&cgrp->event_list_lock);
3770 list_del(&event->list); 3770 list_del_init(&event->list);
3771 spin_unlock(&cgrp->event_list_lock); 3771 spin_unlock(&cgrp->event_list_lock);
3772 /* 3772 /*
3773 * We are in atomic context, but cgroup_event_remove() may 3773 * We are in atomic context, but cgroup_event_remove() may
@@ -4341,7 +4341,7 @@ static int cgroup_destroy_locked(struct cgroup *cgrp)
4341 list_splice_init(&cgrp->event_list, &tmp_list); 4341 list_splice_init(&cgrp->event_list, &tmp_list);
4342 spin_unlock(&cgrp->event_list_lock); 4342 spin_unlock(&cgrp->event_list_lock);
4343 list_for_each_entry_safe(event, tmp, &tmp_list, list) { 4343 list_for_each_entry_safe(event, tmp, &tmp_list, list) {
4344 list_del(&event->list); 4344 list_del_init(&event->list);
4345 remove_wait_queue(event->wqh, &event->wait); 4345 remove_wait_queue(event->wqh, &event->wait);
4346 eventfd_signal(event->eventfd, 1); 4346 eventfd_signal(event->eventfd, 1);
4347 schedule_work(&event->remove); 4347 schedule_work(&event->remove);