Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756572AbYGVWNq (ORCPT ); Tue, 22 Jul 2008 18:13:46 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1754113AbYGVWNV (ORCPT ); Tue, 22 Jul 2008 18:13:21 -0400 Received: from fxip-0047f.externet.hu ([88.209.222.127]:59078 "EHLO pomaz-ex.szeredi.hu" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753962AbYGVWNV (ORCPT ); Tue, 22 Jul 2008 18:13:21 -0400 Message-Id: <20080722221317.644649808@szeredi.hu> References: <20080722221259.866628660@szeredi.hu> User-Agent: quilt/0.45-1 Date: Wed, 23 Jul 2008 00:13:00 +0200 From: Miklos Szeredi To: viro@ZenIV.linux.org.uk Cc: linux-kernel@vger.kernel.org, Paul Menage Subject: [patch 01/14] cgroup: dont call vfs_mkdir Content-Disposition: inline; filename=cgroup-dont-call-vfs_mkdir.patch Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1806 Lines: 56 From: Miklos Szeredi cgroup_clone() calls vfs_mkdir() to create a directory in the cgroup filesystem. Replace with explicit call to cgroup_mkdir() and fsnotify_mkdir(). This is equivalent, except that the following functions are not called before cgroup_mkdir(): - may_create() - security_inode_mkdir() - DQUOT_INIT() Permission to clone the cgroup has already been checked in copy_namespaces() (requiring CAP_SYS_ADMIN). Additional file system related capability checks are inappropriate and confusing. The quota check is unnecessary, as quotas don't make any sense for this filesystem. Signed-off-by: Miklos Szeredi CC: Paul Menage --- kernel/cgroup.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) Index: linux-2.6/kernel/cgroup.c =================================================================== --- linux-2.6.orig/kernel/cgroup.c 2008-07-23 00:10:13.000000000 +0200 +++ linux-2.6/kernel/cgroup.c 2008-07-23 00:10:20.000000000 +0200 @@ -25,6 +25,7 @@ #include #include #include +#include #include #include #include @@ -2928,7 +2929,9 @@ int cgroup_clone(struct task_struct *tsk } /* Create the cgroup directory, which also creates the cgroup */ - ret = vfs_mkdir(inode, dentry, S_IFDIR | 0755); + ret = cgroup_mkdir(inode, dentry, S_IFDIR); + if (!ret) + fsnotify_mkdir(inode, dentry); child = __d_cgrp(dentry); dput(dentry); if (ret) { -- -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/