|
@@ -1289,10 +1289,16 @@ static struct dentry *rdt_mount(struct file_system_type *fs_type,
|
|
|
rdtgroup_default.mon.mon_data_kn = kn_mondata;
|
|
|
}
|
|
|
|
|
|
+ ret = rdt_pseudo_lock_init();
|
|
|
+ if (ret) {
|
|
|
+ dentry = ERR_PTR(ret);
|
|
|
+ goto out_mondata;
|
|
|
+ }
|
|
|
+
|
|
|
dentry = kernfs_mount(fs_type, flags, rdt_root,
|
|
|
RDTGROUP_SUPER_MAGIC, NULL);
|
|
|
if (IS_ERR(dentry))
|
|
|
- goto out_mondata;
|
|
|
+ goto out_psl;
|
|
|
|
|
|
if (rdt_alloc_capable)
|
|
|
static_branch_enable_cpuslocked(&rdt_alloc_enable_key);
|
|
@@ -1310,6 +1316,8 @@ static struct dentry *rdt_mount(struct file_system_type *fs_type,
|
|
|
|
|
|
goto out;
|
|
|
|
|
|
+out_psl:
|
|
|
+ rdt_pseudo_lock_release();
|
|
|
out_mondata:
|
|
|
if (rdt_mon_capable)
|
|
|
kernfs_remove(kn_mondata);
|