Re: [PATCH v3 2/9] fs/resctrl: Free mon_data structures on rdt_get_tree() failure

From: Ben Horgan

Date: Wed May 27 2026 - 11:24:03 EST


Hi Reinette,

On 5/22/26 20:15, Reinette Chatre wrote:
> From: Tony Luck <tony.luck@xxxxxxxxx>
>
> If mkdir_mondata_all() or a subsequent call in rdt_get_tree() fails, the
> mon_data structures allocated by mon_get_kn_priv() are leaked.
>
> Add mon_put_kn_priv() to the out_mongrp error path to free the mon_data
> structures.
>
> Fixes: 2a6566038544 ("x86/resctrl: Expand the width of domid by replacing mon_data_bits")
> Reported-by: Reinette Chatre <reinette.chatre@xxxxxxxxx>
> Signed-off-by: Tony Luck <tony.luck@xxxxxxxxx>
> Signed-off-by: Reinette Chatre <reinette.chatre@xxxxxxxxx>

Looks good to me.

Reviewed-by: Ben Horgan <ben.horgan@xxxxxxx>

> ---
> Changes since V2:
> - Reword changelog.
> ---
> fs/resctrl/rdtgroup.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/fs/resctrl/rdtgroup.c b/fs/resctrl/rdtgroup.c
> index 91922fe1ea08..f573db9e6e84 100644
> --- a/fs/resctrl/rdtgroup.c
> +++ b/fs/resctrl/rdtgroup.c
> @@ -3081,6 +3081,7 @@ static int rdt_get_tree(struct fs_context *fc)
> kernfs_remove(kn_mondata);
> out_mongrp:
> if (resctrl_arch_mon_capable()) {
> + mon_put_kn_priv();
> rdtgroup_unassign_cntrs(&rdtgroup_default);
> kernfs_remove(kn_mongrp);
> }