summaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorLi Zefan <lizefan@huawei.com>2013-04-26 20:58:03 +0200
committerTejun Heo <tj@kernel.org>2013-04-26 20:58:03 +0200
commit7ef70e48735e17d2be5c8e8f85052842b16b923a (patch)
treeed5a6f181441dc96dbda4fcea6e14632d0231d93 /kernel
parentcgroup: fix use-after-free when umounting cgroupfs (diff)
downloadlinux-7ef70e48735e17d2be5c8e8f85052842b16b923a.tar.xz
linux-7ef70e48735e17d2be5c8e8f85052842b16b923a.zip
cgroup: restore the call to eventfd->poll()
I mistakenly removed the call to eventfd->poll() while I was actually intending to remove the return value... Calling evenfd->poll() will hook cgroup_event_wake() to the poll waitqueue, which will be called to unregister eventfd when rmdir a cgroup or close eventfd. Signed-off-by: Li Zefan <lizefan@huawei.com> Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'kernel')
-rw-r--r--kernel/cgroup.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/kernel/cgroup.c b/kernel/cgroup.c
index bd4de465d5a9..3f14a1310d23 100644
--- a/kernel/cgroup.c
+++ b/kernel/cgroup.c
@@ -3882,6 +3882,8 @@ static int cgroup_write_event_control(struct cgroup *cgrp, struct cftype *cft,
if (ret)
goto fail;
+ efile->f_op->poll(efile, &event->pt);
+
/*
* Events should be removed after rmdir of cgroup directory, but before
* destroying subsystem state objects. Let's take reference to cgroup