On Wed, Dec 30, 2009 at 7:57 AM, Kirill A. Shutemov <kirill@xxxxxxxxxxxxx> wrote: > This patch introduces write-only file "cgroup.event_control" in every > cgroup. This looks like a nice generic API for doing event notifications - thanks! Sorry I hadn't had a chance to review it before now, due to travelling and day-job pressures. > +} > + > +static int cgroup_event_wake(wait_queue_t *wait, unsigned mode, > + int sync, void *key) Maybe some comments here indicating how/when it gets called? (And more comments for each function generally?) > + if (flags & POLLHUP) { > + spin_lock(&cgrp->event_list_lock); > + list_del(&event->list); > + spin_unlock(&cgrp->event_list_lock); > + schedule_work(&event->remove); Comment saying why we can't do the remove immediately in this context? > + > +fail: > + if (!IS_ERR(cfile)) > + fput(cfile); cfile is either valid or NULL - it never contains an error value. > + > + if (!IS_ERR(efile)) > + fput(efile); While this is OK currently, it's a bit fragile. efile starts as NULL, and IS_ERR(NULL) is false. So if we jump to fail: before trying to do the eventfd_fget() then we'll try to fput(NULL), which will oops. This works because we don't currently jump to fail: until after eventfd_fget(), but someone could add an extra setup step between the kzalloc() and the eventfd_fget() which could fail. Paul _______________________________________________ Containers mailing list Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/containers