The last_cmd_status file is intended to report details about the most
recent resctrl filesystem operation, specifically to aid in diagnosing
failures.
However, when parsing io_alloc_cbm, if a user provides a domain ID that
does not exist in the resource, the operation fails with -EINVAL without
updating last_cmd_status. This results in inconsistent behaviour where
the system call returns an error, but last_cmd_status misleadingly reports
"ok", leaving the user unaware that the failure was caused by an invalid
domain ID.
Write an error message to last_cmd_status when the target domain ID cannot
be found.
Fixes: 28fa2cce7a83 ("fs/resctrl: Introduce interface to modify io_alloc capacity bitmasks")
Suggested-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: Aaron Tomlin <atomlin@atomlin.com>
---
fs/resctrl/ctrlmondata.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/fs/resctrl/ctrlmondata.c b/fs/resctrl/ctrlmondata.c
index cc4237c57cbe..2ef53161ce11 100644
--- a/fs/resctrl/ctrlmondata.c
+++ b/fs/resctrl/ctrlmondata.c
@@ -992,6 +992,7 @@ static int resctrl_io_alloc_parse_line(char *line, struct rdt_resource *r,
}
}
+ rdt_last_cmd_printf("Invalid domain %lu\n", dom_id);
return -EINVAL;
}
--
2.51.0
Hi Aaron,
On 3/24/26 5:11 PM, Aaron Tomlin wrote:
> The last_cmd_status file is intended to report details about the most
> recent resctrl filesystem operation, specifically to aid in diagnosing
> failures.
>
> However, when parsing io_alloc_cbm, if a user provides a domain ID that
> does not exist in the resource, the operation fails with -EINVAL without
> updating last_cmd_status. This results in inconsistent behaviour where
> the system call returns an error, but last_cmd_status misleadingly reports
> "ok", leaving the user unaware that the failure was caused by an invalid
> domain ID.
>
> Write an error message to last_cmd_status when the target domain ID cannot
> be found.
>
> Fixes: 28fa2cce7a83 ("fs/resctrl: Introduce interface to modify io_alloc capacity bitmasks")
> Suggested-by: Reinette Chatre <reinette.chatre@intel.com>
> Signed-off-by: Aaron Tomlin <atomlin@atomlin.com>
> ---
Thank you.
Reviewed-by: Reinette Chatre <reinette.chatre@intel.com>
Reinette
The following commit has been merged into the x86/cache branch of tip:
Commit-ID: d06b8e7c97c3290e61006e30b32beb9e715fab82
Gitweb: https://git.kernel.org/tip/d06b8e7c97c3290e61006e30b32beb9e715fab82
Author: Aaron Tomlin <atomlin@atomlin.com>
AuthorDate: Tue, 24 Mar 2026 20:11:58 -04:00
Committer: Borislav Petkov (AMD) <bp@alien8.de>
CommitterDate: Thu, 02 Apr 2026 00:11:35 +02:00
fs/resctrl: Report invalid domain ID when parsing io_alloc_cbm
The last_cmd_status file is intended to report details about the most recent
resctrl filesystem operation, specifically to aid in diagnosing failures.
However, when parsing io_alloc_cbm, if a user provides a domain ID that does
not exist in the resource, the operation fails with -EINVAL without updating
last_cmd_status. This results in inconsistent behaviour where the system call
returns an error, but last_cmd_status misleadingly reports "ok", leaving the
user unaware that the failure was caused by an invalid domain ID.
Write an error message to last_cmd_status when the target domain ID cannot
be found.
Fixes: 28fa2cce7a83 ("fs/resctrl: Introduce interface to modify io_alloc capacity bitmasks")
Suggested-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: Aaron Tomlin <atomlin@atomlin.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Reviewed-by: Reinette Chatre <reinette.chatre@intel.com>
Reviewed-by: Babu Moger <babu.moger@amd.com>
Tested-by: Babu Moger <babu.moger@amd.com>
Link: https://patch.msgid.link/20260325001159.447075-2-atomlin@atomlin.com
---
fs/resctrl/ctrlmondata.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/fs/resctrl/ctrlmondata.c b/fs/resctrl/ctrlmondata.c
index cc4237c..2ef5316 100644
--- a/fs/resctrl/ctrlmondata.c
+++ b/fs/resctrl/ctrlmondata.c
@@ -992,6 +992,7 @@ next:
}
}
+ rdt_last_cmd_printf("Invalid domain %lu\n", dom_id);
return -EINVAL;
}
© 2016 - 2026 Red Hat, Inc.