x86/intel_rdt: Propagate error in rdt_mount() properly
authorShaohua Li <shli@fb.com>
Thu, 3 Nov 2016 21:09:05 +0000 (14:09 -0700)
committerThomas Gleixner <tglx@linutronix.de>
Mon, 7 Nov 2016 11:20:52 +0000 (12:20 +0100)
gcc complains:
"warning: ‘dentry’ may be used uninitialized in this function"

The error exit path in rdt_mount(), which deals with a failure in
rdtgroup_create_info_dir(), does not set the error code in dentry and
returns the uninitialized dentry value.

Add the missing error propagation.

[tglx: Massaged changelog ]
Fixes: 4e978d06dedb ("x86/intel_rdt: Add "info" files to resctrl file system")
Signed-off-by: Shaohua Li <shli@fb.com>
Cc: fenghua.yu@intel.com
Cc: tony.luck@intel.com
Link: http://lkml.kernel.org/r/a56a556f6768dc12cadbf97f49e000189056f90e.1478207143.git.shli@fb.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
arch/x86/kernel/cpu/intel_rdt_rdtgroup.c

index a90ad22..e66c7a5 100644 (file)
@@ -691,8 +691,10 @@ static struct dentry *rdt_mount(struct file_system_type *fs_type,
        closid_init();
 
        ret = rdtgroup_create_info_dir(rdtgroup_default.kn);
-       if (ret)
+       if (ret) {
+               dentry = ERR_PTR(ret);
                goto out_cdp;
+       }
 
        dentry = kernfs_mount(fs_type, flags, rdt_root,
                              RDTGROUP_SUPER_MAGIC, NULL);