浏览代码

apparmor: Fix error cod in __aa_fs_profile_mkdir()

We can either return PTR_ERR(NULL) or a PTR_ERR(a valid pointer) here.
Returning NULL is probably not good, but since this happens at boot
then we are probably already toasted if we were to hit this bug in real
life.  In other words, it seems like a very low severity bug to me.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: John Johansen <john.johansen@canonical.com>
Dan Carpenter 8 年之前
父节点
当前提交
ffac1de6cf
共有 1 个文件被更改,包括 4 次插入2 次删除
  1. 4 2
      security/apparmor/apparmorfs.c

+ 4 - 2
security/apparmor/apparmorfs.c

@@ -727,8 +727,10 @@ int __aa_fs_profile_mkdir(struct aa_profile *profile, struct dentry *parent)
 		id_len = snprintf(NULL, 0, ".%ld", profile->ns->uniq_id);
 		id_len = snprintf(NULL, 0, ".%ld", profile->ns->uniq_id);
 
 
 		profile->dirname = kmalloc(len + id_len + 1, GFP_KERNEL);
 		profile->dirname = kmalloc(len + id_len + 1, GFP_KERNEL);
-		if (!profile->dirname)
-			goto fail;
+		if (!profile->dirname) {
+			error = -ENOMEM;
+			goto fail2;
+		}
 
 
 		mangle_name(profile->base.name, profile->dirname);
 		mangle_name(profile->base.name, profile->dirname);
 		sprintf(profile->dirname + len, ".%ld", profile->ns->uniq_id++);
 		sprintf(profile->dirname + len, ".%ld", profile->ns->uniq_id++);