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, 19 Nov 2008 14:31:30 -0800 From: Paul Menage <menage@...gle.com> To: Li Zefan <lizf@...fujitsu.com> Cc: Andrew Morton <akpm@...ux-foundation.org>, Balbir Singh <balbir@...ux.vnet.ibm.com>, LKML <linux-kernel@...r.kernel.org>, Linux Containers <containers@...ts.linux-foundation.org> Subject: Re: [PATCH] cgroups: fix a serious bug in cgroupstats On Wed, Nov 19, 2008 at 12:14 AM, Li Zefan <lizf@...fujitsu.com> wrote: > Try this, and you'll get oops immediately: > # cd Documentation/accounting/ > # gcc -o getdelays getdelays.c > # mount -t cgroup -o debug xxx /mnt > # ./getdelays -C /mnt/tasks > > Because a normal file's dentry->d_fsdata is a pointer to struct cftype, > not struct cgroup. > > After the patch, it returns EINVAL if we try to get cgroupstats > from a normal file. > > CC: Balbir Singh <balbir@...ux.vnet.ibm.com> > Signed-off-by: Li Zefan <lizf@...fujitsu.com> Good catch, thanks. Acked-by: Paul Menage <menage@...gle.com> > --- > kernel/cgroup.c | 7 +++++-- > 1 files changed, 5 insertions(+), 2 deletions(-) > > diff --git a/kernel/cgroup.c b/kernel/cgroup.c > index 358e775..f6f5219 100644 > --- a/kernel/cgroup.c > +++ b/kernel/cgroup.c > @@ -2039,10 +2039,13 @@ int cgroupstats_build(struct cgroupstats *stats, struct dentry *dentry) > struct cgroup *cgrp; > struct cgroup_iter it; > struct task_struct *tsk; > + > /* > - * Validate dentry by checking the superblock operations > + * Validate dentry by checking the superblock operations, > + * and make sure it's a directory. > */ > - if (dentry->d_sb->s_op != &cgroup_ops) > + if (dentry->d_sb->s_op != &cgroup_ops || > + !S_ISDIR(dentry->d_inode->i_mode)) > goto err; > > ret = 0; > -- > 1.5.4.rc3 > -- 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