On Fri, 22 Mar 2024, Reinette Chatre wrote: > 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. write_bm_pid_to_resctrl() checks for non-NULL mongrp before it calls into create_grp() so with current code, I don't think it changes anything. And param->ctrlgrp is always non-NULL too so I don't think the return ever triggers with the current codebase. However, I was more talking from API point of view. It feels more natural for "create group" function to return error if the caller is inconsistent with itself by asking to create a group but doesn't want to create a group. -- i.