Hi Ilpo, On 3/22/2024 5:30 AM, Ilpo Järvinen wrote: > On Wed, 20 Mar 2024, Reinette Chatre wrote: >> On 3/11/2024 6:52 AM, Ilpo Järvinen wrote: >>> The struct resctrl_val_param has control and monitor groups as char >>> arrays but they are not supposed to be mutated within resctrl_val(). >>> >>> Convert the ctrlgrp and mongrp char array within resctrl_val_param to >>> plain const char pointers and adjust the strlen() based checks to >>> check NULL instead. >>> >>> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@xxxxxxxxxxxxxxx> >>> --- >>> tools/testing/selftests/resctrl/resctrl.h | 4 ++-- >>> tools/testing/selftests/resctrl/resctrlfs.c | 8 ++++---- >>> 2 files changed, 6 insertions(+), 6 deletions(-) >>> >>> diff --git a/tools/testing/selftests/resctrl/resctrl.h b/tools/testing/selftests/resctrl/resctrl.h >>> index 52769b075233..54e5bce4c698 100644 >>> --- a/tools/testing/selftests/resctrl/resctrl.h >>> +++ b/tools/testing/selftests/resctrl/resctrl.h >>> @@ -89,8 +89,8 @@ struct resctrl_test { >>> */ >>> struct resctrl_val_param { >>> char *resctrl_val; >>> - char ctrlgrp[64]; >>> - char mongrp[64]; >>> + const char *ctrlgrp; >>> + const char *mongrp; >>> char filename[64]; >>> unsigned long mask; >>> int num_of_runs; >>> diff --git a/tools/testing/selftests/resctrl/resctrlfs.c b/tools/testing/selftests/resctrl/resctrlfs.c >>> index 79cf1c593106..dbe0cc6d74fa 100644 >>> --- a/tools/testing/selftests/resctrl/resctrlfs.c >>> +++ b/tools/testing/selftests/resctrl/resctrlfs.c >>> @@ -469,7 +469,7 @@ static int create_grp(const char *grp_name, char *grp, const char *parent_grp) >>> * length of grp_name == 0, it means, user wants to use root con_mon >>> * grp, so do nothing >>> */ >> >> Could you please confirm that the comments are still accurate? > > It's not, I missed it. > >>> - if (strlen(grp_name) == 0) >>> + if (!grp_name) >>> return 0; > > But now when looking into the surrounding code, to me it looks the correct > action here is to remove the comment and return -1 instead of 0. It makes > this just an internal sanity check that grp_name is provided by the > caller. > hmmm ... this should not be an error because the caller is not required to provide grp_name. Not providing grp_name has a specific meaning of this operating on the CON_MON group and a failure would break flows operating on the CON_MON group. Reinette