From 53b384ab72979af405bf67d698e0eef5fa2313f2 Mon Sep 17 00:00:00 2001 From: James Morris Date: Wed, 22 Mar 2006 00:09:17 -0800 Subject: [PATCH] --- yaml --- r: 22511 b: refs/heads/master c: 161ce45a8a34ba81673f60c603e6fc6d37d99c8f h: refs/heads/master i: 22509: 5a0b9dcb9c8c331d77ea1bfb0d86b24023493433 22507: d4cc6fd33b1714b17e6e3c94ab24eee5aab528b0 22503: 25f6ce296dba458d20b98d680d6aa66f387b3af0 22495: b4b9df5ce44398fa4e663e0b9fa2d4099e0d7b51 v: v3 --- [refs] | 2 +- trunk/security/selinux/selinuxfs.c | 41 +++++++++++++++++------------- 2 files changed, 25 insertions(+), 18 deletions(-) diff --git a/[refs] b/[refs] index 4462c80b1f7c..ac1474bf4275 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: cde174a885821b5eee7e00c8a9a426c9c8186a29 +refs/heads/master: 161ce45a8a34ba81673f60c603e6fc6d37d99c8f diff --git a/trunk/security/selinux/selinuxfs.c b/trunk/security/selinux/selinuxfs.c index f898080b9493..1bfb40701b5a 100644 --- a/trunk/security/selinux/selinuxfs.c +++ b/trunk/security/selinux/selinuxfs.c @@ -1213,28 +1213,34 @@ static int sel_fill_super(struct super_block * sb, void * data, int silent) }; ret = simple_fill_super(sb, SELINUX_MAGIC, selinux_files); if (ret) - return ret; + goto err; dentry = d_alloc_name(sb->s_root, BOOL_DIR_NAME); - if (!dentry) - return -ENOMEM; + if (!dentry) { + ret = -ENOMEM; + goto err; + } ret = sel_make_dir(sb, dentry); if (ret) - return ret; + goto err; bool_dir = dentry; ret = sel_make_bools(); if (ret) - goto out; + goto err; dentry = d_alloc_name(sb->s_root, NULL_FILE_NAME); - if (!dentry) - return -ENOMEM; + if (!dentry) { + ret = -ENOMEM; + goto err; + } inode = sel_make_inode(sb, S_IFCHR | S_IRUGO | S_IWUGO); - if (!inode) - goto out; + if (!inode) { + ret = -ENOMEM; + goto err; + } isec = (struct inode_security_struct*)inode->i_security; isec->sid = SECINITSID_DEVNULL; isec->sclass = SECCLASS_CHR_FILE; @@ -1245,22 +1251,23 @@ static int sel_fill_super(struct super_block * sb, void * data, int silent) selinux_null = dentry; dentry = d_alloc_name(sb->s_root, "avc"); - if (!dentry) - return -ENOMEM; + if (!dentry) { + ret = -ENOMEM; + goto err; + } ret = sel_make_dir(sb, dentry); if (ret) - goto out; + goto err; ret = sel_make_avc_files(dentry); if (ret) - goto out; - - return 0; + goto err; out: - dput(dentry); + return ret; +err: printk(KERN_ERR "%s: failed while creating inodes\n", __FUNCTION__); - return -ENOMEM; + goto out; } static struct super_block *sel_get_sb(struct file_system_type *fs_type,