Re: [PATCH v2 11/13] selftests/resctrl: Convert ctrlgrp & mongrp to pointers

From: Reinette Chatre
Date: Fri Mar 22 2024 - 13:45:00 EST


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