lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Wed, 14 May 2014 10:53:47 +0800 From: Li Zefan <lizefan@...wei.com> To: Tejun Heo <tj@...nel.org> CC: <cgroups@...r.kernel.org>, <linux-kernel@...r.kernel.org> Subject: Re: [PATCH 1/9] cgroup: use restart_syscall() for mount retries On 2014/5/10 5:13, Tejun Heo wrote: > cgroup_mount() uses dumb delay-and-retry logic to wait for cgroup_root > which is being destroyed. The retry currently loops inside > cgroup_mount() proper. This patch makes it return with > restart_syscall() instead so that retry travels out to userland > boundary. > > This slightly simplifies the logic and more importantly makes the > retry logic behave better when the wait for some reason becomes > lengthy or infinite by allowing the operation to be suspended or > terminated from userland. > > Signed-off-by: Tejun Heo <tj@...nel.org> > --- > kernel/cgroup.c | 5 ++--- > 1 file changed, 2 insertions(+), 3 deletions(-) > > diff --git a/kernel/cgroup.c b/kernel/cgroup.c > index 3083c5a..2755f33 100644 > --- a/kernel/cgroup.c > +++ b/kernel/cgroup.c > @@ -1681,7 +1681,7 @@ static struct dentry *cgroup_mount(struct file_system_type *fs_type, > ret = parse_cgroupfs_options(data, &opts); > if (ret) > goto out_unlock; > -retry: > + > /* look for a matching existing root */ > if (!opts.subsys_mask && !opts.none && !opts.name) { > cgrp_dfl_root_visible = true; > @@ -1740,8 +1740,7 @@ retry: > if (!atomic_inc_not_zero(&root->cgrp.refcnt)) { > mutex_unlock(&cgroup_mutex); > msleep(10); > - mutex_lock(&cgroup_mutex); > - goto retry; > + return ERR_PTR(restart_syscall()); We leak memory allocated in parse_cgroupfs_options(). -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists