Commit 80f9494d authored by Andrey Vagin's avatar Andrey Vagin Committed by Pavel Emelyanov

cgroups: fix use_after_free issue

list_for_each_entry_safe() should be used, you we are going to delete
something from a list.

CID 73383 (#1 of 1): Read from pointer after free (USE_AFTER_FREE)
4. deref_after_free: Dereferencing freed pointer prop.

Cc: Tycho Andersen <tycho.andersen@canonical.com>
Signed-off-by: 's avatarAndrey Vagin <avagin@openvz.org>
Acked-by: 's avatarTycho Andersen <tycho.andersen@canonical.com>
Signed-off-by: 's avatarPavel Emelyanov <xemul@parallels.com>
parent 609ce1f9
...@@ -366,9 +366,10 @@ static void free_cgroup_prop(struct cgroup_prop *prop) ...@@ -366,9 +366,10 @@ static void free_cgroup_prop(struct cgroup_prop *prop)
static void free_all_cgroup_props(struct cgroup_dir *ncd) static void free_all_cgroup_props(struct cgroup_dir *ncd)
{ {
struct cgroup_prop *prop; struct cgroup_prop *prop, *t;
list_for_each_entry(prop, &ncd->properties, list) { list_for_each_entry_safe(prop, t, &ncd->properties, list) {
list_del(&prop->list);
free_cgroup_prop(prop); free_cgroup_prop(prop);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment